Daily Flow Run Failure Report
Scheduled flow queries Power Automate Management for all failed runs in the past 24 hours and emails a summary to admins.
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
Daily Flow Run Failure Report is a scheduled cloud flow that gives Power Platform admins a single morning email summarizing every flow run that failed in the last 24 hours. It uses the Power Automate Management connector to enumerate flows in a target environment, the Flow Management run-history APIs to pull failed runs per flow, and Office 365 Outlook to deliver a consolidated HTML report. The result is a low-noise daily digest so admins can triage failures without logging into the maker portal.
The Notion source page for this flow had no published architecture or solution detail sections at parse time — the overview, architecture, env vars and connector list below are reconstructed from the flow name, summary, audience, category and the connectors listed in the Notion properties. Treat the structured fields as a reasonable starting point and verify against the imported solution.
Use Case
Power Platform tenants accumulate dozens of business-critical flows. Without a daily check, silent failures (expired connections, permission changes, throttling, schema drift) can go unnoticed until an end user complains. This flow gives the admin team a predictable, one-glance morning report of every flow that failed in the previous 24 hours so they can intervene before the business notices.
The flow is ideal for teams that:
- Power Platform CoEs and tenant admins who own a portfolio of production flows
- IT operations teams that already triage system failures from a morning inbox digest
- Developers maintaining many automated/scheduled flows who want a single failure feed instead of per-flow alerts
Flow Architecture
Daily schedule
RecurrenceRuns once per day at a fixed time (e.g. 07:00 local). Interval and start time are configurable on the trigger.
Compute look-back window
Initialize variableSets a string variable varSinceUtc to addHours(utcNow(), -1 * flowlibs_LookbackHours) so the run query only returns failures from the configured window.
List flows in environment
List Flows as Admin (Power Automate Management)Calls the Power Automate Management connector to enumerate every flow in the environment named by flowlibs_EnvironmentName.
For each flow: list failed runs in window
Apply to each + List Flow Runs as AdminFor each flow returned above, calls List Flow Runs as Admin filtered to status = Failed and startTime >= varSinceUtc. Appends each failed run record (flow name, run id, start time, error) to an array variable varFailures.
If any failures collected
If conditionChecks whether varFailures has any items before sending an email, so admins don't get an empty digest on quiet days.
- Compose HTML table — Builds an HTML <table> of the failed runs (flow name, started at, error message, link to run) from varFailures.
- Send an email (V2) — Sends the HTML report via Office 365 Outlook to flowlibs_RecipientEmail with subject 'Daily Flow Failure Report - <date>'.
Empty branch - no action. The flow exits silently when there is nothing to report.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_EnvironmentName | String | <configure> | Display name (or environment ID) of the Power Platform environment whose flow failures should be reported on. Set this to the environment you want to monitor. |
| flowlibs_RecipientEmail | String | alerts@yourcompany.com | Semicolon-separated list of email addresses that should receive the daily failure report. |
| flowlibs_LookbackHours | Number | 24 | How many hours of run history the report covers. Match this to your schedule interval (24 for a once-daily schedule). |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Power Automate Management | shared_flowmanagement | ListFlowsAsAdmin (Enumerates flows in the target environment) ListFlowRunsAsAdmin (Returns run history filtered to Failed status) |
| Office 365 Outlook | shared_office365 | SendEmailV2 (Delivers the HTML failure digest) |
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 the reporting cadence
- Edit the Recurrence trigger to every 12 hours, twice daily, or weekdays-only, and update flowlibs_LookbackHours to match so the window and the schedule stay aligned.
- Add columns to the report
- Extend the Compose HTML table action to include flow owner, environment name, or a direct run URL. The fields are already available on each item returned by ListFlowRunsAsAdmin.
- Route by environment
- Duplicate the inner List Flow Runs branch per environment and aggregate, or parameterize flowlibs_EnvironmentName via a SharePoint list to monitor multiple environments from one flow.
- Promote to Teams notification
- Swap the Send an email action for Post adaptive card in a chat or channel to deliver the digest to a Teams admin channel instead of (or alongside) email.
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.01Look-back window start
Computes the UTC timestamp marking the start of the reporting window from the configured look-back hours.
EXPR.02Filter failed runs only
Used in the Filter array or condition step to keep only failed runs that started inside the look-back window.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.