(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisbon
Power Automate
Power Automate 1 min

ALM for Power Automate: solutions, environments and CI/CD with Azure DevOps

João Barros 13 de April de 2026 1 min read

Application Lifecycle Management (ALM) in the Power Platform is often neglected, resulting in flows "directly in production", with no version control and impossible to roll back. ALM best practices prevent this problem.

Environment structure

Recommended environments:
  DEV   → individual development, fake data
  TEST  → integration testing, prod-like data
  PROD  → managed solutions only, no direct editing

Solutions — the deployment unit

// Create a solution in the DEV environment:
make.powerapps.com → Solutions → New Solution
  Publisher: BConcepts (prefix: bcpt)
  Version: 1.0.0.0

// Add existing flows to the solution:
Add existing → Cloud flow
// IMPORTANT: only flows inside solutions can be exported/imported correctly

Export and import manually

// DEV → TEST (unmanaged solution for testing)
Export → Unmanaged → bconcepts_Flows_1.0.0.0.zip

// TEST → PROD (managed solution — not editable in PROD)
Export → Managed → bconcepts_Flows_1.0.0.0_managed.zip
Import into the PROD environment

CI/CD with Azure DevOps and the Power Platform CLI

# Azure DevOps pipeline YAML
trigger:
  - main

steps:
  - task: PowerPlatformToolInstaller@2

  - task: PowerPlatformExportSolution@2
    inputs:
      authenticationType: PowerPlatformSPN
      PowerPlatformSPN: 'Dev-SPN'
      SolutionName: 'BConcepts_Flows'
      SolutionOutputFile: $(Build.ArtifactStagingDirectory)/BConcepts_Flows.zip

  - task: PowerPlatformImportSolution@2
    inputs:
      authenticationType: PowerPlatformSPN
      PowerPlatformSPN: 'Prod-SPN'
      SolutionInputFile: $(Build.ArtifactStagingDirectory)/BConcepts_Flows_managed.zip
      ConvertToManaged: true

Conclusion

ALM in the Power Platform is not complex — it requires the discipline of always working inside solutions, using separate environments and automating deployment with pipelines. The initial setup investment saves hours of debugging in production.

Share: