Wednesday, February 22, 2017

Getting started with Microsoft Flow and Dynamics 365

Microsoft Flow is a cloud-based service that  helps non-developers work smarter by allowing them to automate workflows across applications and services such as Office 365, Dynamics 365 but also Salesforce, Slack,etc... It is comparable with other tools such as Zapier and IFTT. Flow is part of Microsoft’s Business Application Framework which also includes PowerApps and which can be characterized as a low code application platform (See New development platforms emerge for customer-facing applications - Forrester research and low-code development platforms: the answer to soaring business application needs on this interesting trend). Microsoft Flow is positioned within the Business Application Framework as a next-generation integration layer for the different Microsoft clouds (Azure, Office 365 and Dynamics 365)

Microsoft Flow provides building blocks for integrating with external services and systems both from Microsoft such as SharePoint, OneDrive for Business, SQL Server, Azure components (Blob storage, Queues) but also from external vendors such as Salesforce, GoToMeeting, Instagram, etc … – there are currently 90+ different services available and new services are added on a weekly basis. Some of these services are only available in a premium plan such as Salesforce, Common Data Service, Citrix Gotowebinar and Citrix Gotomeeting, etc … whereas other services are also available in the free version of Flow.

Microsoft Flow provides a visual design surface within a browser (but mobile clients are also available for iOS and Android) where power users can add multiple actions which interact with services/applications, triggers (events that start a flow), conditions (allow for branching), loops, and more … I strongly recommend you to browse through the documentation Get started with Microsoft Flow or use the Microsoft Flow – Guided learning to get started.

You can either build a flow from scratch or you can start from one of the templates –  each template flow is designed for a specific purpose and is ready to be used,  you just have to configure the template. It is however also possible to add additional processing logic within flows created based on these templates.  Microsoft Flow allows you to configure a number of interesting scenarios – you should definitely check out Dive into Microsoft Flow, create automated workflows between your favorite apps and services (Ignite 2016 recording) which shows you examples such as:
  • Auto archive e-mail attachments to a SharePoint document library
  • Sent follow up reminders when new leads are created in Dynamics 365
  • Send mobile notification when a service goes down
  • Collect social media mentions (e.g. twitter) of your company or its products
From a Dynamics 365 perspective there are currently 5 triggers and 16 actions available which allow to build quite advanced scenarios such as outlined in  Create smarter flows using Microsoft Cognitive Services LUIS but Flow can also help you with things which might seem simple or straightforward from a business perspective but which would require you to write code such as No code approach Delete attachments from corresponding SharePoint folder when a record is deleted in CRM using Microsoft Flows or Quick surveys using Microsoft Flow (the only limit is your imagination … )

An important thing to understand is that Microsoft flows always run with the connection details that you provided when configuring the flow. So flows will always have the same permissions as the credentials that you use to create e.g. when you create a connection to Dynamics 365 for Sales and use your own login and password, it is your credentials which are used to execute the actions against CRM Online. A flow can never have escalated permissions.

Microsoft Flow is powered by Azure Logic Apps – every flow is actually a Azure Logic App which runs in a subscription which is managed and maintained by Microsoft. So you can basically use the same APIs, functions and designer in Microsoft Flow as in Azure Logic Apps. Microsoft Flow however provides a more-business oriented user experience.  An interesting scenario is where you call Azure Logic Apps from Microsoft Flow or vice versa using HTTP cards, but also one Flow call another Flow as well as one Azure Logic App calling into another Azure logic App. I will look at some examples of  Azure Logic Apps in future blog posts. Both Flow and Azure Logic Apps often allow you to solve the same problem but they are targeted at a different audience and sometimes subtle differences will determine your choice as outlined in Considerations on using Microsoft Flow or Logic Apps to sync documents

Microsoft Flow is available in a number of different plans going from a free version with 750 runs per month up to a Flow Plan 2 with 15.000 runs. The paying version also allows access to a number of premium connectors such as Salesforce, Common Data Service, Citrix Gotowebinar and Citrix Gotomeeting, etc … For up to date pricing as well as the difference between the different versions check out

To conclude, some points of attention, Microsoft Flow is fairly new and the product still has its occasional hiccups – both within the design surface as well as in execution of flows. Another thing to remember is that while the number of Flow executions might seem quite large I would recommend to define specific governance around the usage of it since currently no flow usage across your company is not available (but on the roadmap)


No comments: