[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ADJTT10XWH723QZ5D5GKVF":3,"skill-same:01M6ADJTT10XWH723QZ5D5GKVF":80},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M6ADJTT10XWH723QZ5D5GKVF","flowstudio-power-automate-monitoring",null,"Pro+ subscription required. Tenant-wide Power Automate monitoring using the FlowStudio MCP cached store: failure rates, run-health trends, maker\u002Fapp inventory, inactive owners, and compliance\u002Fhealth reports. Use only for aggregated tenant views. For one environment, one flow, run control, or root-cause debugging, use flowstudio-power-automate-mcp, flowstudio-power-automate-debug, or the server monitor-flow bundle. Requires FlowStudio for Teams or MCP Pro+.","github\u002Fawesome-copilot","github","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9919?v=4","01M6AC83DS133TPXFSP1DHNCC6","GitHub","01M6AD3PBDYPK7NVFJNJ66Y8RS",41162,"MIT","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fflowstudio-power-automate-monitoring\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"power automate monitoring","monitoring","flowstudio power automate monitoring","power","automate","inventory","tenant","for","app","maker","reports","only","environment","MCP","flow","server","run","teams","debugging","monitor","debug","2026-11-10 10:12:30",false,"---\nname: flowstudio-power-automate-monitoring\ndescription: >-\n  Pro+ subscription required. Tenant-wide Power Automate monitoring using the\n  FlowStudio MCP cached store: failure rates, run-health trends, maker\u002Fapp\n  inventory, inactive owners, and compliance\u002Fhealth reports. Use only for\n  aggregated tenant views. For one environment, one flow, run control, or\n  root-cause debugging, use flowstudio-power-automate-mcp, flowstudio-power-automate-debug, or the\n  server monitor-flow bundle. Requires FlowStudio for Teams or MCP Pro+.\n---\n\n# Power Automate Monitoring with FlowStudio MCP\n\nMonitor flow health, track failure rates, and inventory tenant assets through\nthe FlowStudio MCP **cached store** — fast reads, no PA API rate limits, and\nenriched with governance metadata and remediation hints.\n\n> **⚠️ Pro+ subscription required.** This skill calls `store_*` tools that\n> only work for FlowStudio for Teams or MCP Pro+ subscribers.\n>\n> **If the user does not have Pro+ access:** the first `store_*` tool call\n> will return a 403\u002F404 error. When that happens:\n> 1. STOP calling store tools\n> 2. Tell the user this feature requires a Pro+ subscription\n> 3. Link them to https:\u002F\u002Fmcp.flowstudio.app\u002Fpricing\n> 4. If their question can be answered with live tools (e.g. \"list flows in\n>    one environment\"), offer to use the `flowstudio-power-automate-mcp` skill instead\n>\n> **Discovery:** load tool schemas via `tool_search` rather than `tools\u002Flist` —\n> call with `query: \"select:list_store_flows,get_store_flow_summary\"` for the\n> common monitoring tools, or load the full set with `query: \"skill:governance\"`\n> (the server's governance bundle covers most monitoring reads too — this skill\n> and `flowstudio-power-automate-governance` share the underlying tool family). This skill\n> covers response shapes, behavioral notes, and workflow patterns — things\n> `tool_search` cannot tell you. If this document disagrees with a real API\n> response, the API wins.\n\n---\n\n## How Monitoring Works\n\nFlowStudio scans the Power Automate API daily for each subscriber and caches\nthe results. There are two levels:\n\n- **All flows** get metadata scanned: definition, connections, owners, trigger\n  type, and aggregate run statistics (`runPeriodTotal`, `runPeriodFailRate`,\n  etc.). Environments, apps, connections, and makers are also scanned.\n- **Monitored flows** (`monitor: true`) additionally get per-run detail:\n  individual run records with status, duration, failed action names, and\n  remediation hints. This is what populates `get_store_flow_runs` and\n  `get_store_flow_summary`.\n\n**Data freshness:** Check the `scanned` field on `get_store_flow` to see when\na flow was last scanned. If stale, the scanning pipeline may not be running.\n\n**Enabling monitoring:** Set `monitor: true` via `update_store_flow` or the\nFlowStudio for Teams app\n([how to select flows](https:\u002F\u002Flearn.flowstudio.app\u002Fteams-monitoring)).\n\n**Designating critical flows:** Use `update_store_flow` with `critical=true`\non business-critical flows. This enables the governance skill's notification\nrule management to auto-configure failure alerts on critical flows.\n\n---\n\n## Tools\n\n| Tool | Purpose |\n|---|---|\n| `list_store_flows` | List flows with failure rates and monitoring filters |\n| `get_store_flow` | Full cached record: run stats, owners, tier, connections, definition (`triggerUrl` field included) |\n| `get_store_flow_summary` | Aggregated run stats: success\u002Ffail rate, avg\u002Fmax duration |\n| `get_store_flow_runs` | Per-run history with duration, status, failed actions, remediation (filter `status=\"Failed\"` for errors-only view) |\n| `update_store_flow` | Set monitor flag, notification rules, tags, governance metadata |\n| `list_store_environments` | All Power Platform environments |\n| `list_store_connections` | All connections |\n| `list_store_makers` | All makers (citizen developers) |\n| `get_store_maker` | Maker detail: flow\u002Fapp counts, licenses, account status |\n| `list_store_power_apps` | All Power Apps canvas apps |\n\n> For start\u002Fstop, use `set_live_flow_state` from the `monitor-flow` bundle\n> (`tool_search query: \"select:set_live_flow_state\"`) — the cache resyncs on\n> the next scan. The previous `set_store_flow_state` convenience wrapper is\n> deprecated.\n\n---\n\n## Store vs Live\n\n| Question | Use Store | Use Live |\n|---|---|---|\n| How many flows are failing? | `list_store_flows` | — |\n| What's the fail rate over 30 days? | `get_store_flow_summary` | — |\n| Show error history for a flow | `get_store_flow_runs` (filter `status=\"Failed\"`) | — |\n| Who built this flow? | `get_store_flow` → parse `owners` | — |\n| Read the full flow definition | `get_store_flow` has it (JSON string) | `get_live_flow` (structured) |\n| Inspect action inputs\u002Foutputs from a run | — | `get_live_flow_run_action_outputs` |\n| Resubmit a failed run | — | `resubmit_live_flow_run` |\n\n> Store tools answer \"what happened?\" and \"how healthy is it?\"\n> Live tools answer \"what exactly went wrong?\" and \"fix it now.\"\n\n> If `get_store_flow_runs` or `get_store_flow_summary` return empty results,\n> check: (1) is `monitor: true` on the flow? and (2) is the `scanned` field\n> recent? Use `get_store_flow` to verify both.\n\n---\n\n## Response Shapes\n\n### `list_store_flows`\n\nDirect array. Filters: `monitor` (bool), `rule_notify_onfail` (bool),\n`rule_notify_onmissingdays` (bool).\n\n```json\n[\n  {\n    \"id\": \"Default-\u003CenvGuid>.\u003CflowGuid>\",\n    \"displayName\": \"Stripe subscription updated\",\n    \"state\": \"Started\",\n    \"triggerType\": \"Request\",\n    \"triggerUrl\": \"https:\u002F\u002F...\",\n    \"tags\": [\"#operations\", \"#sensitive\"],\n    \"environmentName\": \"Default-aaaaaaaa-...\",\n    \"monitor\": true,\n    \"runPeriodFailRate\": 0.012,\n    \"runPeriodTotal\": 82,\n    \"createdTime\": \"2025-06-24T01:20:53Z\",\n    \"lastModifiedTime\": \"2025-06-24T03:51:03Z\"\n  }\n]\n```\n\n> `id` format: `Default-\u003CenvGuid>.\u003CflowGuid>`. Split on first `.` to get\n> `environmentName` and `flowName`.\n>\n> `triggerUrl` and `tags` are optional. Some entries are sparse (just `id` +\n> `monitor`) — skip entries without `displayName`.\n>\n> Tags on `list_store_flows` are auto-extracted from the flow's `description`\n> field (maker hashtags like `#operations`). Tags written via\n> `update_store_flow(tags=...)` are stored separately and only visible on\n> `get_store_flow` — they do NOT appear in the list response.\n\n### `get_store_flow`\n\nFull cached record. Key fields:\n\n| Category | Fields |\n|---|---|\n| Identity | `name`, `displayName`, `environmentName`, `state`, `triggerType`, `triggerKind`, `tier`, `sharingType` |\n| Run stats | `runPeriodTotal`, `runPeriodFails`, `runPeriodSuccess`, `runPeriodFailRate`, `runPeriodSuccessRate`, `runPeriodDurationAverage`\u002F`Max`\u002F`Min` (milliseconds), `runTotal`, `runFails`, `runFirst`, `runLast`, `runToday` |\n| Governance | `monitor` (bool), `rule_notify_onfail` (bool), `rule_notify_onmissingdays` (number), `rule_notify_email` (string), `log_notify_onfail` (ISO), `description`, `tags` |\n| Freshness | `scanned` (ISO), `nextScan` (ISO) |\n| Lifecycle | `deleted` (bool), `deletedTime` (ISO) |\n| JSON strings | `actions`, `connections`, `owners`, `complexity`, `definition`, `createdBy`, `security`, `triggers`, `referencedResources`, `runError` — all require `json.loads()` to parse |\n\n> Duration fields (`runPeriodDurationAverage`, `Max`, `Min`) are in\n> **milliseconds**. Divide by 1000 for seconds.\n>\n> `runError` contains the last run error as a JSON string. Parse it:\n> `json.loads(record[\"runError\"])` — returns `{}` when no error.\n\n### `get_store_flow_summary`\n\nAggregated stats over a time window (default: last 7 days).\n\n```json\n{\n  \"flowKey\": \"Default-\u003CenvGuid>.\u003CflowGuid>\",\n  \"windowStart\": null,\n  \"windowEnd\": null,\n  \"totalRuns\": 82,\n  \"successRuns\": 81,\n  \"failRuns\": 1,\n  \"successRate\": 0.988,\n  \"failRate\": 0.012,\n  \"averageDurationSeconds\": 2.877,\n  \"maxDurationSeconds\": 9.433,\n  \"firstFailRunRemediation\": null,\n  \"firstFailRunUrl\": null\n}\n```\n\n> Returns all zeros when no run data exists for this flow in the window.\n> Use `startTime` and `endTime` (ISO 8601) parameters to change the window.\n\n### `get_store_flow_runs`\n\nDirect array of cached run records. Parameters: `startTime`, `endTime`,\n`status` (array — pass `[\"Failed\"]` for an errors-only view, `[\"Succeeded\"]`,\nor omit for all).\n\n> Returns `[]` when no run data exists in the window.\n\n### Trigger URL\n\nRead the `triggerUrl` field directly from `get_store_flow` (cached) or\n`get_live_flow` (live). It is `null` for non-HTTP triggers.\n\n### Starting \u002F stopping a flow\n\nUse `set_live_flow_state` from the `monitor-flow` server bundle. The cache\ncatches up on the next daily scan; if you need cache freshness sooner, call\n`get_live_flow` after the state change to confirm and let the next scan sync.\n\n### `update_store_flow`\n\nUpdates governance metadata. Only provided fields are updated (merge).\nReturns the full updated record (same shape as `get_store_flow`).\n\nSettable fields: `monitor` (bool), `rule_notify_onfail` (bool),\n`rule_notify_onmissingdays` (number, 0=disabled),\n`rule_notify_email` (comma-separated), `description`, `tags`,\n`businessImpact`, `businessJustification`, `businessValue`,\n`ownerTeam`, `ownerBusinessUnit`, `supportGroup`, `supportEmail`,\n`critical` (bool), `tier`, `security`.\n\n### `list_store_environments`\n\nDirect array.\n\n```json\n[\n  {\n    \"id\": \"Default-aaaaaaaa-...\",\n    \"displayName\": \"Flow Studio (default)\",\n    \"sku\": \"Default\",\n    \"type\": \"NotSpecified\",\n    \"location\": \"australia\",\n    \"isDefault\": true,\n    \"isAdmin\": true,\n    \"isManagedEnvironment\": false,\n    \"createdTime\": \"2017-01-18T01:06:46Z\"\n  }\n]\n```\n\n> `sku` values: `Default`, `Production`, `Developer`, `Sandbox`, `Teams`.\n\n### `list_store_connections`\n\nDirect array. Can be very large (1500+ items).\n\n```json\n[\n  {\n    \"id\": \"\u003CenvironmentId>.\u003CconnectionId>\",\n    \"displayName\": \"user@contoso.com\",\n    \"createdBy\": \"{\\\"id\\\":\\\"...\\\",\\\"displayName\\\":\\\"...\\\",\\\"email\\\":\\\"...\\\"}\",\n    \"environmentName\": \"...\",\n    \"statuses\": \"[{\\\"status\\\":\\\"Connected\\\"}]\"\n  }\n]\n```\n\n> `createdBy` and `statuses` are **JSON strings** — parse with `json.loads()`.\n\n### `list_store_makers`\n\nDirect array.\n\n```json\n[\n  {\n    \"id\": \"09dbe02f-...\",\n    \"displayName\": \"Sample Maker\",\n    \"mail\": \"maker@contoso.com\",\n    \"deleted\": false,\n    \"ownerFlowCount\": 199,\n    \"ownerAppCount\": 209,\n    \"userIsServicePrinciple\": false\n  }\n]\n```\n\n> Deleted makers have `deleted: true` and no `displayName`\u002F`mail` fields.\n\n### `get_store_maker`\n\nFull maker record. Key fields: `displayName`, `mail`, `userPrincipalName`,\n`ownerFlowCount`, `ownerAppCount`, `accountEnabled`, `deleted`, `country`,\n`firstFlow`, `firstFlowCreatedTime`, `lastFlowCreatedTime`,\n`firstPowerApp`, `lastPowerAppCreatedTime`,\n`licenses` (JSON string of M365 SKUs).\n\n### `list_store_power_apps`\n\nDirect array.\n\n```json\n[\n  {\n    \"id\": \"\u003CenvironmentId>.\u003CappId>\",\n    \"displayName\": \"My App\",\n    \"environmentName\": \"...\",\n    \"ownerId\": \"09dbe02f-...\",\n    \"ownerName\": \"Catherine Han\",\n    \"appType\": \"Canvas\",\n    \"sharedUsersCount\": 0,\n    \"createdTime\": \"2023-08-18T01:06:22Z\",\n    \"lastModifiedTime\": \"2023-08-18T01:06:22Z\",\n    \"lastPublishTime\": \"2023-08-18T01:06:22Z\"\n  }\n]\n```\n\n---\n\n## Common Workflows\n\n### Find unhealthy flows\n\n```\n1. list_store_flows\n2. Filter where runPeriodFailRate > 0.1 and runPeriodTotal >= 5\n3. Sort by runPeriodFailRate descending\n4. For each: get_store_flow for full detail\n```\n\n### Check a specific flow's health\n\n```\n1. get_store_flow → check scanned (freshness), runPeriodFailRate, runPeriodTotal\n2. get_store_flow_summary → aggregated stats with optional time window\n3. get_store_flow_runs(status=[\"Failed\"]) → per-run failure detail with remediation hints\n4. If deeper diagnosis needed → switch to live tools:\n   get_live_flow_runs → get_live_flow_run_action_outputs\n```\n\n### Enable monitoring on a flow\n\n```\n1. update_store_flow with monitor=true\n2. Optionally set rule_notify_onfail=true, rule_notify_email=\"user@domain.com\"\n3. Run data will appear after the next daily scan\n```\n\n### Daily health check\n\n```\n1. list_store_flows\n2. Flag flows with runPeriodFailRate > 0.2 and runPeriodTotal >= 3\n3. Flag monitored flows with state=\"Stopped\" (may indicate auto-suspension)\n4. For critical failures → get_store_flow_runs(status=[\"Failed\"]) for remediation hints\n```\n\n### Maker audit\n\n```\n1. list_store_makers\n2. Identify deleted accounts still owning flows (deleted=true, ownerFlowCount > 0)\n3. get_store_maker for full detail on specific users\n```\n\n### Inventory\n\n```\n1. list_store_environments → environment count, SKUs, locations\n2. list_store_flows → flow count by state, trigger type, fail rate\n3. list_store_power_apps → app count, owners, sharing\n4. list_store_connections → connection count per environment\n```\n\n---\n\n## Related Skills\n\n- `flowstudio-power-automate-mcp` — Foundation skill: connection setup, MCP helper, tool discovery\n- `flowstudio-power-automate-debug` — Deep diagnosis with action-level inputs\u002Foutputs (live API)\n- `flowstudio-power-automate-build` — Build and deploy flow definitions\n- `flowstudio-power-automate-governance` — Governance metadata, tagging, notification rules, CoE patterns\n","# Power Automate Monitoring with FlowStudio MCP\n\nMonitor flow health, track failure rates, and inventory tenant assets through\nthe FlowStudio MCP **cached store** — fast reads, no PA API rate limits, and\nenriched with governance metadata and remediation hints.\n\n> **⚠️ Pro+ subscription required.** This skill calls `store_*` tools that\n> only work for FlowStudio for Teams or MCP Pro+ subscribers.\n>\n> **If the user does not have Pro+ access:** the first `store_*` tool call\n> will return a 403\u002F404 error. When that happens:\n> 1. STOP calling store tools\n> 2. Tell the user this feature requires a Pro+ subscription\n> 3. Link them to https:\u002F\u002Fmcp.flowstudio.app\u002Fpricing\n> 4. If their question can be answered with live tools (e.g. \"list flows in\n>    one environment\"), offer to use the `flowstudio-power-automate-mcp` skill instead\n>\n> **Discovery:** load tool schemas via `tool_search` rather than `tools\u002Flist` —\n> call with `query: \"select:list_store_flows,get_store_flow_summary\"` for the\n> common monitoring tools, or load the full set with `query: \"skill:governance\"`\n> (the server's governance bundle covers most monitoring reads too — this skill\n> and `flowstudio-power-automate-governance` share the underlying tool family). This skill\n> covers response shapes, behavioral notes, and workflow patterns — things\n> `tool_search` cannot tell you. If this document disagrees with a real API\n> response, the API wins.\n\n---\n\n## How Monitoring Works\n\nFlowStudio scans the Power Automate API daily for each subscriber and caches\nthe results. There are two levels:\n\n- **All flows** get metadata scanned: definition, connections, owners, trigger\n  type, and aggregate run statistics (`runPeriodTotal`, `runPeriodFailRate`,\n  etc.). Environments, apps, connections, and makers are also scanned.\n- **Monitored flows** (`monitor: true`) additionally get per-run detail:\n  individual run records with status, duration, failed action names, and\n  remediation hints. This is what populates `get_store_flow_runs` and\n  `get_store_flow_summary`.\n\n**Data freshness:** Check the `scanned` field on `get_store_flow` to see when\na flow was last scanned. If stale, the scanning pipeline may not be running.\n\n**Enabling monitoring:** Set `monitor: true` via `update_store_flow` or the\nFlowStudio for Teams app\n([how to select flows](https:\u002F\u002Flearn.flowstudio.app\u002Fteams-monitoring)).\n\n**Designating critical flows:** Use `update_store_flow` with `critical=true`\non business-critical flows. This enables the governance skill's notification\nrule management to auto-configure failure alerts on critical flows.\n\n---\n\n## Tools\n\n| Tool | Purpose |\n|---|---|\n| `list_store_flows` | List flows with failure rates and monitoring filters |\n| `get_store_flow` | Full cached record: run stats, owners, tier, connections, definition (`triggerUrl` field included) |\n| `get_store_flow_summary` | Aggregated run stats: success\u002Ffail rate, avg\u002Fmax duration |\n| `get_store_flow_runs` | Per-run history with duration, status, failed actions, remediation (filter `status=\"Failed\"` for errors-only view) |\n| `update_store_flow` | Set monitor flag, notification rules, tags, governance metadata |\n| `list_store_environments` | All Power Platform environments |\n| `list_store_connections` | All connections |\n| `list_store_makers` | All makers (citizen developers) |\n| `get_store_maker` | Maker detail: flow\u002Fapp counts, licenses, account status |\n| `list_store_power_apps` | All Power Apps canvas apps |\n\n> For start\u002Fstop, use `set_live_flow_state` from the `monitor-flow` bundle\n> (`tool_search query: \"select:set_live_flow_state\"`) — the cache resyncs on\n> the next scan. The previous `set_store_flow_state` convenience wrapper is\n> deprecated.\n\n---\n\n## Store vs Live\n\n| Question | Use Store | Use Live |\n|---|---|---|\n| How many flows are failing? | `list_store_flows` | — |\n| What's the fail rate over 30 days? | `get_store_flow_summary` | — |\n| Show error history for a flow | `get_store_flow_runs` (filter `status=\"Failed\"`) | — |\n| Who built this flow? | `get_store_flow` → parse `owners` | — |\n| Read the full flow definition | `get_store_flow` has it (JSON string) | `get_live_flow` (structured) |\n| Inspect action inputs\u002Foutputs from a run | — | `get_live_flow_run_action_outputs` |\n| Resubmit a failed run | — | `resubmit_live_flow_run` |\n\n> Store tools answer \"what happened?\" and \"how healthy is it?\"\n> Live tools answer \"what exactly went wrong?\" and \"fix it now.\"\n\n> If `get_store_flow_runs` or `get_store_flow_summary` return empty results,\n> check: (1) is `monitor: true` on the flow? and (2) is the `scanned` field\n> recent? Use `get_store_flow` to verify both.\n\n---\n\n## Response Shapes\n\n### `list_store_flows`\n\nDirect array. Filters: `monitor` (bool), `rule_notify_onfail` (bool),\n`rule_notify_onmissingdays` (bool).\n\n```json\n[\n  {\n    \"id\": \"Default-\u003CenvGuid>.\u003CflowGuid>\",\n    \"displayName\": \"Stripe subscription updated\",\n    \"state\": \"Started\",\n    \"triggerType\": \"Request\",\n    \"triggerUrl\": \"https:\u002F\u002F...\",\n    \"tags\": [\"#operations\", \"#sensitive\"],\n    \"environmentName\": \"Default-aaaaaaaa-...\",\n    \"monitor\": true,\n    \"runPeriodFailRate\": 0.012,\n    \"runPeriodTotal\": 82,\n    \"createdTime\": \"2025-06-24T01:20:53Z\",\n    \"lastModifiedTime\": \"2025-06-24T03:51:03Z\"\n  }\n]\n```\n\n> `id` format: `Default-\u003CenvGuid>.\u003CflowGuid>`. Split on first `.` to get\n> `environmentName` and `flowName`.\n>\n> `triggerUrl` and `tags` are optional. Some entries are sparse (just `id` +\n> `monitor`) — skip entries without `displayName`.\n>\n> Tags on `list_store_flows` are auto-extracted from the flow's `description`\n> field (maker hashtags like `#operations`). Tags written via\n> `update_store_flow(tags=...)` are stored separately and only visible on\n> `get_store_flow` — they do NOT appear in the list response.\n\n### `get_store_flow`\n\nFull cached record. Key fields:\n\n| Category | Fields |\n|---|---|\n| Identity | `name`, `displayName`, `environmentName`, `state`, `triggerType`, `triggerKind`, `tier`, `sharingType` |\n| Run stats | `runPeriodTotal`, `runPeriodFails`, `runPeriodSuccess`, `runPeriodFailRate`, `runPeriodSuccessRate`, `runPeriodDurationAverage`\u002F`Max`\u002F`Min` (milliseconds), `runTotal`, `runFails`, `runFirst`, `runLast`, `runToday` |\n| Governance | `monitor` (bool), `rule_notify_onfail` (bool), `rule_notify_onmissingdays` (number), `rule_notify_email` (string), `log_notify_onfail` (ISO), `description`, `tags` |\n| Freshness | `scanned` (ISO), `nextScan` (ISO) |\n| Lifecycle | `deleted` (bool), `deletedTime` (ISO) |\n| JSON strings | `actions`, `connections`, `owners`, `complexity`, `definition`, `createdBy`, `security`, `triggers`, `referencedResources`, `runError` — all require `json.loads()` to parse |\n\n> Duration fields (`runPeriodDurationAverage`, `Max`, `Min`) are in\n> **milliseconds**. Divide by 1000 for seconds.\n>\n> `runError` contains the last run error as a JSON string. Parse it:\n> `json.loads(record[\"runError\"])` — returns `{}` when no error.\n\n### `get_store_flow_summary`\n\nAggregated stats over a time window (default: last 7 days).\n\n```json\n{\n  \"flowKey\": \"Default-\u003CenvGuid>.\u003CflowGuid>\",\n  \"windowStart\": null,\n  \"windowEnd\": null,\n  \"totalRuns\": 82,\n  \"successRuns\": 81,\n  \"failRuns\": 1,\n  \"successRate\": 0.988,\n  \"failRate\": 0.012,\n  \"averageDurationSeconds\": 2.877,\n  \"maxDurationSeconds\": 9.433,\n  \"firstFailRunRemediation\": null,\n  \"firstFailRunUrl\": null\n}\n```\n\n> Returns all zeros when no run data exists for this flow in the window.\n> Use `startTime` and `endTime` (ISO 8601) parameters to change the window.\n\n### `get_store_flow_runs`\n\nDirect array of cached run records. Parameters: `startTime`, `endTime`,\n`status` (array — pass `[\"Failed\"]` for an errors-only view, `[\"Succeeded\"]`,\nor omit for all).\n\n> Returns `[]` when no run data exists in the window.\n\n### Trigger URL\n\nRead the `triggerUrl` field directly from `get_store_flow` (cached) or\n`get_live_flow` (live). It is `null` for non-HTTP triggers.\n\n### Starting \u002F stopping a flow\n\nUse `set_live_flow_state` from the `monitor-flow` server bundle. The cache\ncatches up on the next daily scan; if you need cache freshness sooner, call\n`get_live_flow` after the state change to confirm and let the next scan sync.\n\n### `update_store_flow`\n\nUpdates governance metadata. Only provided fields are updated (merge).\nReturns the full updated record (same shape as `get_store_flow`).\n\nSettable fields: `monitor` (bool), `rule_notify_onfail` (bool),\n`rule_notify_onmissingdays` (number, 0=disabled),\n`rule_notify_email` (comma-separated), `description`, `tags`,\n`businessImpact`, `businessJustification`, `businessValue`,\n`ownerTeam`, `ownerBusinessUnit`, `supportGroup`, `supportEmail`,\n`critical` (bool), `tier`, `security`.\n\n### `list_store_environments`\n\nDirect array.\n\n```json\n[\n  {\n    \"id\": \"Default-aaaaaaaa-...\",\n    \"displayName\": \"Flow Studio (default)\",\n    \"sku\": \"Default\",\n    \"type\": \"NotSpecified\",\n    \"location\": \"australia\",\n    \"isDefault\": true,\n    \"isAdmin\": true,\n    \"isManagedEnvironment\": false,\n    \"createdTime\": \"2017-01-18T01:06:46Z\"\n  }\n]\n```\n\n> `sku` values: `Default`, `Production`, `Developer`, `Sandbox`, `Teams`.\n\n### `list_store_connections`\n\nDirect array. Can be very large (1500+ items).\n\n```json\n[\n  {\n    \"id\": \"\u003CenvironmentId>.\u003CconnectionId>\",\n    \"displayName\": \"user@contoso.com\",\n    \"createdBy\": \"{\\\"id\\\":\\\"...\\\",\\\"displayName\\\":\\\"...\\\",\\\"email\\\":\\\"...\\\"}\",\n    \"environmentName\": \"...\",\n    \"statuses\": \"[{\\\"status\\\":\\\"Connected\\\"}]\"\n  }\n]\n```\n\n> `createdBy` and `statuses` are **JSON strings** — parse with `json.loads()`.\n\n### `list_store_makers`\n\nDirect array.\n\n```json\n[\n  {\n    \"id\": \"09dbe02f-...\",\n    \"displayName\": \"Sample Maker\",\n    \"mail\": \"maker@contoso.com\",\n    \"deleted\": false,\n    \"ownerFlowCount\": 199,\n    \"ownerAppCount\": 209,\n    \"userIsServicePrinciple\": false\n  }\n]\n```\n\n> Deleted makers have `deleted: true` and no `displayName`\u002F`mail` fields.\n\n### `get_store_maker`\n\nFull maker record. Key fields: `displayName`, `mail`, `userPrincipalName`,\n`ownerFlowCount`, `ownerAppCount`, `accountEnabled`, `deleted`, `country`,\n`firstFlow`, `firstFlowCreatedTime`, `lastFlowCreatedTime`,\n`firstPowerApp`, `lastPowerAppCreatedTime`,\n`licenses` (JSON string of M365 SKUs).\n\n### `list_store_power_apps`\n\nDirect array.\n\n```json\n[\n  {\n    \"id\": \"\u003CenvironmentId>.\u003CappId>\",\n    \"displayName\": \"My App\",\n    \"environmentName\": \"...\",\n    \"ownerId\": \"09dbe02f-...\",\n    \"ownerName\": \"Catherine Han\",\n    \"appType\": \"Canvas\",\n    \"sharedUsersCount\": 0,\n    \"createdTime\": \"2023-08-18T01:06:22Z\",\n    \"lastModifiedTime\": \"2023-08-18T01:06:22Z\",\n    \"lastPublishTime\": \"2023-08-18T01:06:22Z\"\n  }\n]\n```\n\n---\n\n## Common Workflows\n\n### Find unhealthy flows\n\n```\n1. list_store_flows\n2. Filter where runPeriodFailRate > 0.1 and runPeriodTotal >= 5\n3. Sort by runPeriodFailRate descending\n4. For each: get_store_flow for full detail\n```\n\n### Check a specific flow's health\n\n```\n1. get_store_flow → check scanned (freshness), runPeriodFailRate, runPeriodTotal\n2. get_store_flow_summary → aggregated stats with optional time window\n3. get_store_flow_runs(status=[\"Failed\"]) → per-run failure detail with remediation hints\n4. If deeper diagnosis needed → switch to live tools:\n   get_live_flow_runs → get_live_flow_run_action_outputs\n```\n\n### Enable monitoring on a flow\n\n```\n1. update_store_flow with monitor=true\n2. Optionally set rule_notify_onfail=true, rule_notify_email=\"user@domain.com\"\n3. Run data will appear after the next daily scan\n```\n\n### Daily health check\n\n```\n1. list_store_flows\n2. Flag flows with runPeriodFailRate > 0.2 and runPeriodTotal >= 3\n3. Flag monitored flows with state=\"Stopped\" (may indicate auto-suspension)\n4. For critical failures → get_store_flow_runs(status=[\"Failed\"]) for remediation hints\n```\n\n### Maker audit\n\n```\n1. list_store_makers\n2. Identify deleted accounts still owning flows (deleted=true, ownerFlowCount > 0)\n3. get_store_maker for full detail on specific users\n```\n\n### Inventory\n\n```\n1. list_store_environments → environment count, SKUs, locations\n2. list_store_flows → flow count by state, trigger type, fail rate\n3. list_store_power_apps → app count, owners, sharing\n4. list_store_connections → connection count per environment\n```\n\n---\n\n## Related Skills\n\n- `flowstudio-power-automate-mcp` — Foundation skill: connection setup, MCP helper, tool discovery\n- `flowstudio-power-automate-debug` — Deep diagnosis with action-level inputs\u002Foutputs (live API)\n- `flowstudio-power-automate-build` — Build and deploy flow definitions\n- `flowstudio-power-automate-governance` — Governance metadata, tagging, notification rules, CoE patterns\n",{"name":5,"description":7},"main","5269f7ea2d6c3a9bfda5ed878b6726cf509121fd","skills\u002Fflowstudio-power-automate-monitoring",5360,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot","https:\u002F\u002Fawesome-copilot.github.com\u002F","https:\u002F\u002Fgithub.com\u002Fgithub","https:\u002F\u002Fgithub.com\u002Fabout","How people build software.","2026-11-15 04:42:30",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add github\u002Fawesome-copilot --skill flowstudio-power-automate-monitoring",{"tool":66,"command":67},"bunx","bunx skills add github\u002Fawesome-copilot --skill flowstudio-power-automate-monitoring",{"tool":69,"command":70},"pnpm","pnpm dlx skills add github\u002Fawesome-copilot --skill flowstudio-power-automate-monitoring","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fflowstudio-power-automate-monitoring\u002FSKILL.md",true,[74],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"agents\u002Fopenai.yaml","REFERENCE","参考文档",121,"https:\u002F\u002Fgithub.com\u002FJij-Inc\u002Fommx\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fommx-issue-triage\u002Fagents\u002Fopenai.yaml",[81,112,139,168,202,219],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":91,"publishedAt":45},"01M70KXZNX9ES38N2A8M58ZZMZ","supabase-rls-policies","Write, review, and test Supabase Row Level Security (RLS) policies so that one user cannot read or change another user's rows. Use when creating or changing tables, policies, views, or security definer functions in a Supabase project, when reviewing a migration that touches RLS, or when asked to prove user isolation with pgTAP tests that sign in as two users.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fsupabase-rls-policies\u002FSKILL.md",[87,90],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111],"supabase","rls","supabase rls","supabase rls policies","project","when","review","change","read","write","security","isolation","tables","as","tests","prove","use","users","functions","with",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":119,"publishedAt":45},"01M70KWA5YWXDV6V8DZ19E3T2Y","skill-distribution-audit","Audit a skill collection before release or investigate installer omissions, archived\u002Ftemplate leakage, duplicate identities, and manifest drift. Reconcile the intended public source set, distribution manifest, and actual discovery output for a specified consumer version. Includes a deterministic set-comparison helper.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fskill-distribution-audit\u002FSKILL.md",[118],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[120,121,122,123,124,125,31,126,127,128,129,130,131,132,133,134,135,136,137,138],"distribution","skill distribution audit","audit","SET","deterministic","installer","discovery","comparison","helper","manifest","version","collection","drift","output","investigate","duplicate","template","release","reconcile",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":143,"sourceHtmlUrl":144,"categories":145,"keywords":151,"publishedAt":45},"01M70KCJPFVW7PPQ49CC5R8JGK","logicapps-custom-code-net10-migration","Migrate Azure Logic Apps Standard local-function custom-code projects from .NET 8 to .NET 10. Use for legacy Logic Apps custom-code workspace upgrades, project\u002Fpackage configuration, custom-worker settings, publication, and integrated VS Code debugging. Not for ordinary .NET applications, standalone Azure Functions, Consumption workflows, or cloud deployment.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FSKILL.md",[146],{"categoryNo":147,"categoryName":148,"taxonomyType":149,"taxonomyTypeDesc":150},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[152,153,154,155,156,157,31,96,158,159,160,161,162,163,164,108,165,166,42,167],"custom","code","logicapps custom code net10 migration","migration","projects","standalone","deployment","applications","local","azure","worker","upgrades","package","apps","Legacy","workflows",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":172,"sourceHtmlUrl":173,"categories":174,"keywords":179,"publishedAt":45},"01M6AEBN37RQMXJ3298PEY7PG1","winmd-api-search","Find and explore Windows desktop APIs. Use when building features that need platform capabilities — camera, file access, notifications, UI controls, AI\u002FML, sensors, networking, etc. Discovers the right API for a task and retrieves full type details (methods, properties, events, enumeration values).","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FSKILL.md",[175,178],{"categoryNo":176,"categoryName":177,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":147,"categoryName":148,"taxonomyType":149,"taxonomyTypeDesc":150},[180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,97,195,196,197,198,199,31,200,201],"winmd api search","search","api","windows","desktop","file access","enumeration","ui","ml","file","networking","capabilities","notifications","explore","access","features","full","camera","events","platform","methods","controls",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":206,"licenseFileUrl":207,"sourceHtmlUrl":208,"categories":209,"keywords":215,"publishedAt":45},"01M6AE571R3SC1ZGE202B3NB5S","resemble-detect","Deepfake detection and media safety — detect AI-generated audio, images, video, and text, trace synthesis sources, apply watermarks, verify speaker identity, and analyze media intelligence using Resemble AI","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FSKILL.md",[210,211,214],{"categoryNo":176,"categoryName":177,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":212,"categoryName":213,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[216,123,189,217,218],"resemble detect","https","identity",{"skillNo":220,"name":221,"nameZh":6,"description":222,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":206,"licenseFileUrl":223,"sourceHtmlUrl":224,"categories":225,"keywords":230,"publishedAt":45},"01M6AE30BSK2HCY4TQQ22Z8JRD","quality-playbook","Run a complete quality engineering audit on any codebase. Derives behavioral requirements from the code, generates spec-traced functional tests, runs a three-pass code review with regression tests, executes a multi-model spec audit (Council of Three), and produces a consolidated bug report with TDD-verified patches. Finds the 35% of real defects that structural code review alone cannot catch. Works with any language. Trigger on 'quality playbook', 'spec audit', 'Council of Three', 'fitness-to-purpose', or 'coverage theater'.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FSKILL.md",[226,229],{"categoryNo":227,"categoryName":228,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[231,232,233,234,153,98,9,122,235,40,217,236,237,238,239,240,241,242,243,244,245,246,106,247,248,249,250],"playbook","quality playbook","quality","code review","tdd","report","spec","bug report","council","engineering","functional","spec audit","bug","verified","multi-model","three","coverage","model","regression","structural"]