Once you have started with Microsoft Flow in your production environments you will find that you want to update those Flows without affecting the existing production flows. Small changes you might dare to risk but what if you have a number of days work to do to existing flows. How do you now update those flows?

In this post I’m going through the different options that are currently available within Microsoft Flow.

Approach 1 – Directly update your flows

This might feel risky as you might make mistakes. With the right experience you could potentially go for this option. Or you could even ask someone else with the right experience to do this, but whatever steps you take this is the risky approach.

Approach 2 – Create a test/development tenant (1st half)

This sounds like the sensible option to me. You simply recreate the flow in a different tenant  and still connect to your production data and you can update your flows without updating the production tenant. Unfortunately you will see the following failures appear.

Manage your Microsoft Flow solution in production and development Microsoft Flow, Microsoft Office 365 unauthorized

When you look at the failure details it looks like running flows connecting to data across tenants isn’t supported/working:

{“error_description”:”Exception of type ‘Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException’ was thrown.”} clientRequestId: c6b2be29-9d0a-40a3-a7a7-37f250ec8356 serviceRequestId: f9575e9e-9032-5000-6015-e841744aa5d7

Approach 3 – Create a test/development tenant and replicate data (2nd half)

Same as approach 3 but now we also replicate the data in the test tenant. Now you will find that you will need to update all of the actions with the right base Url:

Manage your Microsoft Flow solution in production and development Microsoft Flow, Microsoft Office 365 urls

Unless of course you develop your Flows properly and rather than select the Site Address from the drop down you use the Enter custom value option and then use variables to select the site.

Manage your Microsoft Flow solution in production and development Microsoft Flow, Microsoft Office 365 variableurls

Conclusion this is also not really an option as you can’t easily copy your flows form one tenant to another.

Approach 4 – Create a copy of your flow

In our 4th approach we start with an existing flow and use the save as option to create a copy of the flow.

 

Manage your Microsoft Flow solution in production and development Microsoft Flow, Microsoft Office 365 saveas1

 

Give the flow a new name.

Manage your Microsoft Flow solution in production and development Microsoft Flow, Microsoft Office 365 dev

 

Now we have two versions of the same flow. But one is active and the other one is not active.

Manage your Microsoft Flow solution in production and development Microsoft Flow, Microsoft Office 365 saveas2

 

Now we can make our updates to the dev version of flow and test this flow. Note that if you run this flow and it updates data it will update your production data!

Once you have made your changes to the dev version of the flow you could test the flow while the production flow is still working. You could even consider putting a switch inside your flow that makes the flow run in Development mode or production mode so that you can avoid updating production data. Then once you are done, simply toggle to off/on for your production and development version of your flows and you are up and running. How about a roll back plan? Well that is easy simply switch the on/off the other way around again.

 

 

 

By 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.

3 thoughts on “Manage your Microsoft Flow solution in production and development”
  1. Pieter,

    Thanks for discussing these options. I think the approach you have in #3 should be explore more in an enterprise environment. I was also thinking that perhaps there might be a tool out there that can read a JSON file of the flow and quickly do a find and replace strings before loading into the next environment. For example, as admins you could have simple EXCEL file with VBA scripts that will read the JSON file and perform string functions to reset the parameters. This way, you could change the GUID of views as you move them from one to the next.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.