One of the tools that is part of most O365 subscriptions is Microsoft Flow. Since Microsoft’s marketing is labeling the service as a workflow automation system, the question arises whether it really has the potential to overtake the classic SharePoint workflows and by extension any third party solution that targeted advanced workflow needs (like Nintex, K2, AgilePoint, …)?
SharePoint workflows were targeted to automating document-centric business processes: approval of invoices, the publication process of a presentation, budget approvals, … Outof- the-box the automated process running in the background was able to do part of what a user could manually do in SharePoint and to some extend (although quite technical) the process could connect to external line of business systems to integrate them into the process. As a result of these limitations and because of the text based interface which seemed unnatural to design workflow processes, SharePoint workflows were often considered to be too complex and not user friendly.
Third party solutions
Most common third party solutions bridged the gap that existed: they offered a user friendly interface, a rich set of out-of-the-box actions and many integration points. Especially Nintex offered a good alternative to the SharePoint workflows at a relatively small cost: they used the workflow engine that was part of the SharePoint platform and extended it in such a way that it convinced many SharePoint users and became the main workflow tool for SharePoint. Other alternatives like AgilePoint and K2 targeted larger workflow workloads: more business centric (instead of document-centric), running on their own workflow engine which resulted in more integration points, the possibility to handle larger volumes and more control, but was in return a lot more expensive.
Where a re we now?
With the rise of the O365 cloud platform the world is no longer the same for various reasons:
- The technology behind the cloud platform is completely different. Third party tools can no longer modify the core of the platform and extend the out-of-the-box functionality. They are forced to define their own cloud service and loosely integrate it with the Office 365 platform.
This has some rather impactful implications for the third party vendors:
- Vendors like Nintex had to build a workflow engine since they could no longer rely on Microsoft’s implementation. They were forced to rebuild their tool from the ground. To this date, the capabilities of the Nintex platform in the cloud don’t match the on premises version.
- The integration into the SharePoint platform is not as rich as it used to be. Visualisations of the
workflow, reports integrated in the backend, forms build into the platform…all of this is no longer
possible and needs to be provided by the cloud service of the vendor. To this date this means that
the former capabilities don’t match with the new service.
- Microsoft is heavily investing in a powerful combination of tools that target personal automation for day-to-day tasks: PowerBI, PowerApps and Microsoft Flow. Since this paper is about workflow automation we’ll focus on the potential of Microsoft Flow. With this tool it is possible to create small automations that make your day-to-day life easier and help to be more productive. To get a grasp of the wide range of possibilities take a look at the templates that come with the product (https://flow.microsoft.com/en-us/templates/). You’ll be amazed by the versatility of the product and the list of use cases grows every day due to the contributions made by the community. Although third party vendors would like you to believe that it is only useful in personal productivity scenario’s we do however also see a lot of potential in a business context. The following illustration shows a business process that can easily be configured with the new power trio and shows that to some extend competition is a fact for many third party solutions!
The nitty gritty
A full overview of Microsoft Flow would bring us beyond the intended scope of this paper. Instead, we’ll give an overview of the strengths of the product.
Microsoft Flow integrates with a huge amount of cloud services (https://flow.microsoft.com/nl-nl/connectors/) and the list of possible integration points is expanding regularly. A workflow can be triggered by an event in one these services and specific actions can be performed by the workflow within the interconnected systems. Let’s illustrate this with an example: a new lead registration in Dynamics 365 may trigger a Microsoft Flow which in return posts a message on Yammer, initializes a new Office 365 group, plans new tasks in Microsoft Planner, updates your Mailchimp mailing list, … The list of possibilities is nearly endless. Microsoft Flow has the potential to become the glue between many interconnected services and automate a lot of manual actions. And that’s not even the full story: with the Microsoft Data Gateway (https://docs.microsoft.com/en-us/power-bi/service-gateway-onprem) you can even connect your local, on-prem data to your workflows. Integration has never been easier!
Microsoft is using the Minimal Viable Product approach to release many newer services to the O365 offering. With this approach Microsoft is able to check the potential with its customer base. Microsoft Flow entered Public Preview in April 2016 and up until October 2016 when General Availability had been announced up to 117.000 people in 61.000 organizations across 139 countries had used the service to automate their business processes. Since then approximately every two weeks new product updates have been a nnounced (https://flow.microsoft.com/en-us/blog/category/product-updates/). It is clear that further development of MS Flow is high on the priority list and one of the major domains Microsoft is heavily investing in. Although the product still need to catch up with third party workflow solutions, it is evolving quickly and steadily becoming more mature. If you need to build new workflows or convert older ones evaluating to build them on MS Flow might be your best future proof bet and the service comes with O365, so why not get the most out of your investment?
Expandable set of actions
The actions within Microsoft Flow are defined by Microsoft and although this list is already quite impressive many actions (and especially the SharePoint related ones) might be missing. However, when you require a specific function, it is possible to extend Flow in multiple ways. Azure provides cheap resources (for instance Azure Functions & Azure Webjobs) to implement your custom action and make them reusable to each of your Flows. Any investment in these technologies is worthwhile since you are in control and the cost is just a fraction of the licensing cost that comes with third party products that offer the same functionality. In many cases you might even find custom actions that suit your needs in the official store.
Part of a bigger set of automation tools
Microsoft Flow is just one of the automation tools that Microsoft provides. Microsoft Flow, Azure Logic Apps, Azure Functions & Azure Webjobs are all services that “glue” together disparate systems. They can all define input, actions, conditions, and output and each one of them on runs on a schedule or is triggered by an event. However, each service has unique advantages, and comparing them is not a question of “Which service is the best?” but one of “Which service is best suited for this situation?” Often, a combination of these services is the best way to rapidly build a scalable, full-featured integration solution.
Microsoft Flow and Azure Logic Apps are both configuration-first integration services. They make it easy to build processes and workflows and integrate with various SaaS and enterprise applications.
Flow empowers any office worker to perform simple integrations without going through developers or IT. On the other hand, Logic Apps can enable advanced integrations where enterprise-level DevOps and security practices are required. It is typical for a business workflow to grow in complexity over time. Accordingly, you can start with a flow at first, then convert it to a logic app as needed.
Azure Functions and Azure App Service WebJobs are both code-first integration services and designed for developers. They enable you to run a script or a piece of code in response to various events. Their capabilities are endless and they provide a means to setup your own set of functions to be used by any of your processes.
Microsoft Flow is an exiting new service in Office 365 that can be used to setup multiple automation scenarios. The speed with which the service is evolving is staggering and it quickly becomes the default solution for personal productivity and smaller business processes that benefit from automation. For more complex workflow requirements Logic Apps, Microsoft Azure Functions or WebJobs offer a valid solution removing the need for third party solutions:
- Simple business optimization, can be configured using Flow.
- If the integration scenario is too advanced for Flow, or DevOps capabilities are required, then use Logic Apps.
- If a step in your integration scenario requires highly custom transformation or specialized code, then write a function and trigger the function as an action in your logic app or flow.
You can call a logic app in a flow. You can also call a function in a logic app, and a logic app in a function. The integration between Flow, Logic Apps, and Functions continues to improve over time. You can build something in one service and use it in the other services. Therefore, any investment you make in these three technologies is worthwhile.