A Preview of Microsoft Flow: the Pro's and Con's

1. What’s Flow?

Microsoft Flow is a new product that allows the creating of cross application action-reaction scenarios which was announced at the keynote of the Future of SharePoint. Flow allows you to define what should happen if a certain event occurs, also known as the “IF This, Then That” (IFTTT) [1] model. It is currently in preview and at https://flow.micosoft.com you can sign up and get started on creating your own flows.

The whole premise is that you pinpoint the events that are important for you and decide what should happen if such an event occurs. To name just an example: let’s imagine that you are a project manager for a top priority project and you want to keep a close ear to what people say about this project. You could create a Flow that keeps track of Yammer and creates an entry every time someone mentions your project on Yammer. With Flow this is possible.

2. So the new Workflows basically?

Officially Microsoft has not yet stated whether or not Flow is going to replace SharePoint Designer workflows. But as we all know, SharePoint Designer 2013 (because SharePoint Designer 2016 was an exact copy of SharePoint Designer 2013) was the last release of SharePoint Designer we can expect from Microsoft and with that we will say goodbye to workflows as well. This makes Flow the prime candidate to replace SharePoint Designer workflows. What I did find in the communication is that the product team will focus on “…adding ways to leverage your existing SharePoint workflows in Microsoft Flow.”[2]

I personally am a big fan of SharePoint Designer workflows, so when getting my hands on the Microsoft Flow Preview I could not help comparing it with the possibilities that SharePoint Designer workflows bring me.

3. What are the Pro’s

Flow should not be simply seen as a newer version of workflows, because it is a whole other platform and approach to support “if this, then that” (IFTTT) [3] logic. So what makes Flow great?

3.1 Cross site workflows

SharePoint Designer workflows only operate within the borders of a site. So all lists and libraries that are involved in your logic process need to be in 1 site. With Flow it does not matter where your items are stored on SharePoint. It can trigger the creation of an Announcement of the Management Team site because a deal was completed in the prospects list of the sales department site. It even does not matter if these site reside in the same site collection or the same tenant.

Flow1
Flow1

3.2 Cross application workflows

The cross platform approach of Flow even goes way beyond the borders of SharePoint by allowing you to tap into all sorts of different applications. If we go back to our previous example of the project manager keeping his ears open to the conversations on Yammer, we could expand that scenario by including other social platforms like Twitter and Facebook. So whenever the project is mentioned on either Yammer, Twitter or Facebook we record an entry in a SharePoint list. Or maybe we do not want to use a SharePoint list, but log everything in an excel file so that we can crunch the numbers later and do some slicing and dicing analysis on the mood around this very important project.

With Flow all the above mentioned application can be linked to each other and used for your IFTTT scenarios. Below you find an overview of applications that are currently included in my preview version of Microsoft Flow.

Flow2
Flow2

3.3 Recurrence

Everybody who has experience with SharePoint Designer workflows will have had a firsthand taste of how difficult it is to add recurrence to your workflow. Starting a workflow on a certain date or time required making use of retention policies and making a workflow recur every hour, week or month meant pulling out a whole bag of tricks. But not anymore with Flow, because you get recurrence out of the box which allows you to run your Flow every day, hour, minute or even second!

Thinking of our example case. We could add a recurrent step that sends out the mood analysis about the project every week.

FLow3
FLow3

3.4 User Profile Lookup

Flow allows you to lookup a User Profile as one of the action. This can be your own profile, a specific user profile or the profile of a user based on a search. Even getting the profile of someone’s manager is no problem, which is a real help in approval flows.

With looking up the profile, you also get access to the field that are in the profile. And since you can add fields to the Office 365 profile of your users which make sense for your organization, this means that you can use those organization specific profile fields in your Flow. Thinking back to our example, we could lookup certain details about the people that mention the project, for example the department they work for or the country they are based in. This could increase our insight in which parts of the organization the project is on the agenda.

Flow4
Flow4

3.5 Templates

Where SharePoint Designer Workflows came with a set of predefined templates that you could use straight out of the box, Flow goes the distance when you consider the amount of templates that are offered[4]. Also, the set of templates is growing every day, because you can choose to share your self-created flow with the community.

4. What are the Con’s?

As said, Flow is in premium state and thus still being worked on. Therefore, it is expected to have some bits and pieces missing. So what are the things that are not so great about Flow?

4.1 Everything is personal

One of the first things that I noticed is that, because Flow spans its logic across many applications, I was entering a lot of usernames and password to prove that I had the correct credentials for all these applications. Whenever you enter credentials, a connection is added to your Flow account in order to allows you to run the steps in your Flow that access that particular application. And you can manage these connections your personal connections overview.

Flow6
Flow6

This however begs the very important question: Is every Flow and impersonation workflow? And while I could not find a definite answer in the documentation [5], I cannot see any other conclusion than that a Flow you create only works based on the connections you have defined. This means when you build a Flow that start when an item is modified in a certain list, that anyone who has the permission to modify items in that list can trigger the Flow to start and will make use of your connections to go through all the defined steps. So any item that is modified, any item that is created, any email that is sent is sent using your credentials.

This is a very big deal and requires serious thought before activating a Flow and letting it run on a library or list. As highlighted in the introduction of this blog, Flow helps you to organize around the events that matter to your work, which makes it very personal.

4.2 Start other flows

It is not possible to start a second Flow as an action of your primary Flow. While this option brought much happiness for the users of SharePoint Designer 2013 workflows, it is not included in the set of actions in Flow. Which is a pain, because this will again lead to the situation that every single variation and exception within your logic process has to be included in the same Flow. This makes building and maintaining Flows unnecessarily complex.

4.3 Reorder steps

I almost could not believe it, but I cannot rearrange the steps when building the flow. When you start building you have a first step and a plus sign beneath it. But after adding three or four steps I could not squeeze another in between the ones I already had. This would mean that each time you want to go back and add a step in between others, you would have to delete everything first, add it, and then create the deleted steps again. I dare to say that this is not just user unfriendly, it is just ridicules.

4.4 And/Or conditions

In Flow you still rely on Conditions and Actions to create your Flow. But the options you have with formulating your conditions are greatly reduced compared to what you are used to in SharePoint Designer, where putting multiple conditions together immediately results in a AND or OR logic. In Flow this is not that easy. If you put two conditions beneath each other you have to define actions in between, so no possibility to define a OR scenario. And the AND scenarios are only possible by putting a whole series of conditions beneath each other and leaving out an action for the “If yes” path.

Flow7
Flow7

For conditions you do have the option to move into advanced mode within Flow, but that requires you to learn the new type of syntax building to create your AND or OR condition. Oh, and when you choose to go into advanced mode, there is no turning back to the “not advanced mode”. Very user unfriendly to say the least.

Flow8
Flow8

5. The verdict

Microsoft Flow really is one of the game changing components of the Future of SharePoint announcement. While it is very tempting to compare it to SharePoint Designers workflows, it actually requires a whole different approach because of the cross platform possibilities, deep integration with office products and personalization.

The product on the one hand shows great potential but on the other hand still shows clear signs that it is merely in Preview. If I had to make up the score right now, I would already conclude that the good outweighs the bad, so I am very eager to see what will be added to Flow in the future.

I will definitely keep a close eye on the roadmap to see what is coming and advise everybody to do the same, because for me, Flow is absolutely part of the Future!

This blog post is part of the series Future of SharePoint. More on this topic can be found at http://rapidcircle.com.au/tag/FutureOfSharePoint/

Sources:

  1. IFTTT
  2. Flow Microsoft
  3. IFTTT
  4. Flow Microsoft Templates
  5. Flow Microsoft Documentation