Need to quickly find out who owns every Power App or Power Automate flow in your Microsoft 365 tenant? This script by HarjTech helps you pull ownership data in minutes — perfect for audits, governance, and cleanup.
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:
Perfect for IT admins, consultants, or internal platform owners — especially when you need to fix a problem quickly or prepare for a compliance review.
Run this in an elevated PowerShell window:
Install-Module -Name PnP.PowerShell -Force -AllowClobber
Download and install the Microsoft Power Platform CLI from:
After installation, make sure pac
is recognized in your terminal by running:
pac help
If you see command output, it’s installed.
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.
# -------------------------------------------------------------
# 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
You’ll get two CSV files saved to your desktop:
PowerApps_Owners_Report.csv
PowerAutomate_Owners_Report.csv
Each file includes:
You can filter by environment, sort by owner, or merge with license data for further analysis.
This script is a starting point. HarjTech supports organizations with:
We help you take control of your Power Platform ecosystem — with clear visibility and automation-first strategy.
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:
Seamlessly migrate your file systems or legacy SharePoint to SharePoint Online with zero downtime, enhanced security, and full user adoption.
Launch a fully digital workspace with Microsoft 365. We handle setup, file structure, document migration, automations, and training—so your business runs smoother, faster, and more securely from day one.
We structure your SharePoint, Teams, and OneDrive environment so Microsoft Copilot can actually find, process, and protect your company’s knowledge.
Learn how to build effective Power Apps using best practices, responsive design, governance strategies, and Power Automate integration.
Learn how to build effective Power Apps using best practices, responsive design, governance strategies, and Power Automate integration.
Should you build custom SPFx solutions or use Power Platform for SharePoint? Learn the pros, cons, and real-world use cases for each approach — and how to choose based on your team’s capabilities and project goals.
Should you build custom SPFx solutions or use Power Platform for SharePoint? Learn the pros, cons, and real-world use cases for each approach — and how to choose based on your team’s capabilities and project goals.
Planning a SharePoint Online migration? Learn the essential steps, best practices, permission strategies, and tools like ShareGate and PowerShell to ensure a smooth transition.
Planning a SharePoint Online migration? Learn the essential steps, best practices, permission strategies, and tools like ShareGate and PowerShell to ensure a smooth transition.
Learn how Azure Boards work, the difference between Organizations and Projects, and how to manage work items, permissions, and team structures effectively. Understand pricing, limitations, and the right architecture for enterprise growth.
Learn how Azure Boards work, the difference between Organizations and Projects, and how to manage work items, permissions, and team structures effectively. Understand pricing, limitations, and the right architecture for enterprise growth.
Let's discuss how our productized solutions can drive your success
Productized IT Consulting & Digital Solutions. Serving clients across Canada with outcome-driven Microsoft solutions that deliver guaranteed results.
© 2024 HarjTech. All rights reserved.
Privacy Policy