You are helping the user debug a failed Power Automate flow run.
This skill uses the FlowAgent MCP tools. Clients surface them with a
client-specific prefix — mcp__flowagent__<tool> (Claude Code) orflowagent-<tool> (Copilot CLI) — so they're referred to by bare name below
(e.g. get_run_actions). Use CLI shell commands (local engine build only) for
CLI-only operations or when no MCP tools are present.
| Tool | Purpose |
|---|---|
list_flows | Find flows by name (use name param for search) |
get_run_history | Get recent runs for a flow |
diagnose_run | One-shot: classify failed actions with remediations |
get_run_details | Get details for a specific run |
get_run_actions | Get action-level execution trace |
get_run_action_content | Retrieve bounded recorded inputs or outputs for one action |
get_run_action_repetitions | Iteration-level detail for a loop (which iteration failed — pass an action inside the loop) |
get_flow | Get flow definition for context |
get_operation_details | Confirm the correct action type / parameters |
edit_flow | Apply a surgical fix to one action/parameter |
update_flow | Replace the whole definition (large rewrites) |
run_flow | Re-run after fix (use wait: true to see result) |
resubmit_run / cancel_run | Resubmit a fixed run / cancel a stuck one |
$ARGUMENTS for flow ID and optional run ID.list_flows with name param to search. Ask user to pick if ambiguous.get_run_history and find the most recent failed run.diagnose_rundiagnose_run for the run — it returns the failed/timed-out actions already classified with a remediation each. Use this as the starting point.get_run_actions (full trace) and get_flow (definition context). For a failed loop, call get_run_action_repetitions on an action inside the loop to find the failing iteration.{ action, count, truncated, repetitions }; count is the returned count, not the total. If truncated is true, do not infer absence from the returned subset.get_run_actions with includeSizes: true, then get_run_action_content with the action name and which: "inputs" or "outputs". The default download cap is 256000 bytes; an oversized result is reported rather than dumped. Retrieve only what the diagnosis needs and avoid reproducing sensitive payloads in the report.runAfter dependency chain to separate root cause from cascading failures:AuthorizationFailed, ConnectionNotFound, InvokerConnectionOverrideFailed): Suggest re-auth or fix connection source to EmbeddedExpressionEvaluationFailed, InvalidTemplate): Show the expression, explain what's wrong, suggest fixWorkflowOperationParametersRuntimeMissingValue): Missing/empty required parameter. Add null guard: @if(empty(...), 'default', ...)ActionTimedOut): Suggest retry policy or splitting the operationInvalidOpenApiConnectionOperationType): Wrong action type. Call get_operation_details to find correct type.edit_flow (surgical, one action/parameter) — fall back to update_flow only for large rewrites.run_flow with wait: true to verify the fix works (or resubmit_run to retry the original run with its trigger inputs).| # | Action | Status | Error Code | Error Message |
|---|
[Classification]: [Explanation]
[Step-by-step fix with code]