# Friday, February 7, 2020

Microsoft Power Automate (formerly Microsoft Flow) is a tool that allows people to design and build workflows without writing code.

In a previous article, I showed you how to create a flow from a template. In this article, I will show how to test a flow after you create it.

If your flow is not already open in the designer, you can navigate to https://flow.microsoft.com and sign in; then select "My flows" from the left menu, as shown in Fig. 1

PAT01-SideMenu
Fig. 1

Select your flow to open it; then click the [Edit] button (Fig. 2) in the toolbar to open the flow in Edit mode.

PAT02-EditButton
Fig. 2

With the flow open, you can test this flow by clicking the [Test] button (Fig. 3) in the top right toolbar.

PAT03-TestButton
Fig. 3

A "Test Flow" dialog displays, as shown in Fig. 4.

PAT04-TestFlowDialog
Fig. 4

This dialog gives you the option to either perform the trigger action manually (in this case, sending an email with an attachment to the mailbox you specified). Use using data from a previous test run. If this is the first time you've tested this flow, only the first option is available. Select the "I'll perform the action trigger" radio button and click the [Test] button. After a few seconds, this starts the flow running in test mode. It won't be activated until you trigger it.

If you are using the flow created in the previous article, the trigger involved sending an email with one or more attachments to an email address. In any event, a message displays telling you how to trigger the flow, as shown in Fig. 5.

PAT05-TestMode
Fig. 5

After the flow is triggered, each step will display with a green check indicating success or a red "x" indicating failure for each action attempted, as shown in Fig. 6.

PAT06-FlowAfterTest
Fig. 6

You can expand any step to view the inputs, outputs, and any relevant messages of that step, as shown in Fig. 7.

PAT07-ExpandStep
Fig. 7

As you make changes to your flow, you can continue to test it with the same data from the original test, without having to run the trigger again. Do this from the "Test Flow" dialog

  1. Select the "I'll perform the action trigger" radio button
  2. Select the test run that includes the data you want to use.
  3. Click the [Test] button.

An example is shown in Fig. 8.

PAT08-TestFlowDialog
Fig. 8

Repeat this until the flow works the way you expect it.

In this article, you learned how to test a flow in Microsoft Power Automate.

Friday, February 7, 2020 9:03:00 AM (GMT Standard Time, UTC+00:00)
# Thursday, February 6, 2020

GCast 72:

Creating an Azure DevOps Build Pipeline

Learn how to automate a build and test process with an Azure DevOps Build pipeline.

Thursday, February 6, 2020 8:52:00 AM (GMT Standard Time, UTC+00:00)
# Wednesday, February 5, 2020

Microsoft Power Automate (formerly Microsoft Flow) is a tool that allows people to design and build workflows without writing code.

It ships with a workflow engine and a designer. The design work is done in the browser.

To make it easier to get started PA includes hundreds of templates - workflows to accomplish common tasks.

You can get started quickly by selecting one of these templates.

Navigate to flow.microsoft.com and sign in.

A workflow in Power Automate is known as a "flow". From the left side menu (Fig. 1), select "My flows".

PAT01-SideMenu
Fig. 1

This will list all flows that you have created so far. If you haven't yet created any, the list will be empty, as shown in Fig. 2.

PAT02-MyFlows
Fig. 2

To get started creating a new flow, click the [+New] button above this list. A dropdown menu displays, as shown in Fig. 3.

PAT03-NewFlow
Fig. 3

Select "Create from Template". A list of available templates displays, as shown in Fig. 4.

PAT04-TemplateList
Fig 4

You can use the "Search templates" box to search for a template by its name or description or you can click the [See More Templates] button (Fig. 5) at the bottom of the list to display another page of available templates.

PAT05-SeeMoreTemplates
Fig. 5

One simple template allows you to save email attachments to a OneDrive folder. To get started, click the [Save Outlook.com email attachments to your OneDrive] card, as shown in Fig. 6.

PAT06-SaveEmailToOneDrive
Fig. 6

A summary page for this template displays, as shown in Fig. 7.

PAT07-TemplateSummary
Fig. 7

Click the [Use this template] button. The connectors used by this template will display, as shown in Fig. 8.

PAT08-Connectors
Fig. 8

You will need to configure these 2 connectors to specify and authenticate against your specific email account and OneDrive account.

When, you have finished configuring these, click the [Continue] button.

A new flow is created based on this template. The Flow Designer for this flow displays, as shown in Fig. 9.

PAT09-FlowDesigner
Fig. 9

This workflow consists of 2 steps: One Trigger and one Action.

The Trigger ("On new email", in this case), specifies what must happen in order to run this flow. For this flow, it is the receipt of an email. The connector configured above specified the email account, but there are more options. For example, by default, we only look at messages in the Inbox, but we can check a different folder if we only want to consider emails routed to a specific Outlook folder.

Click the "Show advanced options" link to display advanced options (Fig. 10).

PAT10-AdvancedOptions
Fig. 10

Here, you can filter the trigger, so it is only activated by messages to and/or from certain parties or with a specific word or words in the subject.

Look at the first action in this flow with the title "Apply to each attachment on the email". (Fig. 11)

PAT11-Action
Fig. 11

Notice that it contains another action. This is a type of "Control" action, known as an "Apply to each control" and it works similarly to a LOOP or FOREACH construct in a programming language. It will exit all contained actions for every email attachment that the trigger finds.

The contained action is a "Create file" action. So, it will create a file in your Dropbox folder for every email attachment that arrives in your inbox. You have the option to modify the name and contents of the file created, but the default behavior is to use the name and contents of the attached file.

You can add more actions to this flow if you like. To add an action inside the control, click the [Add an action] button (Fig. 12) at the bottom of the control.

PAT12-AddAnActionButton
Fig 12

To add an action after the control, click the [New Step] button (Fig. 13) below the control.

PAT13-NewStepButton
Fig. 13

To add an action between actions or before all actions, hover your mouse over the arrow connector and click the [+] button (Fig. 14) that appears.

PAT14-PlusButton
Fig. 14

You can save the flow by clicking either the [Save] button at the bottom (Fig. 15) or in the top right toolbar (Fig. 16).

PAT15-SaveButton
Fig. 15

PAT16-SaveButton
Fig. 16

Now your flow is ready to test, which I will cover in the next article.

In this article, I showed how to create a new flow based on a template in Microsoft Power Automate.

Wednesday, February 5, 2020 8:10:00 AM (GMT Standard Time, UTC+00:00)
# Tuesday, February 4, 2020

A few months ago, Microsoft Flow was rebranded as Microsoft Power Automate.

Power Automate (PA) is a tool and platform for building workflows. It is specifically targeted at business users and business analysts. These foods are often referred to as "Citizen Developers". They understand the business logic to be encoded but lack the skill or desire to write custom code.  Because PA provides a graphical interface directly within the browser, these Citizen Developers can create many workflows without writing any code.

PA consists of the following key components
Flows

  • Connectors
  • Triggers
  • Actions
  • Templates
  • Solutions

Flows

A flow is a workflow created with Microsoft Power Automate. It consists of a set of steps, along with some logic to decide when and how often those steps are executed.

Connectors

Connectors provide a way for your flow to connect to external data sources and applications. They are wrappers to APIs to those external components. PA ships with hundreds of connectors, but you can also build your own, if the one you want is not available. 

Triggers

A trigger defines an event that kicks off a flow. This can be a document saved somewhere, an email message received, a database change, or any of a number of possible activities.

Actions

An action is a step for the flow to perform. You build your flow by chaining together different actions and the logic around their execution. Most actions use connectors to interact with external data or an external application.

Templates

A template is a predefined flow on which you can base a new flow. This makes it easy to create a flow to accomplish many common tasks, such as automatically saving an email attachment to a OneDrive folder or send an email when someone saves a file. More complex workflows also have templates. For example, there are several templates that support manager approval processes.

Solutions

A solution is a set of related flows that you can manage together. Use this to deploy multiple flows at the same time to the same environment.

Examples

The built-in connectors and templates make it possible to build flows for a variety of scenarios. Want to automate the process of approving expense reports? Done! Want to be notified when important data is updated? Done! Want to know the weather every morning? Done! You can start with a template or build a flow from scratch.

What if it’s not enough?

Some workflows may require more complex logic or lots of custom code. For these, Microsoft offers Azure Logic Apps – a more powerful workflow engine hosted in Azure.

Getting started

If you are an Office 365 or Dynamics 365 customer, you already have access to Power Automate.

If not, you can sign up for free at https://flow.microsoft.com

You can build flows with the free version; but there are limitations on the number of flows, the available connectors, and the frequency they can be invoked. You can move past these limitations this by signing up for a paid version.

Tuesday, February 4, 2020 9:46:00 AM (GMT Standard Time, UTC+00:00)
# Monday, February 3, 2020

Episode 596

Courtney Eaton and Gabrielle Sempf on KidzMash

KidzMash is a tech conference for children, run in parallel with the CodeMash conference.

Courtney Eaton and Gabrielle Sempf talk about what goes into KidzMash and what makes it successful.

https://www.codemash.org/kidzmash/

Monday, February 3, 2020 9:44:00 AM (GMT Standard Time, UTC+00:00)
# Sunday, February 2, 2020

2/2
Today I am grateful for a visit to the Henry Vilas Zoo in Madison, WI yesterday.

2/1
Today I am grateful for 2 years in my condo.

1/31
Today I am grateful for Coffee with Andy

1/30
Today I am grateful for those who offered to help me learn a new technology, without me even asking.

1/29
Today I am grateful to attend a Lunar New Year celebration yesterday.

1/28
Today I am grateful to reconnect with some old friends via email this past week.

1/27
Today I am grateful to watch the Grammy Awards last night

1/26
Today I am grateful to attend the Microsoft holiday party last night.

1/25
Today I am grateful for my first visit to Charlotte, NC.

1/24
Today I am grateful for dinner last night with Emiel after 15 years.

1/23
Today I am grateful for Carolina bbq last night in North Carolina.

1/22
Today I am grateful for dinner last night in Charlotte with Richard.

1/21
Today I am grateful for Inbox Zero.

1/20
Today I am grateful to get Emilija's car running again.

1/19
Today I am grateful to watch the harsh weather this week through my window from inside my warm living room.

1/18
Today I am grateful that the Michigan State basketball and ice hockey teams are both in first place.

1/17
Today I am grateful to attend an Andy Warhol exhibit at the Art Institute of Chicago last night with Julie.

1/16
Today I am grateful to watch Nick's team's first conference victory last night in Kalamazoo.

1/15
Today I am grateful for a new bike chain.

1/14
Today I am grateful for dinner last night with Julie and David.

1/13
Today I am grateful that I had a chance to know Scott Allen before he left us.

1/12
Today I am grateful for the blanket of white covering the city this morning.

1/11
Congratulations to the North Dakota State Bison on another title!

1/10
Today I am grateful for the hospitality and generosity of Chris Chris this week.

1/9
Today I am grateful for dinner with J. last night.

1/8
Today I am grateful for dinner last night with Kendall and Gary.

Jan 8, 2020, 8:34 AM
David Giard updated his status.

1/7
Today I am grateful to come to the Kalahari for the 12th consecutive January.

1/6
Today I am grateful for the NFL playoffs.

Sunday, February 2, 2020 12:56:53 PM (GMT Standard Time, UTC+00:00)
# Thursday, January 30, 2020

GCast 71:

Integrating Visual Studio Solution with Azure DevOps Repo

Learn how to configure your Visual Studio 2019 solution to integrate with an Azure DevOps repository.

ALM | Azure | DevOps | GCast | Screencast | Video | Visual Studio
Thursday, January 30, 2020 9:27:00 AM (GMT Standard Time, UTC+00:00)
# Monday, January 27, 2020

Episode 595

Tibi Covaci on Migrating to the Cloud

Tibi Covaci discusses strategies and factors companies need to consider when migrating their applications to the cloud.

Monday, January 27, 2020 8:02:00 AM (GMT Standard Time, UTC+00:00)
# Saturday, January 25, 2020

AHouseforMrBiswasMisfortune followed Mr. Biswas his entire life. He was born slightly handicapped and grew up weak in body and spirit. When he was a boy, his father accidentally drowned as a result of his negligence. He was sent to live first with a craftsman, then with an abusive uncle and each stay ended disastrously. As a young man, his flirtation with a local young lady is misinterpreted as a proposal and he is pressured by her family into marriage. From that moment on, he finds himself dependent on the wealthy Tulsi family - a dependence he comes to bitterly resent.

A House for Mr. Biswas by V.S. Naipaul takes place before and during World War II among the east Indian community of the West Indian island of Trinidad.

The house that Mr. Biswas craves is a symbol of his freedom and independence - evidence that he will no longer rely on others for shelter or status or anything else - and for the respect that will accompany that independence.

The reader wants to pity Mr. Biswas, but it is often hard because so much of his pain is self-inflicted. He alienates everyone around him with his rages and his pettiness. The book must have been painful for Naipaul to write, as the title character is based on his own father. At times, it was painful to read as I recalled the times in my own life when I acted against my own best interest out of anger or spite.

There isn't much action in this book and Naipaul removes suspense by revealing the ending in the prologue; but he makes it work for several reasons:

He builds characters that the reader can care for, even if they are not likeable.

His prose and dialogue are wonderful - sometimes tragic; often humorous.

He weaves together large themes, such as the changing cultures in a post-colonial world and the conflicts of toxic relationships.

A House for Mr. Biswas is an excellent story of a limited man struggling to free himself.

Saturday, January 25, 2020 12:59:02 PM (GMT Standard Time, UTC+00:00)
# Thursday, January 23, 2020

GCast 70:

Deleting an Azure DevOps Project

Deleting a project from an Azure DevOps organization is not intuitive (at least it wasn't for me). Here is how to do it.

Thursday, January 23, 2020 6:08:00 AM (GMT Standard Time, UTC+00:00)