← Help & Docs

Power Automate Flow Monitor

Catch flows that get turned off, suspended, or start failing — before they cost you days of silent breakage. Last updated 2026-06-15

What it is

The Flow Monitor periodically reads your Power Automate cloud flows and watches for the failure modes that usually go unnoticed:

When a flow has a problem, TATER raises a monitoring finding and files a single de-duplicated Ops ticket for that flow (refreshed in place if the problem persists, and auto-closed when the flow recovers). It also forwards a power_automate.flow.degraded / .recovered event to your SIEM if you have one configured. The scan runs automatically every hour, and you can run it on demand.

Where it lives. The flow list, connection, and thresholds are in TATER Ops → Workspace → Flow Monitor. The master on/off toggle is the Power Automate Flow Health built-in in TATER Manage → Application Monitoring (alongside OneDrive and CISA KEV). Problem flows also appear in the Application Monitoring findings queue.

One-time setup — connecting to your tenant

TATER reads your flows app-only (no user sign-in) via the Microsoft Power Automate Management API. You register an app in your Microsoft tenant, give it Power Platform access, and paste its credentials into TATER once.

1. Register an app

  1. In the Microsoft Entra admin centerApp registrationsNew registration. Name it something like "TATER Flow Monitor". Single tenant is fine.
  2. Under Certificates & secrets, create a client secret and copy its value (you only see it once).
  3. Note the Application (client) ID and your Directory (tenant) ID from the app's Overview page.

The commands below are PowerShell. On Windows, run them in PowerShell 7+ (pwsh). Note the PowerShell assignment syntax $appId = az ... — the bash form appId=$(az ...) will fail in PowerShell with "is not recognized as a name of a cmdlet". Create the app, service principal, and a two-year secret:

# You're signed into the customer tenant (az login --tenant <tenantId>)
$appId  = az ad app create --display-name "TATER-FlowMonitor" --query appId -o tsv
az ad sp create --id $appId
$secret = az ad app credential reset --id $appId --years 2 --query password -o tsv
Write-Host "App (client) ID: $appId"
Write-Host "Client secret:   $secret"   # copy both — the secret is shown once

App registration is a tenant-level (Entra) operation, so it does not matter which Azure subscription is selected at az login.

2. Grant it Power Platform access

The app needs to be able to read flows across your environments. Register it as a Power Platform management application (run once, as a Power Platform admin, in PowerShell):

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -Scope CurrentUser -Force
Add-PowerAppsAccount -TenantID <your-tenant-id>
New-PowerAppManagementApp -ApplicationId $appId

This authorizes the app for app-only access to the Power Platform admin APIs, which is what lets TATER enumerate every flow and its state. Without it, TATER can still authenticate but only sees flows the app itself owns (you'll see a "per-user scope" note on the Test button) — fine for a proof of concept, but grant the management app for full coverage.

Monitoring all environments (Dataverse)

Power Platform has two kinds of environments, and they expose flows differently:

The Flow Monitor's Environments panel lists every environment with its type, flow count, and a Monitoring/Muted toggle — and flags exactly which Dataverse environments still need the grant.

Add the TATER app as an application user (per Dataverse environment)

For each environment you want monitored, in the Power Platform admin center:

  1. Open Environments → (the environment) → Settings → Users + permissions → Application users.
  2. Click + New app user, Add an app, and pick your app (e.g. TATER-FlowMonitor / the client ID from setup).
  3. Assign a security role that can read flows — System Administrator is simplest; a least-privilege custom role needs Read on the Process table. Save.

Within a few minutes the next scan (or Scan now) picks up that environment's flows automatically. Repeat only for the environments you care about — the rest you can leave with the badge and mute them so they never alert.

Muting environments and flows (dev vs prod)

You almost never want dev/test/sandbox flows raising tickets. In the Flow Monitor:

Muted items show a grey MUTED badge and a note of what they would be alerting on. Un-mute any time with the same toggle.

3. Enter the connection in TATER

  1. Go to TATER Ops → Flow Monitor.
  2. Fill in Microsoft tenant ID, App (client) ID, and Client secret. The secret is encrypted at rest and never displayed again.
  3. Optionally restrict to specific environments (comma-separated environment names) — leave blank to scan all of them.
  4. Click Save connection, then Test connection to confirm TATER can reach your flows. The test reports how many environments and flows it can see.
  5. Click Scan now to do the first evaluation. After that the hourly sweep keeps it current.

Tuning the thresholds

SettingWhat it doesDefault
Failure threshold %Raise a "failing" alert when at least this percentage of recent completed runs failed.20%
Min runs for rateDon't judge the failure rate until the flow has at least this many completed runs in the sample (avoids over-reacting to one bad run).5
Runs to sampleHow many recent runs to look at per flow (max 50).20
Stale after (hours)If the flow is on but its last successful run is older than this, flag it "stale".24
Alert when a flow is OFFTreat a Stopped (turned-off) flow as a problem.on
Alert when SuspendedTreat an auto-suspended flow as a problem.on
Auto-create Ops ticketsFile a de-duplicated Ops ticket per problem flow. Turn off to keep findings in the Application Monitoring queue without tickets.on
Ticket assigneeOptional email to assign auto-filed flow tickets to.

How alerts behave

Resetting an alert (after you fix it)

When you've resolved a flow's problem and want to clear the alert — and have it come back only if the issue continues — use Reset rather than Mute. Mute silences a flow permanently (for dev/seasonal/retired flows); Reset zeroes out the current alert and re-arms it.

In short: Mute = "stop watching this flow." Reset = "I fixed it; clear the alert, and tell me again only if it keeps happening."

Reading the Flow Monitor page

The flows table shows each flow's status badge (OFF / SUSPENDED / FAILING / STALE / OK), its environment, its current state, its recent success rate (and how many of the sampled runs failed), the last successful run time, and a one-line description of the problem. Under each flow name you'll see its trigger type and the connectors it depends on (e.g. SharePoint, Office 365 Outlook), plus a small 📝 when it has documentation and 🔗 / 📄 badges for linked tasks and docs. The next to a flow name opens it directly in the Power Automate maker portal. Use the filter chips to focus on just the problems, or a specific status. The summary line shows the last scan time and the count in each status.

Flow inventory & documentation

Every monitored flow is a durable inventory entity you can document and link — not just a row in a scan. Click a flow name to open its detail card. It shows everything TATER pulls from the connection plus your own documentation:

This makes troubleshooting faster — when a flow breaks, the on-call tech opens the card and immediately sees what it does, who owns it, what it connects to, the runbook, and the history of past tickets. Editing the documentation requires Admin+; everyone Auditor+ can read it.

MCP tools

ToolPurpose
list_power_automate_flowsList the org's flows with their monitored health (on/off, failure rate, last success, status). Optional status filter. Read-only; surfaces problem flows by default.
get_power_automate_flowFull inventory record for one flow — live health, mined metadata (trigger, connectors, owners, created/modified), your documentation, and linked tasks. Pulls fresh metadata each call. Read-only (Auditor+).
document_power_automate_flowSet a flow's notes, business purpose, owner, criticality, runbook URL, tags, and link docs / tasks. Builds durable troubleshooting documentation. Admin role.

Permissions & privacy

Troubleshooting

Related