This article is contributed. See the original author and article here.
If you haven’t heard already, SharePoint 2010 Workflows will be completely deprecated in O365 by November 2020: SharePoint 2010 Workflow Retirement. This How-To will walk you through the process of Exporting and Importing your workflows from one tenant to another. If you find yourself in a situation where:
- You currently do not have an O365 Subscription but have a demo tenant or possibly a CVR tenant
- You will be migrating to O365 after or relatively close to the retirement date
- You have workflows that are important business process, and you cannot afford for them to down while you recreate them from scratch
Follow me through this How-To to give you ideas on how you can get a leg up on Workflow Migrations from SharePoint 2010 or SharePoint 2013 to O365.
*Currently this solution is available in GCC and GCC High tenants.
Initial SharePoint List
I am going to start by creating a simple list that keeps track of issues. This list will help us keep track of the SharePoint 2010 Workflow issue. I am not going to spend any time talking about the details of the list because it will take away from the article, however, if you would like to know more about how to create a list and what they are all about you can go here.
Let me set the stage to help you better understand how all this will work.
- Created a new list in Microsoft TEAMS
- I used the “Issue Tracker” template and called it “O365 Migration”
- I added a new item and assigned the “Issue” to myself
My “O365 Migration” list looks like this:
Create Data Connections
There is more than one way to get to Power Automate. For our purpose, we will navigate to Power Automate using the following URL which points to a GCC Tenant: Power Automate in GCC. For a commercial tenant you will want to navigate to: Power Automate Commercial
We need to navigate to Power Automate and login.
The first thing we need to do is connect to our data. Our data is the “O365 Migration” list in SharePoint Online (SPO). On the right-hand menu click on “Data” and then “Connections”. For this How-To, we are going to assume that you don’t have any connections created yet (if you do have a connection already created for your SPO then you can skip the following few steps:
- In the Ribbon click on “New connection”
- Select “SharePoint”
- “Connect directly (cloud services)”.
- Click on “Create”
- You will be asked to authenticate
- Your connection to SharePoint should now be listed
Creating A New Workflow
Once we have our data connection to SharePoint we need to click on “Create” on the left-hand menu and then on “Automated Flow”. This will bring up a pop-up window which will allow you to select the type of workflow you want to create. In our scenario, we want to send an email to the user(s) who gets assigned an issue, therefore, we will select “When an item is created or modified”.
Adding Workflow Steps
Your workflow canvas should consist of only one Step: “When an item is created or modified”. To configure this step, click on the pull-down arrow from the “Site Addresses” row. Because we created the data connection on a previous step, your site should be listed as an option. Select the List Name to complete configuring this step.
To complete our workflow, we need to be able to send an email to the user(s) who gets assigned the task. Click on the “New Step” button and filter by O365 to quickly find the “Send an email (V2)” step.
- Once the step is added, click on the “To” field (textbox) to display the “Dynamic Content” pane to the right. In the Dynamic Content options, search for “Assigned to Email” under the “When an item is created or modified” header. This field has the email of the user that we want to send the email to.
- Moving over to the “Subject” field, click on the textbox to display the “Dynamic Content” pane. Under the “When and item is created or modified” header select “Title” to display the title of the task as the “Subject” of the email.
- In the next few steps, you will follow the steps above to get the “Dynamic Content” pane to display. In the “Body” field select “Issue Description”.
- In the “From (Send as)” field select the “Issue logged by Email”. This will let the user know who assigned the task to them.
- Finally, the “Send as email (V2)” should look very similar to the image below:
This is the extent of our workflow. Like I said, nothing big, just a simple workflow to start testing our idea with. Now we need to make sure that our workflow follows Microsoft’s flow best practices by clicking on “Flow Checker” on the upper right hand corner of your window. If you are lucky, you will have the same results I did.
Now we get to test the workflow with actual data. Click on “Test” on the top right-hand corner of your screen to start testing your workflow. If this is your first time testing your workflow, the only option that will be available will be the first one: “I’ll perform the trigger action”. Once you have tested the flow at least once, the other option will be available to you.
Because we have to “trigger” the workflow ourselves we must navigate to TEAMS immediately after clicking on the “Test” button. In TEAMS we need to create a new list item. Make sure that you have assigned the task to a valid email and have entered a valid email to the assigned to field. Once you have created the new item, go back to your workflow, and see that it was successful.
The email that the user will receive should resemble the following:
On the left navigation pane, select “My flows”, then click on the workflow you just created. You should see something like the image below.
Click on “Export” on the top of the image, then “Package (zip)”.
In the “Export package” page fill out the “Name”, “Environment”, and the “Description” details under the “Page details” header.
In the “Review Package Content” section, pay close attention to “Import Setup”. We are going to be moving the workflow from one tenant to another, and therefore, we cannot “Upgrade” the workflow. To change this setting, click on the ‘Wrench” icon to the right or simply click on “Update”. When the window displays, select the “Create as new” option.
Another section we need to make sure we modify is the “Related resources” section. It is important to make sure that the setting for this feature is set to “Select during import” for all of the connections that your workflow is using. We are using two, a SharePoint connection, and an Office 365 connection to be able to send out the email. Both of our settings are set correctly.
Finally, once it all looks good and everything is filled in hit the “Export” button at the button to save the file locally. Make a note of the where the file, the package, gets saved to because we will need the file on the next steps.
We are almost done with this How-To. We now need to import our flow to our new tenant but before we do that, we need to make sure of a few things:
- We need to make sure that the list we are going to use the workflow with exist
- That the connections to SharePoint is available in our new tenant
- And finally, that the connection to O365 Outlook is available in our new tenant
For simplification, I have created the same type of list, Issue Tracker, using TEAMS, on a different tenant making sure the fields are the same and the name of the list is the same.
To verify that the Data Connections have been made, simply click on “Data” and then on “Connections” on the left side menu. If you see the following connections listed, you have nothing else to do. You can move on to the next step.
If those connections are not listed, you will have to create them. We walked through the steps above on how to create the connections here.
Upload Zip File
Navigate and login to your other tenant. On the left navigation pane, click on “My flows” and this time click on “Import” on the ribbon. Click on the blue “Upload” button and navigate to the location of the zip file that you exported in the previous step. Select the zip file, click on open. The “Upload” button will change to “Uploading” to indicate the file is being uploaded.
After the file gets imported your screen should look similar to this one:
The only changes we will have to modify here, and they are very important, are the two errors showing under “Related resources”. Those errors mean that the Data Connections that it is expecting to see don’t exist. We must tell the import process of the new Data Connections we have created.
Click on “Select during import” for the “SharePoint Connection” and select the connection that connects to SharePoint. Then click on “Select during import” to choose the Office 365 connection.
Finally, click on the “Import” button at the bottom of the screen. After the system finishes trying to import the workflow you will see an error:
The error is self-explanatory: one of the resources did not migrate. To fix this issue and complete the import simply click on “Save as a new flow”. Once it is done creating the import as a new workflow you will see the following screen:
This screen tells you one very important thing: Although the flow doesn’t work in its current state, it is, however, imported. The import did what we hoped it would do and that is to move an existing workflow from one tenant to another.
To fix the warnings that are displayed click on each step and point to the correct data connection.
The SharePoint data connection will have to be configured to point to the new SharePoint Site and List. Without this step, the flow will remain pointing to the old URL and not work as expected.
The only thing left to do is test, test, and test again.
I hope this was helpful for you. Please comment on this article if it is! If you need additional support or information reach out Power Automate Support by going to their site.
- Microsoft Power Automate Community
- Learn Power Automate
- Power Automate for Government
- Power Automate for Commercial
Brought to you by Dr. Ware, Microsoft Office 365 Silver Partner, Charleston SC.