Collaboration in Power Platform is considered to be quite difficult, and I admit it's not the most straight forward thing to do. The platform is excellent at allowing users to go ahead and create some really good solutions without having to write code, but where it falls down is the ability to allow multiple users to work together on the same automation.
How could we do it? Really there are two options available.
How could we do it? Really there are two options available.
"My Turn, Your Turn" Method
The first is the age of method of taking it in turns to go into the automation and doing the bits that you need to do. If therefore we have six people each needing to do an hour of work, this effectively gives us a six hour lead time to create the automation. This technique worked for years and years when working on documents in Microsoft Office, but then co-authoring came along and allowed us to work asynchronously.
Whilst this method of collaboration works for Power Automate, it really elongates the process for creating anything. This unfortunately is the most common method of collaboration that I see with Power Automate, and is one of the negative factors towards Power Automate as a platform.
Earlier in 2019, Power Automate had an update rolled out, which is still in preview at the time of writing, which allows you to copy and paste actions across your automations. This same update can also be used to help with the way that you collaborate.
"Copy and Paste" Method
If there's a team working on automations, then someone needs to take responsibility for pulling together the "master" automation i.e. the one which is going to be delivered. If there are particular sections to the automation which allow division, then each person could work on those particular parts.
Let's take an error response as an example. A piece of an automation which can developed completely in isolation, but is something which will be needed in the master. I'm therefore going to create a scope which is set to run only if the previous action fails, and will send an email.
The developer has tested this locally in their automation, and is happy now to hand it over to the developer creating the master, but how to do this?
Copy what needs to be passed over
In this scenario, we want to take the entire scope from one developer and give it to someone else. Therefore, we need to click the ellipsis (...) and select "Copy to my clipboard.
The nice thing about this, is that it doesn't just copy the actions to the Power Automate clipboard, it actually copies the JSON definition to YOUR clipboard! If I paste this into Notepad, for illustration, I can see exactly what has been pulled out. In the JSON I can see the scope definition as well as the definition for the sending an email.
Once we have the JSON, I can then send this to someone else by whatever method I choose: email, Teams, carrier pigeon (not recommended)!
Bringing the Code Back In
Now that we have the code across to the primary developer, they need to take this wodge (not sure if that is the correct term for a load of JSON but it will do) of JSON and put it into their automation. To do this, the primary developer will need to first of all copy the JSON to their clipboard, add then an action to their automation, in the normal way, selecting "My clipboard" as the action filter.
Before you click anything in there, take your hands off your mouse and instead press Ctrl + V (shortcut for paste). Notice that the control that you were given the JSON for, now appears in your "My clipboard".
When the developer then clicks "Catch Error", it will create the scope with the necessary actions in the automation.
If you are using actions which require connection info, then there will a little bit of work to configure the connection, but most of the actual action should be ready for you to start using.
Finally...
Collaboration in Power Automate isn't the easiest thing to achieve, with most developers taking it in turns to go in and modify an automation.
A much more efficient alternative is to chunk off parts of the automation which can be developed in isolation, where possible. Ideally the functionality will be developed inside a scope so that you can copy all of the actions in a single go.
Once the actions have been configured and tested, the developer can copy the required action by clicking on the ellipsis and selecting "Copy to my clipboard". This will also make the JSON definition of the action available on the actual operating system clipboard.
This JSON can then be sent to whoever is working on the master automation to implement. All that developer needs to do is to copy the JSON they have been sent, and then insert an action, pausing after selecting "My clipboard" as an action filter.
At this point, CTRL+V can be used to paste the JSON into the Power Automate clipboard, making it available to be selected as an action. Clicking on it will then place it into the master automation.
I hope this blog has been useful, and as always I'd love to hear your feedback.
Thanks Matt, this is great stuff!
ReplyDeleteI sometimes miss changes when MS update Flow / Power automate; this was one of those.
A nice early Christmas present.
Happy holidays!
Thank you for the feedback Lugosi, I'm glad you found it useful. Happy Holidays to you too
Delete