Migrate from SharePoint Designer to Power Automate

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.

Often you might 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.

Once again 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.

The Modified field would be available as a variable if you use a trigger based on an item change.

Modified in a specific date span
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.

The Title field would be available as dynamic content if you use SharePoint based triggers

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 See assign  task
Extract Substring from End of String Logic Apps and Flow have a substring expression available that can handle all of the substring actions like in SharePoint Designer:

Extract Substring from Index of String Flow and Logic Apps have a function 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 Microsoft Flow have a substring expression vailable that can handle all of the substring actions in SharePoint Designer:

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

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.

Share
Pieter Veenstra

Business Applications and Office Apps & Services Microsoft MVP working as a Microsoft Productivity Principal Consultant at HybrIT Services. You can contact me using contact@veenstra.me.uk.

View Comments

Recent Posts

Filter Query in SharePoint Get Items in Power Automate

Have you tried the experimental version of Filter query in the SharePoint Get Items action…

2 days ago

3 Ways to add a column to an array in Power Automate

When you have an array in Power Automate and you would like to add a…

6 days ago

Patch any field type in a SharePoint list item using Power Apps

In Power Apps the Patch function is very important when you work with data. In…

1 week ago

Call flows from a model driven app

Wouldn't it be great if you could call flows from a model driven app? Well…

2 weeks ago

Variables or Compose? Consider neither in Power Automate

The question is Variables or Compose actions in Power Automate? Variables Sometimes you need a…

2 weeks ago

Your 1st lesson in Power Apps, in a few easy steps!

1st lessons can be so important when you want to get started with Power apps.…

4 weeks ago
%%footer%%