Flow for SharePoint Designer Workflow Developers
SharePoint Designer Workflows and Flow have much in common but are very different tools. Before you dive into learning the nuance's of creating Flows and the syntax for expressions, stop and take a deep breath. Let me offer some observations about how Flow and Designer workflows compare through the eyes of someone who has been creating Designer workflows for years.
Let's discuss Flow in general terms first. Flow is a workflow engine. Whereas SharePoint Designer can be used only to create SharePoint workflows, with Flow you can create workflows for SharePoint as well as about 200 other applications and services through connectors (with more connectors coming all the time). The ability to cross application boundaries is one of the key attractions for Flow. For example, you can create a Flow that watches your in box for email that meets certain criteria and copies data from the email to a SharePoint list including attachments. Or, you can monitor a Twitter feed and log certain tweets to a SharePoint list. We can also cross SharePoint site and site collection boundaries with Flow. The "take away" is this: Flow is not just a SharePoint tool.
Connections
A connection is the front door to any application or service. You need to configure a connection to SharePoint in order to access the available SharePoint triggers and actions. The author of the workflow must have an account with permissions to a SharePoint site. All actions taken in SharePoint are done with the credentials provided to the SharePoint connection and not in the context of the user who kicked off the workflow. This is very similar to an impersonation step in a SharePoint 2010 style workflow.
Even though you may be focusing on SharePoint, it is almost certain that you'll need connectors other than SharePoint. For example, if you want to send an email you'll likely be using the Office 365 Outlook connector. To find an individuals manager for an approval Flow, you'll want to use the Office 365 Users connector.
Triggers
Like Designer workflows, Flow uses a number of triggers to initiate a workflow. Currently, there are 9 triggers for SharePoint.
Take note of the following:
- There are triggers for when a file or item is deleted (I wish Designer workflows had that....)
- There are separate triggers for files (libraries) and items (lists)
Also, remember that a Flow started by another connector can include SharePoint actions. For example, a Flow that starts when a new email is created can include an action that creates or updates a SharePoint list item.
Actions
Actions in Flow are the same in concept as actions in Designer workflows. Actions are the "verb" - they do the work. Currently, there are 28 SharePoint actions (with more planned). Here is a screen shot of some of those actions:
Please note that there are actions that enable you to add, access and delete list item attachments. This functionality would have been welcome in Designer workflows.
Expressions
Expressions are a rich set of Excel-like formulas that allow you to manipulate data. With Designer workflows, we had to a limited set of string manipulation actions and a number of calculation actions. If you were ever frustrated by what you couldn't do with strings in Designer workflows, Flow Expressions will make you smile. In additional to string functions, additional function groups include date, math and conversion. Once again, this type of functionality would have been very welcome in Designer workflows.
Running Your Flows
If you have a Flow configured to run when a list item or file is created or changed, your Flow will run no matter who creates or modified the list item.
The "for a selected item" trigger allows a user to manually kick of a workflow for a selected item or file. This is very similar to running a manual Designer workflow. If you are using the "For a selected item trigger", you will need to "share" the workflow with those whom you want to run the workflow. You can share on a read-only basis, meaning that the user can run but not edit the Flow. Enhancements in this area are planned.
One Flow feature that you are sure to appreciate is that you can watch your Flow run in real time and view what happened inside of your Flow after it runs. In addition, if there is an error, you receive detailed information on where the error occurred as well as a specific error message. No more writing to the event log for a peek inside your Workflow for debug purposes.
Editing Your Flows
By default, only you can edit the Flows that you create. Should you want others to edit your Flow, you can add additional owners. Please note that your connection information is still tied to the Flow even though the Flow has been changed by others. The Flow will still run with your credentials even though changes were made by those with whom you shared the Flow. This is a very different concept than exists with Designer workflows.
FLOW Resources and Getting Started
The only way to learn Flow is to start creating Flows. Here are some resources to help get you started:
- Flow Tutorial and Guided Learning
- This should be your first stop. The Flow team has done a great job in putting together this series of tutorials
- @JonL has put together a list in learning resources in this blog post
- This blog is a big time saver - one stop shopping for learning resources to get you started
If you "have fallen and you can't get up", I strongly encourage you to post you questions on the Flow Community site. You'll tap into a global community of Flow enthusiasts who will jump in to help.
*This post is locked for comments