Azure Pipelines for Power Automate Flows

A blog post by Robert Pröll


Posted: 11.2020 | Category: ALM | Author: Robert Pröll Tags: DEPLOYMENTS CI/CD DEVOPS ALM POWER AUTOMATE FLOWS DYNAMICS 365

Robert Pröll | .NET Software Architect

Intro

Flows can now be part of classic solutions, which means the import dialog process will ask for connection mappings (if not already mapped).

As an ISV for enterprise deployment tools, we have to handle many different scenarios, but for most D365 deployments, you just have to understand the basics to be able to customize your deployment solutions according to your own needs.

This article provides quickstart guide on how to implement CI/CD for Power Automate Flows – For Enterprise Environments make sure you fully understand all dependencies and use cases (e.g. impersonations etc. )

Basic flow for automated Power Automate deployments:

  1. Define connections for each environment
  2. Import Solutions
  3. Update connection references
  4. Turn on flows

Technical Background:

Technically (simplified solution viewpoint) flows are just workflows saved in a different format. The exported solution includes the following information:


Solution XML

Solution XML

Flow implementation JSON

Flow implementation JSON


ConnectionReferences are used to assign the correct connection to each flow.
Automated imports via SDK will result in an empty connectionID.


How to solve it:

 

Step 1: Create Connections for each environment

This needs to be done just once for each environment or if you need to connect to new services. 

Go to https://make.powerapps.com/environments and add one single connection for each service.


Step 2: Update Connection References

The ConnectionReferences (attribute ConnectionID) must be updated:


Example

https://make.powerapps.com

/environments/{env}/

connections/shared_office365/{id}/details

 

(Screenshot taken from KDTooling Deployment Manager but the same thing can be done via custom code)

(Screenshot taken from KDTooling Deployment Manager but the same thing can be done via custom code)


Step 3: Activate Flows:

Flows must be activated if the attributes have been changed.

 

KDTooling Enterprise Deployments: 

Enterprise-ready Power Automate connection management can be done with just a few clicks.

KDTooling DM fully supports users with different ways to ensure connections are correctly set up through different environments:




About the author

Robert Pröll

.NET Software Architect

Key areas of interest: ALM, .NET C#, PowerShell, Azure, Dynamics 365 Tooling

Robert started in the area of ASP.NET projects and has now more than 10 years of experience in the international Dynamics Enterprise business.

He works mainly as an principal software architect at Kupp and as a external consultant for Microsoft.