mirror of
https://github.com/github/awesome-copilot.git
synced 2026-05-15 11:11:48 +00:00
Update FlowStudio Power Automate skills (#1664)
* feat(flowstudio): align Power Automate skills with MCP server v1.1.6 Foundation skill (flowstudio-power-automate-mcp) rewritten to use the server's new tool_search and list_skills meta-tools (v1.1.5+) for discovery instead of cataloging every tool by hand. Cut from 519 to 295 lines. New "Which Skill to Use When" intent-keyed decision tree points at the four specialized skills. Build/debug/governance/monitoring updated for use-case framing. Tools that genuinely cross tiers (e.g. debug skill borrowing get_store_flow_summary) are correct when the workflow needs them — the split between skills is by use-case intent, not by tool partition. Build skill: new Step 3a Resolving Dynamic Connector Values covers get_live_dynamic_options outer-parameter auto-bridge (v1.1.6+) and the AadGraph user-picker fallback via shared_office365users.SearchUserV2 (replaces broken builtInOperation:AadGraph.GetUsers). Debug skill: Outlook user-picker failure note pointing at the fallback. Monitoring skill description disambiguates from the server's monitor-flow tool bundle (runtime control of a single flow) — this skill is tenant-wide health analytics over the cached store. All 5 skills validate via npm run skill:validate; line endings LF only; codespell clean; auto-regenerated docs/README.skills.md included. * fix(flowstudio): remove deprecated tool references The v1.1.5 MCP server release marked 5 tools [DEPRECATED] but the previous alignment commit missed them. Replacements per server source: - get_live_flow_http_schema → read trigger.inputs.schema from get_live_flow - get_live_flow_trigger_url → read trigger.metadata.callbackUrl from get_live_flow - get_store_flow_trigger_url → get_store_flow.triggerUrl field - get_store_flow_errors → get_store_flow_runs(status=["Failed"]) - set_store_flow_state → set_live_flow_state Touches build, debug, governance, monitoring SKILL.md and the foundation skill's tool-reference.md. Remaining mentions of the deprecated names are intentional — they live in deprecation notices naming the obsolete wrapper alongside its replacement. * Update FlowStudio Power Automate skills * Cover latest FlowStudio MCP actions * Trim FlowStudio Power Automate skills * Number FlowStudio build workflow steps
This commit is contained in:
@@ -1,27 +1,12 @@
|
||||
---
|
||||
name: flowstudio-power-automate-monitoring
|
||||
description: >-
|
||||
**Pro+ subscription required.** Tenant-wide Power Automate flow health
|
||||
monitoring, failure rate analytics, and asset inventory using the FlowStudio
|
||||
MCP cached store. Load this skill ONLY for tenant-wide aggregated views — not
|
||||
for listing flows in a single environment or debugging a specific run (use
|
||||
power-automate-mcp or power-automate-debug for those). Not the same as the
|
||||
server's `monitor-flow` tool bundle (`tool_search query: "skill:monitor-flow"`)
|
||||
— that bundle is for runtime control of a single flow (start/stop/trigger/
|
||||
cancel/resubmit); this skill is for tenant-wide health analytics over the
|
||||
cached store.
|
||||
Load when asked to: monitor tenant health, get aggregated failure rates over
|
||||
a time window, review tenant-wide error trends, find inactive makers across
|
||||
the tenant, inventory all Power Apps in the tenant, compute governance scores,
|
||||
generate a compliance report, or run a tenant-wide health overview. Requires
|
||||
a FlowStudio for Teams or MCP Pro+ subscription — see https://mcp.flowstudio.app
|
||||
metadata:
|
||||
openclaw:
|
||||
requires:
|
||||
env:
|
||||
- FLOWSTUDIO_MCP_TOKEN
|
||||
primaryEnv: FLOWSTUDIO_MCP_TOKEN
|
||||
homepage: https://mcp.flowstudio.app
|
||||
Pro+ subscription required. Tenant-wide Power Automate monitoring using the
|
||||
FlowStudio MCP cached store: failure rates, run-health trends, maker/app
|
||||
inventory, inactive owners, and compliance/health 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+.
|
||||
---
|
||||
|
||||
# Power Automate Monitoring with FlowStudio MCP
|
||||
@@ -39,13 +24,13 @@ enriched with governance metadata and remediation hints.
|
||||
> 2. Tell the user this feature requires a Pro+ subscription
|
||||
> 3. Link them to https://mcp.flowstudio.app/pricing
|
||||
> 4. If their question can be answered with live tools (e.g. "list flows in
|
||||
> one environment"), offer to use the `power-automate-mcp` skill instead
|
||||
> one environment"), offer to use the `flowstudio-power-automate-mcp` skill instead
|
||||
>
|
||||
> **Discovery:** load tool schemas via `tool_search` rather than `tools/list` —
|
||||
> call with `query: "select:list_store_flows,get_store_flow_summary"` for the
|
||||
> common monitoring tools, or load the full set with `query: "skill:governance"`
|
||||
> (the server's governance bundle covers most monitoring reads too — this skill
|
||||
> and `power-automate-governance` share the underlying tool family). This skill
|
||||
> and `flowstudio-power-automate-governance` share the underlying tool family). This skill
|
||||
> covers response shapes, behavioral notes, and workflow patterns — things
|
||||
> `tool_search` cannot tell you. If this document disagrees with a real API
|
||||
> response, the API wins.
|
||||
@@ -62,8 +47,8 @@ the results. There are two levels:
|
||||
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`.
|
||||
remediation hints. This is what populates `get_store_flow_runs` 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.
|
||||
@@ -83,12 +68,9 @@ rule management to auto-configure failure alerts on critical flows.
|
||||
| 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` | Full cached record: run stats, owners, tier, connections, definition (`triggerUrl` field included) |
|
||||
| `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 |
|
||||
| `get_store_flow_runs` | Per-run history with duration, status, failed actions, remediation (filter `status="Failed"` for errors-only view) |
|
||||
| `update_store_flow` | Set monitor flag, notification rules, tags, governance metadata |
|
||||
| `list_store_environments` | All Power Platform environments |
|
||||
| `list_store_connections` | All connections |
|
||||
@@ -96,6 +78,11 @@ rule management to auto-configure failure alerts on critical flows.
|
||||
| `get_store_maker` | Maker detail: flow/app counts, licenses, account status |
|
||||
| `list_store_power_apps` | All Power Apps canvas apps |
|
||||
|
||||
> For start/stop, use `set_live_flow_state` from the `monitor-flow` bundle
|
||||
> (`tool_search query: "select:set_live_flow_state"`) — the cache resyncs on
|
||||
> the next scan. The previous `set_store_flow_state` convenience wrapper is
|
||||
> deprecated.
|
||||
|
||||
---
|
||||
|
||||
## Store vs Live
|
||||
@@ -104,7 +91,7 @@ rule management to auto-configure failure alerts on critical flows.
|
||||
|---|---|---|
|
||||
| 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` | — |
|
||||
| Show error history for a flow | `get_store_flow_runs` (filter `status="Failed"`) | — |
|
||||
| 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` |
|
||||
@@ -113,9 +100,9 @@ rule management to auto-configure failure alerts on critical flows.
|
||||
> 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.
|
||||
> If `get_store_flow_runs` 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.
|
||||
|
||||
---
|
||||
|
||||
@@ -135,7 +122,7 @@ Direct array. Filters: `monitor` (bool), `rule_notify_onfail` (bool),
|
||||
"triggerType": "Request",
|
||||
"triggerUrl": "https://...",
|
||||
"tags": ["#operations", "#sensitive"],
|
||||
"environmentName": "Default-26e65220-...",
|
||||
"environmentName": "Default-aaaaaaaa-...",
|
||||
"monitor": true,
|
||||
"runPeriodFailRate": 0.012,
|
||||
"runPeriodTotal": 82,
|
||||
@@ -199,52 +186,24 @@ Aggregated stats over a time window (default: last 7 days).
|
||||
> 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`
|
||||
### `get_store_flow_runs`
|
||||
|
||||
Direct array. `get_store_flow_errors` filters to `status=Failed` only.
|
||||
Parameters: `startTime`, `endTime`, `status` (array: `["Failed"]`,
|
||||
`["Succeeded"]`, etc.).
|
||||
Direct array of cached run records. Parameters: `startTime`, `endTime`,
|
||||
`status` (array — pass `["Failed"]` for an errors-only view, `["Succeeded"]`,
|
||||
or omit for all).
|
||||
|
||||
> Both return `[]` when no run data exists.
|
||||
> Returns `[]` when no run data exists in the window.
|
||||
|
||||
### `get_store_flow_trigger_url`
|
||||
### Trigger URL
|
||||
|
||||
```json
|
||||
{
|
||||
"flowKey": "Default-<envGuid>.<flowGuid>",
|
||||
"displayName": "Stripe subscription updated",
|
||||
"triggerType": "Request",
|
||||
"triggerKind": "Http",
|
||||
"triggerUrl": "https://..."
|
||||
}
|
||||
```
|
||||
Read the `triggerUrl` field directly from `get_store_flow` (cached) or
|
||||
`get_live_flow` (live). It is `null` for non-HTTP triggers.
|
||||
|
||||
> `triggerUrl` is null for non-HTTP triggers.
|
||||
### Starting / stopping a flow
|
||||
|
||||
### `set_store_flow_state`
|
||||
|
||||
Calls the live PA API then syncs state to the cache and returns the
|
||||
full updated record.
|
||||
|
||||
```json
|
||||
{
|
||||
"flowKey": "Default-<envGuid>.<flowGuid>",
|
||||
"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.
|
||||
Use `set_live_flow_state` from the `monitor-flow` server bundle. The cache
|
||||
catches up on the next daily scan; if you need cache freshness sooner, call
|
||||
`get_live_flow` after the state change to confirm and let the next scan sync.
|
||||
|
||||
### `update_store_flow`
|
||||
|
||||
@@ -265,7 +224,7 @@ Direct array.
|
||||
```json
|
||||
[
|
||||
{
|
||||
"id": "Default-26e65220-...",
|
||||
"id": "Default-aaaaaaaa-...",
|
||||
"displayName": "Flow Studio (default)",
|
||||
"sku": "Default",
|
||||
"type": "NotSpecified",
|
||||
@@ -306,8 +265,8 @@ Direct array.
|
||||
[
|
||||
{
|
||||
"id": "09dbe02f-...",
|
||||
"displayName": "Catherine Han",
|
||||
"mail": "catherine.han@flowstudio.app",
|
||||
"displayName": "Sample Maker",
|
||||
"mail": "maker@contoso.com",
|
||||
"deleted": false,
|
||||
"ownerFlowCount": 199,
|
||||
"ownerAppCount": 209,
|
||||
@@ -365,7 +324,7 @@ Direct array.
|
||||
```
|
||||
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
|
||||
3. get_store_flow_runs(status=["Failed"]) → 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
|
||||
```
|
||||
@@ -384,7 +343,7 @@ Direct array.
|
||||
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
|
||||
4. For critical failures → get_store_flow_runs(status=["Failed"]) for remediation hints
|
||||
```
|
||||
|
||||
### Maker audit
|
||||
@@ -408,7 +367,7 @@ Direct array.
|
||||
|
||||
## Related Skills
|
||||
|
||||
- `power-automate-mcp` — Foundation skill: connection setup, MCP helper, tool discovery
|
||||
- `power-automate-debug` — Deep diagnosis with action-level inputs/outputs (live API)
|
||||
- `power-automate-build` — Build and deploy flow definitions
|
||||
- `power-automate-governance` — Governance metadata, tagging, notification rules, CoE patterns
|
||||
- `flowstudio-power-automate-mcp` — Foundation skill: connection setup, MCP helper, tool discovery
|
||||
- `flowstudio-power-automate-debug` — Deep diagnosis with action-level inputs/outputs (live API)
|
||||
- `flowstudio-power-automate-build` — Build and deploy flow definitions
|
||||
- `flowstudio-power-automate-governance` — Governance metadata, tagging, notification rules, CoE patterns
|
||||
|
||||
Reference in New Issue
Block a user