Flow Inventory Audit to Excel
Export a full inventory of all flows in the environment — name, owner, status, last run — to an Excel workbook on SharePoint.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
This flow exports a comprehensive inventory of all Power Automate cloud flows in the environment to an Excel workbook stored on SharePoint. The flow runs on a scheduled basis, queries the Power Automate Management API for all flows with metadata (name, owner, state, last run date), formats results as a searchable Excel table, and either creates a new workbook or appends to an existing audit log for governance and compliance tracking.
Use Case
IT administrators need periodic visibility into all flows deployed in an environment for governance, compliance audits, and capacity planning. Manual audits are tedious and error-prone; this flow automates the process by querying the Power Automate Management API, extracting flow metadata, and writing results to an Excel workbook on SharePoint that can be analyzed, shared with stakeholders, and trended over time to track flow portfolio growth and health.
The flow is ideal for teams that:
- Automated daily or weekly flow inventory export — no manual list building
- Complete metadata capture — name, owner, state, last run, creation date
- Searchable Excel format — easy to filter, sort, and analyze
- Stored on SharePoint — accessible to governance and audit teams
- Enables trend analysis — compare inventory over time to spot growth, orphaned flows
- Supports compliance reporting for audit and governance teams
Flow Architecture
Recurrence
Schedule RecurrenceRuns on a scheduled basis (e.g., weekly) to perform the flow inventory export.
List All Flows
Power Automate Management ListFlowsCalls Microsoft Graph or Power Automate Management API to retrieve all cloud flows with properties.
Append Flow Row to Table
Create Excel Online Table RowFor each flow returned: adds a row with flow name, owner, state, last run date, created date, and flow type.
If Excel file exists
If conditionChecks whether the audit Excel workbook already exists at the configured SharePoint path.
- Append to Existing File — Create Excel Online Table Row — appends new rows to existing Excel table.
Empty branch — no action.
Send Completion Email
Outlook SendEmailV2Optional — notifies admin that the flow inventory export completed successfully.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_AuditSharePointSite | String | <configure> | URL of SharePoint site where the Excel inventory is stored (e.g., https://your-tenant.sharepoint.com/sites/PowerAutomate). |
| flowlibs_AuditExcelFilePath | String | <configure> | Relative path and filename of Excel workbook (e.g., /Flow Inventory/FlowAudit.xlsx). |
| flowlibs_AuditTableName | String | <configure> | Name of the formatted table inside the Excel workbook (e.g., FlowInventory). |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Excel Online (Business) | shared_excelonlinebusiness | CreateTableRow (appends flow data to Excel inventory) |
| Outlook 365 | shared_office365 | SendEmailV2 (completion notification) |
| Power Automate Management | shared_flowmanagement | ListFlows (retrieves all cloud flows in environment) |
| SharePoint | shared_sharepointonline | GetFileMetadata (locates Excel workbook on SharePoint) |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Change export frequency
- Edit the Recurrence trigger to run daily or monthly instead of weekly.
- Add filtering
- Insert a Filter Array before the Foreach to exclude disabled flows or flows matching specific naming patterns.
- Include additional metadata
- Add columns for flow description, solution name, modified date, or trigger type.
- Generate summary statistics
- Add an action at the end to calculate total flow count, owner count, and state distribution; append summary rows to Excel.
- Send to email recipients
- Add an email step with the Excel file as an attachment instead of just storing on SharePoint.
- Append timestamp column
- Add current date/time to each row for trend analysis over multiple export runs.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Get flow display name
Reads the display name of the current flow from the For each loop.
EXPR.02Get flow owner
Reads the owner display name from the flow metadata.
EXPR.03Get flow state (On/Off/Suspended)
Reads the run state of the flow.
EXPR.04Get last run timestamp
Reads the last-modified time as a proxy for the most recent change/run.
EXPR.05Get flow creation date
Formats the flow's creation timestamp as a short ISO date.
EXPR.06Get flow ID (API)
Reads the API-side flow identifier.
EXPR.07Count total flows
Total flow count returned by the List All Flows action.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.