flowstudio-power-automate-monitoring

安装量: 504
排名: #4485

安装

npx skills add https://github.com/github/awesome-copilot --skill flowstudio-power-automate-monitoring

Power Automate Monitoring with FlowStudio MCP Monitor flow health, track failure rates, and inventory tenant assets through the FlowStudio MCP cached store — fast reads, no PA API rate limits, and enriched with governance metadata and remediation hints. Requires: A FlowStudio for Teams or MCP Pro+ subscription. Start every session with tools/list to confirm tool names and parameters. This skill covers response shapes, behavioral notes, and workflow patterns — things tools/list cannot tell you. If this document disagrees with tools/list or a real API response, the API wins. How Monitoring Works Flow Studio scans the Power Automate API daily for each subscriber and caches the results. There are two levels: All flows get metadata scanned: definition, connections, owners, trigger type, and aggregate run statistics ( runPeriodTotal , runPeriodFailRate , etc.). Environments, apps, connections, and makers are also scanned. Monitored flows ( monitor: true ) additionally get per-run detail: individual run records with status, duration, failed action names, and remediation hints. This is what populates get_store_flow_runs , get_store_flow_errors , and get_store_flow_summary . Data freshness: Check the scanned field on get_store_flow to see when a flow was last scanned. If stale, the scanning pipeline may not be running. Enabling monitoring: Set monitor: true via update_store_flow or the Flow Studio for Teams app ( how to select flows ). Designating critical flows: Use update_store_flow with critical=true on business-critical flows. This enables the governance skill's notification rule management to auto-configure failure alerts on critical flows. Tools Tool Purpose list_store_flows List flows with failure rates and monitoring filters get_store_flow Full cached record: run stats, owners, tier, connections, definition get_store_flow_summary Aggregated run stats: success/fail rate, avg/max duration get_store_flow_runs Per-run history with duration, status, failed actions, remediation get_store_flow_errors Failed-only runs with action names and remediation hints get_store_flow_trigger_url Trigger URL from cache (instant, no PA API call) set_store_flow_state Start or stop a flow and sync state back to cache update_store_flow Set monitor flag, notification rules, tags, governance metadata list_store_environments All Power Platform environments list_store_connections All connections list_store_makers All makers (citizen developers) get_store_maker Maker detail: flow/app counts, licenses, account status list_store_power_apps All Power Apps canvas apps Store vs Live Question Use Store Use Live How many flows are failing? list_store_flows — What's the fail rate over 30 days? get_store_flow_summary — Show error history for a flow get_store_flow_errors — Who built this flow? get_store_flow → parse owners — Read the full flow definition get_store_flow has it (JSON string) get_live_flow (structured) Inspect action inputs/outputs from a run — get_live_flow_run_action_outputs Resubmit a failed run — resubmit_live_flow_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 , get_store_flow_errors , or get_store_flow_summary return empty results, check: (1) is monitor: true on the flow? and (2) is the scanned field recent? Use get_store_flow to verify both. Response Shapes list_store_flows Direct array. Filters: monitor (bool), rule_notify_onfail (bool), rule_notify_onmissingdays (bool). [ { "id" : "Default-." , "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" } ] id format: Default-. . Split on first . to get environmentName and flowName . triggerUrl and tags are optional. Some entries are sparse (just id + monitor ) — skip entries without displayName . Tags on list_store_flows are auto-extracted from the flow's description field (maker hashtags like

operations

). Tags written via update_store_flow(tags=...) are stored separately and only visible on get_store_flow — they do NOT appear in the list response. get_store_flow Full cached record. Key fields: Category Fields Identity name , displayName , environmentName , state , triggerType , triggerKind , tier , sharingType Run stats runPeriodTotal , runPeriodFails , runPeriodSuccess , runPeriodFailRate , runPeriodSuccessRate , runPeriodDurationAverage / Max / Min (milliseconds), runTotal , runFails , runFirst , runLast , runToday Governance monitor (bool), rule_notify_onfail (bool), rule_notify_onmissingdays (number), rule_notify_email (string), log_notify_onfail (ISO), description , tags Freshness scanned (ISO), nextScan (ISO) Lifecycle deleted (bool), deletedTime (ISO) JSON strings actions , connections , owners , complexity , definition , createdBy , security , triggers , referencedResources , runError — all require json.loads() to parse Duration fields ( runPeriodDurationAverage , Max , Min ) are in milliseconds . Divide by 1000 for seconds. runError contains the last run error as a JSON string. Parse it: json.loads(record["runError"]) — returns {} when no error. get_store_flow_summary Aggregated stats over a time window (default: last 7 days). { "flowKey" : "Default-." , "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. Use startTime and endTime (ISO 8601) parameters to change the window. get_store_flow_runs / get_store_flow_errors Direct array. get_store_flow_errors filters to status=Failed only. Parameters: startTime , endTime , status (array: ["Failed"] , ["Succeeded"] , etc.). Both return [] when no run data exists. get_store_flow_trigger_url { "flowKey" : "Default-." , "displayName" : "Stripe subscription updated" , "triggerType" : "Request" , "triggerKind" : "Http" , "triggerUrl" : "https://..." } triggerUrl is null for non-HTTP triggers. set_store_flow_state Calls the live PA API then syncs state to the cache and returns the full updated record. { "flowKey" : "Default-." , "requestedState" : "Stopped" , "currentState" : "Stopped" , "flow" : { / full gFlows record, same shape as get_store_flow / } } The embedded flow object reflects the new state immediately — no follow-up get_store_flow call needed. Useful for governance workflows that stop a flow and then read its tags/monitor/owner metadata in the same turn. Functionally equivalent to set_live_flow_state for changing state, but set_live_flow_state only returns {flowName, environmentName, requestedState, actualState} and doesn't sync the cache. Prefer set_live_flow_state when you only need to toggle state and don't care about cache freshness. update_store_flow Updates governance metadata. Only provided fields are updated (merge). Returns the full updated record (same shape as get_store_flow ). Settable fields: monitor (bool), rule_notify_onfail (bool), rule_notify_onmissingdays (number, 0=disabled), rule_notify_email (comma-separated), description , tags , businessImpact , businessJustification , businessValue , ownerTeam , ownerBusinessUnit , supportGroup , supportEmail , critical (bool), tier , security . list_store_environments Direct array. [ { "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" } ] sku values: Default , Production , Developer , Sandbox , Teams . list_store_connections Direct array. Can be very large (1500+ items). [ { "id" : "." , "displayName" : "user@contoso.com" , "createdBy" : "{\"id\":\"...\",\"displayName\":\"...\",\"email\":\"...\"}" , "environmentName" : "..." , "statuses" : "[{\"status\":\"Connected\"}]" } ] createdBy and statuses are JSON strings — parse with json.loads() . list_store_makers Direct array. [ { "id" : "09dbe02f-..." , "displayName" : "Catherine Han" , "mail" : "catherine.han@flowstudio.app" , "deleted" : false , "ownerFlowCount" : 199 , "ownerAppCount" : 209 , "userIsServicePrinciple" : false } ] Deleted makers have deleted: true and no displayName / mail fields. get_store_maker Full maker record. Key fields: displayName , mail , userPrincipalName , ownerFlowCount , ownerAppCount , accountEnabled , deleted , country , firstFlow , firstFlowCreatedTime , lastFlowCreatedTime , firstPowerApp , lastPowerAppCreatedTime , licenses (JSON string of M365 SKUs). list_store_power_apps Direct array. [ { "id" : "." , "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" } ] Common Workflows Find unhealthy flows 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 detail Check a specific flow's health 1. 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_outputs Enable monitoring on a flow 1. 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 scan Daily health check 1. 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 hints Maker audit 1. list_store_makers 2. Identify deleted accounts still owning flows (deleted=true, ownerFlowCount > 0) 3. get_store_maker for full detail on specific users Inventory 1. 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 environment

返回排行榜