{"id":111022,"date":"2019-11-18T09:14:00","date_gmt":"2019-11-18T17:14:00","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-automate\/october-updates-for-microsoft-flow\/"},"modified":"2019-11-18T09:14:00","modified_gmt":"2019-11-18T17:14:00","slug":"october-updates-for-microsoft-flow","status":"publish","type":"power-automate","link":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-automate\/october-updates-for-microsoft-flow\/","title":{"rendered":"October Updates for Microsoft Flow"},"content":{"rendered":"
At Ignite we announced the new Power Automate name<\/a> for Microsoft Flow — and the UI flows feature, bringing Robotic Process Automation (RPA)<\/a> into the platform. But that’s not all — there are several other updates in the month of October that we would like to share!<\/p>\n Today people are building processes in Power Automate that need dozens or hundreds of steps. However, if you try to put all of these actions into a single<\/em> flow, it can be difficult to navigate and maintain that flow. Instead, we recommend breaking apart your steps into different, smaller, flows, and calling back-and-forth between these flows. Each smaller flow can accomplish a single, discreet task, which is easier to read and identify a problem if something goes wrong. This approach is especially important where you want to reuse that task at multiple places in a flow, or even across multiple flows.<\/p>\n Previously we shared<\/a> how one flow could call another with the HTTP trigger and action. This is somewhat cumbersome because it requires copy-and-pasting the flow HTTP url. More problematically, with the introduction of\u00a0solutions<\/strong> for flows – the HTTP approach no longer works if you export and import, because when you copy a flow from one environment to another, it will still point at the flow HTTP url in the old environment – not the new environment.<\/p>\n In October, we introduced a new built-in action called\u00a0Run a Child Flow\u00a0<\/strong>which automatically handles these problems. To get started with this new action, first select\u00a0Solutions<\/strong> in the left navigation, and then pick an existing solution, or, create a new solution. Then, you will create (or edit) two flows:<\/p>\n Let’s look at an example where I have a child flow that I want to create or update a contact in the Common Data Service based on that contact’s name.<\/p>\n You’ll first need to create the child flow. Today there are three different triggers you can use for the child flow:<\/p>\n When you select the first trigger you can define inputs<\/em> that you want the child flow to receive from the parent flow. For example, if the child flow is going to be creating a contact, it will need the Contact<\/strong>\u00a0name <\/strong>and Contact<\/strong>\u00a0email<\/strong>. Select\u00a0Add an input<\/strong> and provide the details.<\/p>\n <\/p>\n Next, you’ll build the logic that you want to be inside of the child flow — as many steps as you need. After your steps, you need to return back data to the parent flow. In this case you can use one of two actions:<\/p>\n Just like on the trigger, you can define however many outputs you want to be returned from the child flow. In this example, we can respond with the ID of the contact.<\/p>\n <\/p>\n Give your flow a descriptive name and save it. You need to then test your child flow. Because you can manually trigger this flow, it’s very easy to test right inside of the flow designer – try it out with a couple different inputs, and verify that the outputs are what you expect.<\/p>\n Lastly, if your flow uses anything other than built-in actions or the Common Data Service (current environment) connector, you will need to update the flow to use the connections embedded<\/strong> in the flow. To do this, select the back button to get to the child flow’s properties page and then select\u00a0Edit<\/strong> in the\u00a0Run only users<\/strong> tile.<\/p>\n <\/p>\n In the pane that appears, for each connection used in the flow, you will need to select Use this connection (<connection name><\/em>)<\/strong> instead of Provided by run-only user<\/strong>.<\/p>\n <\/p>\n Then, you can select Save<\/strong>. At this time, you cannot pass connections from the parent flow to the child flow. If you do not do this you will receive the following error:\u00a0The workflow with id ‘<flow id>’, name <flow name> cannot be used as a child workflow because child workflows only support embedded connections.<\/em><\/p>\n Now you can build the parent flow – from the same solution, create a new flow (or, you can bring an existing flow into that solution). This flow can have any type of trigger you want.<\/p>\n Find the place in your flow you want to call the child flow and dd an action. You can find the\u00a0Run a Child Flow<\/strong> action under the\u00a0Flows<\/strong> connector on the\u00a0Built-in<\/strong> tab.<\/p>\n <\/p>\n Next, you need to pick the child flow that you created above. As a reminder, you will only see the flows you have access to that are in solutions and that have one of the three above triggers.<\/p>\n <\/p>\n After picking your child flow, you will see the\u00a0inputs<\/em> that you defined, and, after the child flow action, will be able to use any of the\u00a0outputs<\/em> from that child flow.<\/p>\n <\/p>\n When it runs, the parent flow will wait for the child flow to complete for the lifetime of the flow (1 year for flows that use built-ins and CDS or 30 days for all other flows).<\/p>\n Finally, you can save and test this flow. When you export the solution that contains these two flows, and import it into another environment, those new parent and child flows will be automatically linked – no need to update URLs.<\/p>\n You can now use your location as a trigger for a flow. This feature allows you to create a location range that will trigger a flow when a your mobile phone enters or leaves it. To get started, use the\u00a0When I enter or exit an area<\/strong> trigger and then enter the address you want to trigger the flow on.<\/p>\n <\/p>\n Zoom in, or out, to determine how close or far from the location the flow will be triggered. Be careful creating a zone that is too small — your device’s GPS may accidentally think you are entering or exiting the zone even if you are stationary, depending on the quality of the signal.<\/p>\n Once you save the flow in the portal, be sure to open the Power Automate app for iOS or Android, and leave it open for a few seconds. This is needed so the app can tell your device to trigger based on that location.<\/span><\/p>\n The OneDrive and SharePoint connectors continue to see improvements. In OneDrive (or OneDrive for Business), use the new\u00a0When a file is created (preview)<\/strong> action to choose whether or not to trigger the flow when something inside of a subfolder<\/em> in created. SharePoint added support to operate on Sensitivity labels in Get file metadata actions, and support for returning Approval Status and Comments in Get file metadata\/Get item actions.<\/p>\n On the Power BI connector there is a new action that can start\u00a0data refresh of a dataset in Power BI, perfect if your flow updates underlying data sources and you want your reports always to be up to date.<\/p>\n With the addition of the ability to work with repeating sections of content<\/a>, the Word Online (Business) connector is now generally available.<\/p>\n In the past few of months we have released twenty-eight<\/strong><\/em> new connectors, almost all submitted by partners through the connector certification program<\/a> (bringing the total to over 290):<\/p>\n Finally, there are a few other updates from the month of October:<\/p>\nCall Child Flows<\/h2>\n
\n
Building the Child Flow<\/h3>\n
\n
\n
Building the Parent Flow<\/h3>\n
Trigger flows based on your location<\/h2>\n
Twenty-eight new connectors and more connector improvements!<\/h2>\n
\n
\n
Other additional updates<\/h2>\n