Skip to content

Power Automate Flow Inventory - You Can't Govern What You Can't See

Build a Power Automate flow inventory using PowerShell, admin connectors, or the CoE Starter Kit. Discover, classify, and fix orphaned flows.

Alex Pechenizkiy 10 min read
Power Automate Flow Inventory - You Can't Govern What You Can't See

Ask any IT leader how many Power Automate flows run in their tenant. The answer is almost always a guess. “Maybe 20 or 30.” “A handful.” “Not many.”

Then you run an actual Power Automate flow inventory. In one org I audited, 40% of flows were owned by people who had left. The number is 300. Or 800. Or 2,000. Many were created by people who no longer work at the company. Some haven’t run successfully in months. Others connect to external services that IT never approved. Several are sending data to personal OneDrive accounts.

Iceberg diagram showing 10 visible flows above the line and 290 hidden flows below

This isn’t hypothetical. This is what happens in every organization where Power Platform adoption grew organically without governance. Users discover Power Automate, solve their own problems, and move on. Nobody tracks what was built. Nobody reviews what’s running. Nobody knows what happens when those flows break.

You can’t govern what you can’t see. The inventory is step one.

Why Do You Need a Power Automate Flow Inventory?

Without a flow inventory, you cannot identify orphaned flows, enforce naming conventions, audit connector usage, or verify license compliance. A flow inventory gives administrators a single source of truth for every automation in the tenant, enabling informed governance decisions instead of guesswork.

Discovery Methods

There are four ways to discover flows in your tenant, from simplest to most comprehensive.

Method Effort Scope Automation Best For
Power Platform Admin Center Low Per environment Manual Quick spot checks, small tenants
PowerShell cmdlets Medium Per environment or all environments Scriptable Bulk export, one-time audits
Admin connectors in Power Automate Medium All environments Fully automated Ongoing monitoring, custom reporting
CoE Starter Kit Core module High (initial setup) All environments Fully automated, continuous sync Enterprise-scale governance

1. Power Platform Admin Center

The simplest approach. Navigate to admin.powerplatform.microsoft.com, select an environment, go to Resources, and click Flows. You get a list of all cloud flows in that environment with owner, status, and creation date.

Limitations: you can only view one environment at a time. Filtering is basic. There’s no export button for custom analysis. For a tenant with 3 environments, this is manageable. For a tenant with 30 environments, it’s not practical.

Best for: quick spot checks and small organizations.

2. PowerShell Cmdlets

The Get-AdminFlow cmdlet from the Microsoft.PowerApps.Administration.PowerShell module returns detailed information about flows. You can script it to loop through all environments and export the results.

# Install the module
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell

# Get all flows across all environments
$environments = Get-AdminPowerAppEnvironment
$allFlows = @()

foreach ($env in $environments) {
    $flows = Get-AdminFlow -EnvironmentName $env.EnvironmentName
    foreach ($flow in $flows) {
        $allFlows += [PSCustomObject]@{
            FlowName       = $flow.DisplayName
            FlowId         = $flow.FlowName
            Environment    = $env.DisplayName
            CreatedBy      = $flow.CreatedBy.userId
            CreatedTime    = $flow.CreatedTime
            LastModified   = $flow.LastModifiedTime
            State          = $flow.Enabled
        }
    }
}

$allFlows | Export-Csv -Path "FlowInventory.csv" -NoTypeInformation

PowerShell returns the most up-to-date data because it queries the platform APIs directly. Get-AdminFlow returns all cloud flows in an environment. You get flow name, ID, creator, creation date, last modified date, and enabled/disabled state.

Best for: one-time audits, scripted bulk operations, and organizations comfortable with PowerShell.

3. Admin Connectors

Power Platform provides admin connectors that you can use inside Power Automate flows themselves. This means you can build a flow that inventories all other flows. Recursive? Yes. Useful? Extremely.

The relevant connectors:

  • Power Automate Management - list flows, get flow details, list flow runs
  • Power Automate for Admins (Microsoft Flow for Admins) - disable flows, delete flows, administrative actions
  • Power Platform for Admins - environment operations, DLP policies

You build a scheduled flow that runs daily or weekly, calls the admin connector to list all flows across environments, and writes the results to a Dataverse table or SharePoint list. This gives you a continuously updated inventory without manual effort.

Best for: ongoing monitoring with custom logic. You can add classification rules, anomaly detection, and alerting directly in the flow.

4. CoE Starter Kit Core Module

The Center of Excellence Starter Kit is Microsoft’s reference implementation for Power Platform governance. The Core module includes inventory flows that automatically sync all apps, flows, connectors, and environments to Dataverse tables.

The inventory flows run on a driver/sync pattern:

  • Admin | Sync Template v4 (Driver) - orchestrates the sync process
  • Admin | Sync Template v3 (Flows) - gets cloud flow information using the Power Automate Management connector
  • Admin | Sync Template v3 (Flow Action Details) - (optional) gets the actions and triggers for every flow

The CoE Starter Kit stores inventory in Dataverse and includes Power BI dashboards for visualization. It handles the heavy lifting of discovery, deduplication, and incremental sync. The inventory flows only update objects modified since the last sync, reducing API consumption.

Best for: enterprise-scale governance. If you’re serious about Power Platform governance, the CoE Starter Kit is the starting point. You’ll likely customize it, but it provides the foundation.

What to Capture Per Flow

Running a discovery query is step one. Making the data useful is step two. Here is what you should capture for every flow in your inventory:

Data Point Where to Get It Why It Matters
Flow display name Get-AdminFlow / Admin connector Naming convention compliance check
Flow ID Get-AdminFlow Unique identifier for programmatic management
Owner (user or service principal) Get-AdminFlow / flow details Orphan detection, license compliance
Environment Environment enumeration Which environment the flow lives in
Trigger type Flow definition / Flow Action Details Understanding what starts the flow
Connectors used Flow Action Details (CoE) Connector audit, DLP compliance
Last successful run date Flow run history Detecting abandoned flows
Flow status (enabled/disabled) Get-AdminFlow Finding flows that silently stopped
Solution membership Solution component query Identifying loose flows vs solution-aware
Created date Get-AdminFlow Age analysis, finding legacy flows
Description Flow details Documentation compliance check

Classification Framework

Raw inventory data is overwhelming. A flat list of 500 flows isn’t actionable. Classification turns data into decisions.

Classification Criteria Governance Level Examples
Business-critical Supports a core business process. Failure impacts revenue, compliance, or operations. Highest. Service principal ownership, managed solution, monitored 24/7. Invoice approval, regulatory reporting, customer onboarding
Team productivity Department-level workflow. Failure impacts a team's efficiency but not the whole organization. Medium. Solution-aware, named correctly, owner tracked. Leave request approvals, team status reports, document routing
Personal Individual automation. One person uses it for their own work. Low. Track in inventory, ensure no PII exposure. Email sorting rules, personal task reminders, calendar sync
Experimental Testing, learning, proof of concept. Not intended for ongoing use. Minimal. Track, auto-disable if inactive for 60 days. Hackathon projects, training exercises, connector testing

Classification should be a field in your inventory, not a separate spreadsheet. If you use the CoE Starter Kit, add a custom column to the flow inventory table. If you use a SharePoint list, add a choice column. The classification drives the governance response.

The Orphan Problem

An orphaned flow is a flow whose owner no longer has a valid account. The owner left the organization, their account was disabled, and the flow keeps running. Or tries to. Usually it starts failing because the connections tied to the owner’s account no longer authenticate.

How to Detect Orphans

In the Power Platform Admin Center, orphaned flows show no owner in the Owners column on the environment’s flow resource page. In PowerShell, you can cross-reference the flow creator’s user ID against Microsoft Entra to check if the account is still active.

The CoE Starter Kit does this automatically. Its inventory flows track the maker’s status and flag flows owned by disabled or deleted users.

How to Fix Orphans

  1. 1

    Identify the orphan

    Use admin center, PowerShell, or CoE inventory to find flows with invalid owners.

  2. 2

    Assess business impact

    Is the flow still needed? Check the last run date and whether the business process it supports is still active.

  3. 3

    Assign a co-owner

    In the admin center or via PowerShell (Set-AdminFlowOwnerRole), add a new co-owner to the flow.

  4. 4

    Fix the connections

    The new owner needs to re-authenticate any connections that were tied to the previous owner's account.

  5. 5

    Consider service principal ownership

    For business-critical flows, change ownership to a service principal to prevent future orphaning.

Prevent Orphans by Design

The best way to handle orphans is to prevent them. Service principal ownership is the answer for any flow that supports an organizational process.

A service principal is a non-human identity in Microsoft Entra. It doesn’t have a user account that can be disabled when someone leaves. It doesn’t take vacation. It doesn’t change roles. When a flow is owned by a service principal, the ownership is stable regardless of personnel changes.

Key facts about service principal flow ownership:

  • Service principals can own and run flows
  • For solution-aware flows, connections don’t need to be shared separately with the service principal
  • Premium service principal flows need a Power Automate Process or per-flow license
  • Standard (non-premium) service principal flows get 25,000 base requests per tenant per 24 hours
  • Service principal flows in context of Dynamics 365 applications get higher limits from a tenant-level pool

Connector Audit

Your inventory should tell you which connectors each flow uses. This matters for three reasons:

  1. DLP compliance. Data Loss Prevention policies restrict which connectors can be used together. A flow that combines a SharePoint connector (business data) with a personal Dropbox connector (personal storage) might violate your DLP policy. Your inventory should flag these combinations.

  2. External service exposure. Which flows connect to services outside your organization? HTTP connectors, custom connectors, and third-party connectors can send data anywhere. You need to know which flows use them and what data they transmit.

  3. Premium connector licensing. Flows that use premium connectors require premium licenses. Your inventory should identify which flows use premium connectors so you can ensure license compliance.

The CoE Starter Kit’s optional Flow Action Details flow captures connector and action details for every flow. This is resource-intensive to run but provides the deepest visibility.

Output Format

Where do you store the inventory?

Storage Best For Pros Cons
Dataverse (via CoE Starter Kit) Enterprise tenants, ongoing governance Rich querying, Power BI integration, automated sync Requires Dataverse capacity, CoE setup effort
SharePoint list Small to medium tenants, simpler governance Easy to set up, familiar interface, Power Automate integration Limited to 5,000 item threshold for views, no complex queries
Excel / CSV One-time audits, snapshots Simple, exportable, shareable No automation, stale immediately after creation

For ongoing governance, Dataverse via the CoE Starter Kit is the right answer. It gives you a continuously updated, queryable inventory with Power BI dashboards out of the box. For smaller organizations or initial assessments, a SharePoint list with a weekly sync flow is a pragmatic starting point.

Keeping It Current

An inventory that’s accurate on the day you create it and wrong the next week isn’t governance. It’s a report.

Approach Frequency Effort Accuracy
CoE Starter Kit automated sync Daily Zero (after initial setup) High. Only misses items created since last sync
Scheduled PowerShell script Weekly or monthly Low (scheduled task) Good. Depends on run frequency
Admin connector flow Daily to weekly Low (after flow is built) Good. Customizable to your needs
Manual audit Quarterly High. Someone has to do it Low. Outdated within days of completion

The CoE Starter Kit’s incremental sync is designed for this. By default, it only updates objects modified since the last inventory run (configurable via the InventoryFilter_DaysToLookBack environment variable, default 7 days). If you need a full re-sync, set the Full inventory environment variable to Yes, run the driver flow, then set it back to No.

Quarterly manual audits are the baseline. If you do nothing else, run a PowerShell export once per quarter, compare it to the previous quarter, and flag new flows, orphaned flows, and flows that stopped running. It’s not ideal, but it’s infinitely better than not knowing what exists.

From Inventory to Action

An inventory isn’t the end goal. It’s the foundation for governance decisions:

  • Flows without naming convention compliance? Reach out to the makers, help them rename.
  • Loose flows that should be in solutions? Prioritize migration based on classification.
  • Orphaned flows? Fix or decommission based on business need.
  • Flows using unapproved connectors? Review, approve, or disable.
  • Flows that haven’t run in 90 days? Candidate for decommission.
  • Flows owned by users without proper licenses? Fix licensing or reassign ownership.

The inventory gives you the data. Your governance process gives you the actions. Without the inventory, you are governing blind. With it, you are making informed decisions.

Start Here

If you’re starting from zero, here’s the pragmatic path:

  1. 1

    Run a PowerShell export

    Use Get-AdminFlow across all environments. Export to CSV. This takes 30 minutes and gives you a baseline.

  2. 2

    Count and categorize

    How many flows? How many environments? How many unique owners? How many are enabled vs disabled? Get the high-level numbers.

  3. 3

    Identify orphans

    Cross-reference flow owners with your user directory. Flag flows owned by departed employees.

  4. 4

    Classify the top 20

    Take the 20 most-used flows (by run count or business impact). Classify them as business-critical, team, personal, or experimental.

  5. 5

    Make the case for CoE Starter Kit

    Use the numbers from your audit to justify the investment in the CoE Starter Kit. 'We have 400 flows, 60 are orphaned, and we had no idea' is a compelling governance story.

  6. 6

    Implement continuous sync

    Deploy the CoE Starter Kit or build your own admin connector flow. Move from point-in-time snapshots to continuous inventory.

The inventory is the foundation. Naming conventions tell you what a flow is. Environment strategy tells you where it lives. Solution awareness tells you how it deploys. But the inventory tells you what exists in the first place. Start there.


Power Automate Governance - The Enterprise Playbook

This article is part of a 10-part series:

  1. Naming Conventions That Scale
  2. Environment Strategy - Dev Test Prod
  3. Solution-Aware Flows
  4. Flow Inventory
  5. Pipelines - Dev to Prod
  6. CoE Starter Kit
  7. AI-Powered Flow Review
  8. Versioning and Source Control
  9. The Governance Repo
  10. Weekly Governance Digest

AZ365.ai - Azure and AI insights for architects building on Microsoft. Follow Alex on LinkedIn for architecture deep dives.

Stay in the loop

Get new posts delivered to your inbox. No spam, unsubscribe anytime.

Related articles