Microsoft Flow at Microsoft Build 2019: Announcements and Sessions
This year we have a number of exciting announcements alongside Microsoft Build 2019. We’re now making it easier than ever for Azure developers to connect to APIs they build in Azure. For developers using the Common Data Service, flows now support improved ALM that allows for automatic activation on import. There are even new templates available that work with the recently announced Azure Blockchain Service.
If you are attending Build in person in Seattle there are 20 sessions on the Power Platform. Some highlights include:
- BRK2032 – Intelligent process automation with Microsoft Flow
- BRK3091 – Embed low-code/no-code capabilities in your app with PowerApps and Flow
- BRK3092 – Building data connectors for the Microsoft Power Platform
- CFS2012 – Developing Business Applications via Microsoft Power Platform
And if you can’t attend, don’t worry, we will post the links to recordings of these sessions once they are available.
Easily create a custom connector in Microsoft Flow using your Azure resources
If you have a RESTful API hosted in Azure Functions or Azure Logic Apps, there is now a simple way you can import it to create a custom connector which can be used in Microsoft Flow and PowerApps.
All you need to do is navigate to the Custom Connectors page under Data on the sidebar. Click + New custom connector and select Create from Azure Service (Preview).
Next, give your connector a name, select your Azure subscription, choose the Azure service, then select your app.
When you click Continue, it will import your API into the custom connector portal where you can add additional details, create the connector, and test it.
Once created, you’ll see your new connector on the Custom Connectors page as well as in the Flow designer when using it in a flow.
Azure Function Setup
Azure Functions currently requires that your API meets certain conditions before it can be imported to Microsoft Flow. Please be sure you have built your app with these in mind if you plan to use it in Microsoft Flow or PowerApps:
- App runtime version must be ~1
- Generate the OpenAPI definition (Swagger)
- In Azure, you can either provide the URL that hosts your API or generate the definition based on the template provided in the Azure portal. If you choose to use Azure’s template, it will create a sparse definition with the metadata from your HTTP triggered functions. However, you’ll want to modify it and provide additional metadata about the API operations and data structures before using it.
- Also, Microsoft Flow does not yet support definitions with duplicate operation ids or slashes in the name.
- Enable Configure Cross-Origin Resource Sharing (CORS)
Still to come
We’re exploring other ways we can streamline the process to create custom connectors using your Azure resources. For example, when testing an API Key-based connection after importing the Swagger, we’re looking into automatically creating a test connection for you based on a key defined in your Azure Function App rather than requiring you to copy the API Key from the Azure portal and pasting it into the Flow portal.
There will also be improvements in the importing experience for custom connectors that use OAuth authentication. Finally, we plan to support more Azure services in the near future so keep an eye out!
Improved Application Lifecycle Management for flows using CDS
In November we released support for automated, scheduled and instant flows in Common Data Service solutions. Solutions allow you to author, package, and maintain groups of components, such as flows and CDS entities. You can distribute solutions allowing you (or others) to install and uninstall the business functionality defined by the solution across environments.
We are now releasing new functionality to improve the way that solutions work. In particular, certain flows using CDS can now be automatically activated on solution import to a new environment.
To build flows that can automatically be turned on, the flow must be built by first going to Solutions in the left navigation, choosing a solution and then adding the flow. When you build the flow, use the new Common Data Service (Current Environment) connector:
This connector is special in that it will always use the environment that the flow is deployed in, and can automatically pick up the user context of the owner of the flow. This means you don’t have to select which environment to connect to:
In this example, we can create a flow that will automatically add a Note to all related accounts when a parent account is changed:
Once you save the flow, you can export it as either a managed or unmanaged solution. Managed solutions, which are now fully supported by flow, are useful when you want to move a flow to a production environment – you can read more here about the difference between these solution types.
After exporting the solution, you can go to the destination environment and import the solution.
The flow in this solution will immediately begin listening to accounts being updated and creating notes. No additional configuration or activation is required.
Please note that this functionality will only work for flows that do not have connectivity to services besides the Common Data Service (Current Environment). This is because other services must be explicitly authorized by the connection owner after import. However, built-in actions that manipulate data or use the HTTP connector will work immediately upon import.
The new Common Data Service (Current Environment) capability is available for preview today and is rolling out globally in the coming week. There are a few known issues for flows that are built inside solutions:
- There is no way to access solution flows in the Flow mobile app
- Buttons inside solutions will not show up in the Buttons tab in the Flow mobile app, and certain fields from buttons cannot be used
- Custom connectors cannot currently be included in solutions
- If the set of columns or fields changes on a record, this may cause the flow to fail
- The Run history currently shows the raw JSON inputs and outputs for actions instead of the simple properties of each action
- Flows triggered from PowerApps are not currently supported
We are currently working on closing out the remaining issues with these flows.
Work with Blockchain and Microsoft Flow
Last week we announced the new Azure Blockchain Service, which simplifies the formation, management and governance of consortium blockchain networks, allowing businesses to focus on workflow logic and app development. Alongside this we have released a few templates that bring together the capabilities of smart contracts and flows:
As always, you can use these templates or build your own blockchain flows from scratch. Read more about the blockchain announcements here.