Grow up to Azure Logic Apps
Azure Logic Apps offers develops even richer capabilities than what’s included in Microsoft Flow. Starting this week, it is possible for Flow users to save any flow they have as a Logic App resource template. This template can be managed like any other Logic App resource -- and deployed through Visual Studio or directly in the Azure portal to a subscription of the user’s choice.
How to get your Flow definition
Converting a flow to an Azure Logic app starts by exporting the Logic App definition from the Microsoft Flow web portal. Navigate to the flow that you would like to convert and open the ... More menu. In this menu, there are two options:
- Export as Logic app template (.json)
- Export as Package (.zip)
For this feature, you will want to select the first menu item. Packages are used to export flows to move them along with other resources such as PowerApps and Common Data Service entities - you can read more about that here.
Once you select it, the Logic Apps template it will take a few seconds to download and you should have a .json file that you can store in source control.
Create Logic app(s) from the flow definition
The next step is to use this resource template to create the Logic app in the resource group of your choosing. There are several ways to deploy an Azure resource template: you can use Visual Studio, Powershell, or the Azure Portal. I will demonstrate this in the Azure Portal, but all methods work for these resource templates.
In the portal, select the green plus on the left side to add a resource, and search for Template deployment. When you select template deployment, you will be asked how you want to start, select Build your own:
Now you can select Load file in the command bar and choose the template you exported from the Flow portal earlier. Once you see the template content, select Save at the bottom of the screen.
The next step is to configure the input parameters for this resource template. You will need to select:
- What Azure subscription to use
- What Resource group to use
- The Location that the Logic app should be created in
- The Name of the Logic app resource
- Each of the connections that the Logic app requires
If this is the first Logic app you are creating, then all the connections will be created new. However, if you have previously created connections, you can reuse connections across multiple Logic apps by entering the names of existing connections under Settings.
Once you have finished all the settings, select Purchase. Within moments you will see the Logic app deployed to that new resource group. There is one more important step you need to complete before you are finished if you created any new connections: authorizing those connections.
Select the Logic app you just created and select Edit in the command bar. You will see a yellow error on each of the actions that require authorized connections:
Open each action and select the Invalid connection link. That will sign you in to each service with whatever credentials you provide.
Now you're all set. You can save the Logic app and enable it (all Logic apps deployed via flow start out disabled). Be sure to disable or delete the original flow if you want to avoid duplication.
The primary limitation for this feature is that not all connectors are available in Logic apps. For example, manually-triggered flows (with the Button trigger), cannot be exported to Logic apps. Additionally, the Approval and Notification connectors are specific to Microsoft Flow, so any Logic app that uses these connectors will fail.
Please let us know if you find this new feature useful and if you have feedback about how to make it better.