Loading...
Loading...
Monitor Power Automate flow health, track failure rates, and inventory tenant assets using the FlowStudio MCP cached store. The live API only returns top-level run status. Store tools surface aggregated stats, per-run failure details with remediation hints, maker activity, and Power Apps inventory — all from a fast cache with no rate-limit pressure on the PA API. Load this skill when asked to: check flow health, find failing flows, get failure rates, review error trends, list all flows with monitoring enabled, check who built a flow, find inactive makers, inventory Power Apps, see environment or connection counts, get a flow summary, or any tenant-wide health overview. Requires a FlowStudio for Teams or MCP Pro+ subscription — see https://mcp.flowstudio.app
npx skill4agent add github/awesome-copilot flowstudio-power-automate-monitoringRequires: A FlowStudio for Teams or MCP Pro+ subscription.Start every session withto confirm tool names and parameters. This skill covers response shapes, behavioral notes, and workflow patterns — thingstools/listcannot tell you. If this document disagrees withtools/listor a real API response, the API wins.tools/list
runPeriodTotalrunPeriodFailRatemonitor: trueget_store_flow_runsget_store_flow_errorsget_store_flow_summaryscannedget_store_flowmonitor: trueupdate_store_flowupdate_store_flowcritical=true| Tool | Purpose |
|---|---|
| List flows with failure rates and monitoring filters |
| Full cached record: run stats, owners, tier, connections, definition |
| Aggregated run stats: success/fail rate, avg/max duration |
| Per-run history with duration, status, failed actions, remediation |
| Failed-only runs with action names and remediation hints |
| Trigger URL from cache (instant, no PA API call) |
| Start or stop a flow and sync state back to cache |
| Set monitor flag, notification rules, tags, governance metadata |
| All Power Platform environments |
| All connections |
| All makers (citizen developers) |
| Maker detail: flow/app counts, licenses, account status |
| All Power Apps canvas apps |
| Question | Use Store | Use Live |
|---|---|---|
| How many flows are failing? | | — |
| What's the fail rate over 30 days? | | — |
| Show error history for a flow | | — |
| Who built this flow? | | — |
| Read the full flow definition | | |
| Inspect action inputs/outputs from a run | — | |
| Resubmit a failed run | — | |
Store tools answer "what happened?" and "how healthy is it?" Live tools answer "what exactly went wrong?" and "fix it now."
If,get_store_flow_runs, orget_store_flow_errorsreturn empty results, check: (1) isget_store_flow_summaryon the flow? and (2) is themonitor: truefield recent? Usescannedto verify both.get_store_flow
list_store_flowsmonitorrule_notify_onfailrule_notify_onmissingdays[
{
"id": "Default-<envGuid>.<flowGuid>",
"displayName": "Stripe subscription updated",
"state": "Started",
"triggerType": "Request",
"triggerUrl": "https://...",
"tags": ["#operations", "#sensitive"],
"environmentName": "Default-26e65220-...",
"monitor": true,
"runPeriodFailRate": 0.012,
"runPeriodTotal": 82,
"createdTime": "2025-06-24T01:20:53Z",
"lastModifiedTime": "2025-06-24T03:51:03Z"
}
]format:id. Split on firstDefault-<envGuid>.<flowGuid>to get.andenvironmentName.flowNameandtriggerUrlare optional. Some entries are sparse (justtags+id) — skip entries withoutmonitor.displayNameTags onare auto-extracted from the flow'slist_store_flowsfield (maker hashtags likedescription). Tags written via#operationsare stored separately and only visible onupdate_store_flow(tags=...)— they do NOT appear in the list response.get_store_flow
get_store_flow| Category | Fields |
|---|---|
| Identity | |
| Run stats | |
| Governance | |
| Freshness | |
| Lifecycle | |
| JSON strings | |
Duration fields (,runPeriodDurationAverage,Max) are in milliseconds. Divide by 1000 for seconds.Mincontains the last run error as a JSON string. Parse it:runError— returnsjson.loads(record["runError"])when no error.{}
get_store_flow_summary{
"flowKey": "Default-<envGuid>.<flowGuid>",
"windowStart": null,
"windowEnd": null,
"totalRuns": 82,
"successRuns": 81,
"failRuns": 1,
"successRate": 0.988,
"failRate": 0.012,
"averageDurationSeconds": 2.877,
"maxDurationSeconds": 9.433,
"firstFailRunRemediation": null,
"firstFailRunUrl": null
}Returns all zeros when no run data exists for this flow in the window. UseandstartTime(ISO 8601) parameters to change the window.endTime
get_store_flow_runsget_store_flow_errorsget_store_flow_errorsstatus=FailedstartTimeendTimestatus["Failed"]["Succeeded"]Both returnwhen no run data exists.[]
get_store_flow_trigger_url{
"flowKey": "Default-<envGuid>.<flowGuid>",
"displayName": "Stripe subscription updated",
"triggerType": "Request",
"triggerKind": "Http",
"triggerUrl": "https://..."
}is null for non-HTTP triggers.triggerUrl
set_store_flow_state{
"flowKey": "Default-<envGuid>.<flowGuid>",
"requestedState": "Stopped",
"currentState": "Stopped",
"flow": { /* full gFlows record, same shape as get_store_flow */ }
}The embeddedobject reflects the new state immediately — no follow-upflowcall needed. Useful for governance workflows that stop a flow and then read its tags/monitor/owner metadata in the same turn.get_store_flowFunctionally equivalent tofor changing state, butset_live_flow_stateonly returnsset_live_flow_stateand doesn't sync the cache. Prefer{flowName, environmentName, requestedState, actualState}when you only need to toggle state and don't care about cache freshness.set_live_flow_state
update_store_flowget_store_flowmonitorrule_notify_onfailrule_notify_onmissingdaysrule_notify_emaildescriptiontagsbusinessImpactbusinessJustificationbusinessValueownerTeamownerBusinessUnitsupportGroupsupportEmailcriticaltiersecuritylist_store_environments[
{
"id": "Default-26e65220-...",
"displayName": "Flow Studio (default)",
"sku": "Default",
"type": "NotSpecified",
"location": "australia",
"isDefault": true,
"isAdmin": true,
"isManagedEnvironment": false,
"createdTime": "2017-01-18T01:06:46Z"
}
]values:sku,Default,Production,Developer,Sandbox.Teams
list_store_connections[
{
"id": "<environmentId>.<connectionId>",
"displayName": "user@contoso.com",
"createdBy": "{\"id\":\"...\",\"displayName\":\"...\",\"email\":\"...\"}",
"environmentName": "...",
"statuses": "[{\"status\":\"Connected\"}]"
}
]andcreatedByare JSON strings — parse withstatuses.json.loads()
list_store_makers[
{
"id": "09dbe02f-...",
"displayName": "Catherine Han",
"mail": "catherine.han@flowstudio.app",
"deleted": false,
"ownerFlowCount": 199,
"ownerAppCount": 209,
"userIsServicePrinciple": false
}
]Deleted makers haveand nodeleted: true/displayNamefields.
get_store_makerdisplayNamemailuserPrincipalNameownerFlowCountownerAppCountaccountEnableddeletedcountryfirstFlowfirstFlowCreatedTimelastFlowCreatedTimefirstPowerApplastPowerAppCreatedTimelicenseslist_store_power_apps[
{
"id": "<environmentId>.<appId>",
"displayName": "My App",
"environmentName": "...",
"ownerId": "09dbe02f-...",
"ownerName": "Catherine Han",
"appType": "Canvas",
"sharedUsersCount": 0,
"createdTime": "2023-08-18T01:06:22Z",
"lastModifiedTime": "2023-08-18T01:06:22Z",
"lastPublishTime": "2023-08-18T01:06:22Z"
}
]1. list_store_flows
2. Filter where runPeriodFailRate > 0.1 and runPeriodTotal >= 5
3. Sort by runPeriodFailRate descending
4. For each: get_store_flow for full detail1. get_store_flow → check scanned (freshness), runPeriodFailRate, runPeriodTotal
2. get_store_flow_summary → aggregated stats with optional time window
3. get_store_flow_errors → per-run failure detail with remediation hints
4. If deeper diagnosis needed → switch to live tools:
get_live_flow_runs → get_live_flow_run_action_outputs1. update_store_flow with monitor=true
2. Optionally set rule_notify_onfail=true, rule_notify_email="user@domain.com"
3. Run data will appear after the next daily scan1. list_store_flows
2. Flag flows with runPeriodFailRate > 0.2 and runPeriodTotal >= 3
3. Flag monitored flows with state="Stopped" (may indicate auto-suspension)
4. For critical failures → get_store_flow_errors for remediation hints1. list_store_makers
2. Identify deleted accounts still owning flows (deleted=true, ownerFlowCount > 0)
3. get_store_maker for full detail on specific users1. list_store_environments → environment count, SKUs, locations
2. list_store_flows → flow count by state, trigger type, fail rate
3. list_store_power_apps → app count, owners, sharing
4. list_store_connections → connection count per environmentpower-automate-mcppower-automate-debugpower-automate-buildpower-automate-governance