Recently I’ve looked at many SharePoint Designer workflows and migrated them to Microsoft Flow or Azure Logic Apps. There isn’t really a set approach that will work for all but as a starting point you could consider going for a like for like migration. Each Condition, Action and Loop in your SharePoint Designer workflows  can quite quickly be replaced with the equivalent in Microsoft Flow. In this post I’m going through a full list of steps that you can migrate across.

Within Microsoft Flow or Azure Logic Apps ever flow or app will start with a trigger. Where SharePoint Designer is always triggered by either something happening to a list item, document or a moment in time, Microsoft Flow and Azure Logic Apps can be triggered by many other applications.

Once you have created your trigger you will be able to open the following menu:

This is where actions, conditions, loops, scopes and branches can be added. Most actions will have similar names in both SharePoint designer and Flow. But be careful! Migrating from SharePoint Designer to Flow is not a 1:1 migration.

With this post I’m hoping to make your life easier. If you prefer to get help then feel free to contact me.I’m always happy to help with your Flow migrations.

 

 

 

SharePoint Designer Microsoft Flow/Azure Logic Apps
Conditions
 If any value equals any value condition in SharePoint Designer makes it possible to compare any value with any value.

 The following Condition block is available from the Add a condition option. 

SharePoint Designer has a few extra operations available.

Is empty and is not empty, matches regular expression and equals (ignoring case) are still missing.

If you need to test for Empty you can use the function Null to compare with

 Created by a specific person  Via the Get-Items or Get-Item followed by an if conditions you could replicate this.

Alternatively it is likely that you would use the SharePoint item as a trigger of your flow. Therefore the Created field would be available as a variable.

 Created in a specific date span  Via the Get-Items followed by an if conditions you could replicate this.

Alternatively it is likely that you would use the SharePoint item as a trigger of your flow. Therefore the Created field would be available as a variable.

 Modified by a specific person  Via the Get-Items followed by an if conditions you could replicate this.

Alternatively it is likely that you would use the SharePoint item as a trigger of your flow. Therefore the Modified field would be available as a variable.

 Modified in a specific date span  Via the Get-Items followed by an if conditions you could replicate this.

Alternatively it is likely that you would use the SharePoint item as a trigger of your flow. Therefore the Modified field would be available as a variable.

 Person is a valid SharePoint User is typically used to check if an email address belongs to a SharePoint user. Within Flow or Logic Apps you could verify an account using the Azure AD Get User action followed by an if that does the checks.

 

 Title field contains keywords  Via the Get-Items or Get Item followed by an if conditions you could replicate this.

Alternatively it is likely that you would use the SharePoint item as a trigger of your flow. Therefore the Title field would be available as dynamic content.

Actions
 Start a list workflow  I have been looking for a Start a list Flow but that doesn’t exist. The only way to replicate the Start workflow functionality is either by calling a service or to update a SharePoint list item that then triggers another Flow.

If you are looking for starting a SharePoint Designer workflow then you could use the REST API as described in this post

 

 Start a site workflow  I have been looking for a Start a site Flow but that doesn’t exist. The only way to replicate the Start workflow functionality is either by calling a service or to update a SharePoint list item that then triggers another Flow.If you are looking for starting a SharePoint Designer workflow then you could use the REST API as described in this post
 Add a comment  Adding a comment can be done by selecting the add a comment within any action or condition:
 Add time to a date If you want to do calculations, within Flow or Logic apps you will need to use Expressions:

 Build Dictionary
 Call HTTP Web Service Within Azure Logic   you can create HTTP calls to webservices, however quite often you will find that a specific Connector already exists for the application that you try to integrate with. Therefore the need for a plain HTTP call might not be needed.

The HTTP – HTTP action might be the closest option the the CALL HTTP Web Service call in SharePoint Designer:

 Count Items in a Dictionary Within Microsoft Flow and Logic App the length Expression will return the number of items in an Array:

Do Calculation For basic calculations Microsoft flow has some expressions available:

Get an item from a Dictionary  Although the straightforward option may not be available, there are many query actions available in Microsoft Flow. Depending on the use this could be migrated.
Log to History List  Although there may not be an option to log a message to the history list of Flow. you could create history items in other application, for example SharePoint.
 Pause for Duration  A Pause can be implemented with an Do Until using the utcNow and addDays expressions:
 Pause until Date  A Pause can be implemented with an Do Until using the utcNow and addDays expressions:
 Send an Email Not just sending an email is easy in Flow. Sending approval emails (with pretty buttons) is a piece of cake. Simply select one of the actions and you will be sending emails in no time.

 Set Time portion of Date/Time Field With the time functions available it might be a challenge to get this done, but probably not impossible.

 Set Workflow Status  Not applicable. Unless you want to set a field in a SharePoint list item or a database record.
 Set Workflow Variable Variables are a bit different in Flow. Dynamic content will take a away the need for a lot of variable. As an alternative you can set properties with expressions:

Or you can of course always use the variable in Flow:

 Check in Item Check in and check out seems to be missing in the connectors with  SharePoint.
 Check out Item  Check in and check out seems to be missing in the connectors with  SharePoint.
 Copy document  The copy document options can be replaced by Copy file:
 Create List Item  The create item action is available within Flow and Log Apps:
 Delete Item  Once again the Delete Item has a direct match in Flow and Logic Apps:
 Discard Checkout Item  Check in and check out seems to be missing in the connectors with  SharePoint.
 Set Content Approval Status The Set Content approval status has a direct match in Flow and Logic Apps.

 Set Field in Current item  Items can be updated in 
 Translate Document  I must admit that I have never use the translation options in SharePoint Designer. The only translation options currently available in Flow and Logic Apps are in preview:
 Update List Item  Items can be updated in 
 Wait for Event in List Item  As with the Pause until actions, wait for a list event can be implement with a Do Until
 Wait for Field Change in Current Item   As with the Pause until actions, wait for a field change can be implement with a Do Until
 Assign a task  Implementing a task system can be done in multiple ways and there are too many option to consider for me to include them in this post.
 Start a task process  Implementing a task system can be done in multiple ways and there are too many option to consider for me to include them in this post.
 Extract Substring from End of String Logic Apps and Flow have an expression substring available that can handle all of the substring actions in SharePoint Designer:

 Extract Substring from Index of String Logic Apps and Flow have an expression substring available that can handle all of the substring actions in SharePoint Designer:

 Extract Substring from Start of String Logic Apps and Flow have an expression substring available that can handle all of the substring actions in SharePoint Designer:

  Extract Substring of String from Index with Length Logic Apps and Flow have an expression substring available that can handle all of the substring actions in SharePoint Designer:

 Find Interval between Dates
 Find Substring in String Logic Apps and Flow have an expression substring available that can handle all of the substring actions in SharePoint Designer:

 Replace Substring in String Logic Apps and Flow have an expression replace available that can handle all of the replace actions in SharePoint Designer:

 Trim String  

 

As you can see most of the SharePoint Designer actions are there in Microsoft Flow. It isn’t always easy to make the actions in Flow or Azure Logic Apps work the same way, but hopefully this post will help a bit.

Advertisements