List All Power Apps and Power Automate Flows with Owners Across Your Tenant Using PowerShell

Overview

Whether you're conducting a governance audit, cleaning up unused apps, or preparing to offboard a user — you need a fast way to answer this question:

"Who owns all the Power Apps and Power Automate flows in my tenant?"

Microsoft doesn't give you a clean out-of-the-box report in the admin center. So we’ll use PowerShell, the Power Platform CLI, and PnP PowerShell to generate it.

This solution will:

  • Show you every Power App and Flow across your tenant
  • Display who created it and who the current owners are
  • Export everything into a clean CSV file for reporting or cleanup

Perfect for IT admins, consultants, or internal platform owners — especially when you need to fix a problem quickly or prepare for a compliance review.

What You’ll Need (One-Time Setup)

1. Install PnP PowerShell

Run this in an elevated PowerShell window:

Install-Module -Name PnP.PowerShell -Force -AllowClobber

2. Install the Power Platform CLI

Download and install the Microsoft Power Platform CLI from:

https://aka.ms/PowerAppsCLI

After installation, make sure pac is recognized in your terminal by running:

pac help

If you see command output, it’s installed.

Authenticate to Power Platform

Before running the script, login using:

pac auth create --kind ADMIN --url https://admin.powerplatform.microsoft.com

This will open a browser and prompt for credentials. Use an account with Power Platform Admin or Global Admin permissions.

The Script: List All Power Apps and Flows with Owners

# -------------------------------------------------------------
# Script by HarjTech | www.harjtech.com
# Purpose: List all Power Apps and Power Automate Flows in tenant
# Outputs: CSV with App/Flow name, Environment, Creator, Owners
# -------------------------------------------------------------

# Initialize output arrays
$appsReport = @()
$flowsReport = @()

# Get all environments in the tenant
$environments = pac admin list | ConvertFrom-Json

foreach ($env in $environments.environments) {
    $envName = $env.name
    Write-Host "Processing environment:" $envName -ForegroundColor Cyan

    # Get Power Apps
    $apps = pac admin powerapps list --environment $envName | ConvertFrom-Json

    foreach ($app in $apps) {
        $appsReport += [PSCustomObject]@{
            Environment = $envName
            AppName     = $app.displayName
            AppId       = $app.appId
            CreatedBy   = $app.createdBy.displayName
            Owners      = ($app.owners | ForEach-Object { $_.displayName }) -join "; "
        }
    }

    # Get Power Automate Flows
    $flows = pac admin flow list --environment $envName | ConvertFrom-Json

    foreach ($flow in $flows) {
        $flowsReport += [PSCustomObject]@{
            Environment = $envName
            FlowName    = $flow.displayName
            FlowId      = $flow.name
            CreatedBy   = $flow.creator.displayName
            Owners      = ($flow.ownerUsers | ForEach-Object { $_.displayName }) -join "; "
        }
    }
}

# Export to CSV
$appsReport | Export-Csv -Path "$env:USERPROFILE\Desktop\PowerApps_Owners_Report.csv" -NoTypeInformation -Encoding UTF8
$flowsReport | Export-Csv -Path "$env:USERPROFILE\Desktop\PowerAutomate_Owners_Report.csv" -NoTypeInformation -Encoding UTF8

Write-Host "Reports exported to desktop." -ForegroundColor Green

What This Script Does (In Simple Terms)

  • Logs into every environment in your Power Platform tenant
  • Lists every Power App and Flow inside each environment
  • Pulls:
    • Name
    • Environment
    • Creator
    • List of Owners
  • Outputs two CSV files — one for apps, one for flows

Why This Matters

  • Audit and cleanup: Easily find orphaned or inactive apps
  • Offboarding: Reassign apps from departing users
  • Governance: Ensure apps are not built and abandoned
  • Security: Confirm that only approved users have ownership access

The Final Output (Excel-Ready)

You’ll get two CSV files saved to your desktop:

  • PowerApps_Owners_Report.csv
  • PowerAutomate_Owners_Report.csv

Each file includes:

  • Environment name
  • App or Flow name
  • Creator
  • Owner(s)

You can filter by environment, sort by owner, or merge with license data for further analysis.

How HarjTech Helps

This script is a starting point. HarjTech supports organizations with:

  • Full Power Platform environment audits
  • App and Flow inventory cleanup
  • Governance and security configuration
  • License optimization and CoE setup
  • Migration, monitoring, and performance reporting

We help you take control of your Power Platform ecosystem — with clear visibility and automation-first strategy.

Conclusion

If you need quick answers about Power App or Flow ownership in your tenant, this solution gives you full visibility in minutes. Whether you're fixing a problem or preparing for governance, this tool puts the data in your hands — fast.

HarjTech builds tools like this — and implements the full governance strategies behind them.

Let us know if you’d like:

  • A downloadable version of this guide as a PDF
  • A custom dashboard built from this data
  • Help implementing Power Platform governance at scale

Similar Blogs

Our Capabilities

Our team is dedicated to shaping a better working world by creating long-term value for our clients, our people, and society while fostering trust in the capital markets.

Ready to talk?

We work with ambitious leaders who want to define the future, not hide from it. Together, we achieve extraordinary outcomes.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
© 2020 HarjTech Solution, Inc.