Every organization faces constant pressure to do more with less. While technology is often key to operating more effectively and efficiently, we need to ensure we choose the right tools for our business processes. Recently, Microsoft released an exciting extension to Office 365, known as Microsoft Flow. Microsoft Flow is a cloud-based application that automates workflows across your favorite web-based services. This includes Microsoft applications such as Dynamics 365, SharePoint, Office 35r, Teams, OneDrive, etc. It also includes third-party services like DropBox, Gmail, Twitter, Google Drive, and many more.
Microsoft is making it easier for every business to transform how people work. Microsoft Flow, a business management platform and workflow, is a significant factor of their success to modernize business processes across productivity.
A question that tends to arise for users is, “When should I use workflow and when should I use Microsoft Flow for automating processes?”
We have used these solutions to provide great value to our Microsoft Partners and clients. By automating our business processes, whether it be through Microsoft Flow or Workflows, we are opening up our time and resources for future business growth. Keep reading to find out the differences between the two solutions and what tool is right for the job.
What is Microsoft Flow?
Microsoft Flow is Microsoft’s cloud service that automates workflows across several web-based services.
Flow is about taking away the annoyance of the mundane, yet necessary tasks that a computer could be doing for you and allowing you to spend that time on other tasks. This could be as simple as sending a notification instead of an email or as complex as a multi-step workflow bringing in several elements and based on a Power BI analysis of real-time data.
Flow is included in most of the Dynamics 365 plans. This means when we are building workflows for our Dynamics instance, we will get this pop-up message.
Once we have decided to build a Flow and are using Dynamics 365 as our connector, we gain the option to choose between five triggers and a great deal of templates. The great thing about Microsoft Flow is that you can quickly adapt to suit your needs. Having little to no programming knowledge, I have found it very easy to modify and even create templates in Flow. It is also user-friendly for people of different skill levels.
Building a Workflow
Before creating a workflow, we must understand the three foundational elements of Microsoft Flow.
This is the first thing that must happen to trigger or start a workflow. It could be a new email in your inbox, a new item created in a list, a file added into SharePoint — something that will start the process of the workflow. Another thing to keep in mind is there is only one trigger per workflow.
To start the process of our workflow, we can either set an automatic trigger or a manual trigger.
An automatic trigger is pre-programmed based on a specific rule (i.e., receiving an email.) One great thing about this type of trigger is that it can start and pass through another application, such as PowerApps. At a certain point of the data collection when using a PowerApps app, this workflow is carrying data through an approval cycle. In this case, Microsoft Flow will automatically start the workflow processes from within PowerApps.
A manual trigger is a trigger that is initiated by the user. Unlike the automatic triggers, the workflow will not start based on a specific rule but will only begin through manual initiation. There are a few different ways to trigger a Flow manually, but one of my favorites is Button Flows. You can create these either from your mobile device or from the Flow Portal. Buttons are beneficial if you need to run repetitive, yet manually triggered tasks from any place at any time.
The Flow app provides the ability to create buttons on-the-go, customize templates, fully manage your existing Flows, check the activity of Flows, and more!
Actions are what happens in the result of a completed workflow. This is where we can create endless possibilities. By strategically adding actions into our Flows, we can streamline our current processes into seamless automation.
With actions, we can perform operations such as Create, Update, Delete, Assign, or Perform Action. We can also create custom actions to automate a series of commands in the system. This expands vocabulary for developers to expresses business processes.
A condition is essentially our “if-statement” in our workflows. If this happens — Scenario A will happen, if that happens — Scenario B will happen. An example of this would be the approval process. If this user marks “rejected,” then Flow will send an email with the rejection and if it is marked with “approval,” then Flow will send an email with the approval.
Are you looking to build even more powerful conditions in Microsoft Flow? The new advanced condition builder, released this year, makes it easier than ever to create complex conditions. Previously, we could write complex conditions using expressions, but now it’s possible with the Microsoft Flow designer’s simple point-and-click UI.
Have I mentioned that I love Microsoft Flow? Flow makes everything so simple and straight to the point for line-of-business users to streamline processes and automate daily tasks across many applications and services.
What is Microsoft Workflows?
Microsoft Workflows are an amazing tool that have been around for a long time. Within Dynamics 365 we can automate our tasks through simple or complex workflows, making an incredible difference to our organizational processes.
Workflows can be initiated manually, or automatically, in a number of different ways. We have the option to run workflows in the background and create a background (asynchronous) workflow. It will allow for wait conditions that are not available in real-time workflows.
What are the components of a Workflow?
A workflow in Microsoft Dynamics 365 consists of a series of steps and rules to achieve a goal. The following are the available steps in a workflow:
Stage: Used to split workflows into smaller sections
Check Condition: Made up by an “if” and “then” statement
Conditional Branch: Can only be created directly after a Check Condition. Functions as an Otherwise, If, Then statement
Default Action: Allows users to run a series of steps if Check Condition and Conditional Branch fails
Wait: Waits to run the workflow or the desired step until a condition is met
Parallel Wait Branch: A type of wait condition that runs parallel to the original workflow
Create Record: Creates a related entity or entity record in the selected entity
Update Record: Updates a specific record with the desired value
Assign Record: Allows us to assign an entity record to a user or team
Send E-mail: Use an email template or new email creation to send an email
Start Child Workflow: Perform a task outside of the original entity
Change Status: Change field status or selected entity record
Stop Workflow: Stops the workflow and sets status as canceled or completed
Workflows in Action
Business example: John’s Cars gets an average of 30 new accounts a month. They would like for their Sales Manager, Andrea to automatically be assigned to these accounts so she can divide them out.
How would we solve this problem with a simple workflow?
We would create an Account entity record, and then assign that account to a User. An email will be sent automatically to the user to notify them of their Account ownership. This email will contain a record URL that links directly to that Account.
1. The workflow will activate as a Process.
2. Workflow Scope is set to Organization. Workflow is set to run whenever a record is created in the Account entity.
3. Assign account to a specific end User.
4. Send E-mail with URL link to Account, via new e-mail creation.
5. Stop Workflow with a success status.
Dynamics CRM is a proven heavy lifting solution, and the User Interface for Workflow hasn’t changed much since CRM 3.0. We have used it for many years before Microsoft Flow was released. It offers a reasonably comprehensive set of conditions and can be triggered off numerous actions within CRM. By integrating Dynamic Workflows into our organization we have experienced many benefits. We get full process visibility, consistent processes, a centralized work list and much more.
Should I use Microsoft Flow or Microsoft Workflows?
The essential concept between Microsoft Flow and Microsoft Workflows are the same: both require a specific event to trigger the workflow. If all conditions are met, a particular action will take place. If the concept is the same, this now brings up the question, when should I use Flow versus the native capabilities of my CRM solution?
The simple answer is: Assume for a moment that Microsoft Flow didn’t exist. Can you do everything that you need to efficiently with CRM’s built-in workflow? If so, use Workflow. Otherwise, look to Microsoft Flow.
Even though we use Flow for the majority of our workflows, one thing to keep in mind is system performance. How quickly do you need this process to happen? What is the impact of workflows on Dynamics system performance? Be careful with long-running “wait” conditions. These long jobs carry overhead work performance and an associated risk. If instances are waiting for long periods, the definition of the job may change. However, legacy waiting instances will retain the old definition. Ask any CRM administrator that has been in the industry for a long time, and they will tell you stories about having to delete 1 million waiting workflow instances, 250 records at a time. For jobs like this, our best bet would be to schedule a recurring system job in Flow for increasingly better performance.
On the other hand, we also need to watch for performance within Microsoft Flow and make the best judgment of what solution to use. The more Flows we have hitting our Dynamics system, the bigger impact it may have on system performance. A Flow is similar to the performance footprint of a user executing the operation. If we have thousands of jobs hitting Dynamics simultaneously, there may be a potential system performance impact.
Something I mentioned earlier about Microsoft Flow, is that it allows users who lack advanced developer skills to create workflows easily. Even if we have the skills to do so, we still find ourselves using Microsoft Flow in most situations for higher efficiency, more capabilities, and easy customization!
Microsoft Flow and Microsoft Workflows provide a lot of value to us as a consulting company and to many of our Partners and customers. Automating our processes and mundane tasks allows us to manage our time more efficiently and focus on critical business projects. I personally have enjoyed making creative, efficient workflows with both solutions, but prefer to use Microsoft Flow. What do you use for your workflow creation? We’d love to hear about some of the Flows you have made. Let us know in the comments below.