github/awesome-copilot5 files

Flowstudio Power Automate MCP

>-

Specification
Skill ID
github/awesome-copilot/flowstudio-power-automate-mcp
Publisher
github
Repository
awesome-copilot
Installs
0
Files
5
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

github/awesome-copilot/flowstudio-power-automate-mcpInstalls these files
  • SKILL.md
  • references/MCP-BOOTSTRAP.md
  • references/action-types.md
  • references/connection-references.md
  • references/tool-reference.md

What this skill tells the agent

Power Automate via FlowStudio MCP — Foundation

This skill is the plumbing layer. It gives an AI agent a reliable way to talk to a FlowStudio MCP server, discover what tools are available, and handle the responses cleanly. The actual workflow narratives live in four specialized skills that all build on this one.

Real debugging examples: Expression error in child flow | Data entry, not a flow bug | Null value crashes child flow
Requires: A FlowStudio MCP subscription (or compatible Power Automate MCP server). You will need: - MCP endpoint: https://mcp.flowstudio.app/mcp (same for all subscribers) - API key / JWT token (x-api-key header — NOT Bearer) - In ChatGPT or claude.ai there is no key: add https://mcp.flowstudio.app/mcp/oauth as a connector and sign in with Microsoft — see the ChatGPT walkthrough - Power Platform environment name (e.g. Default-<tenant-guid>)

Which Skill to Use When

Skills are organized by use-case intent, not by which tools they call. Multiple skills reuse the same underlying tools — pick by what the user is trying to accomplish.

The user wants to…Load this skill
Make or change a flow (build new, modify existing, fix a bug, deploy)`flowstudio-power-automate-build`
Diagnose why a flow failed (root cause analysis on a failing run)`flowstudio-power-automate-debug`
See tenant-wide flow health, failure rates, asset inventory`flowstudio-power-automate-monitoring` (Pro+)
Tag, audit, classify, score, or offboard flows`flowstudio-power-automate-governance` (Pro+)
Just connect, set up auth, write the helper, parse responsesthis skill (foundation)

Same tools, different lenses. flowstudio-power-automate-build and flowstudio-power-automate-debug both call update_live_flow, get_live_flow, and the run-error tools — they differ in direction (forward vs backward) and intent (compose vs diagnose). flowstudio-power-automate-monitoring and flowstudio-power-automate-governance both call the Store tools — they differ in audience (ops vs compliance) and outcome (read health vs write metadata). Don't try to memorize "which tools belong to which skill"; pick the skill by what the user is doing.


Source of Truth

PrioritySourceCovers
1Real API responseAlways trust what the server actually returns
2`tool_search` / `list_skills`Authoritative tool schemas, parameter names, types, required flags
3SKILL docs & reference filesWorkflow narrative, response shapes, non-obvious behaviors

If documentation disagrees with a real API response, the API wins. Tool schemas in this skill (or any other) may lag the server — call tool_search to confirm the current shape before invoking a tool you haven't used recently.


How Agents Discover Tools

The FlowStudio MCP server (v1.1.5+) exposes two non-billable meta-tools that let an agent load only the tools relevant to the current task. Use these in preference to tools/list (which loads all 30+ schemas at once) or guessing tool names.

Meta-toolWhen to call
list_skillsCold start — see the available bundles (build-flow, create-flow, debug-flow, monitor-flow, discover, governance) and pick one
tool_search with query: "skill:<name>"Load the full schema set for one bundle (e.g. skill:debug-flow)
tool_search with query: "select:tool1,tool2"Load specific tools by name (e.g. when chaining across bundles)
tool_search with query: "<keywords>"Free-text search when the user request is ambiguous (e.g. "cancel run")

The server's tool_search bundles are intentionally narrower than this skill family — they're starter packs of the most-likely-needed tools per intent. A workflow skill (e.g. flowstudio-power-automate-debug) may pull a bundle and then call tool_search again for additional tools as the workflow progresses.

# Cold start — pick a bundle by intent
skills = mcp("list_skills", {})
# [{"name": "debug-flow", "description": "Investigate why a flow is failing...",
#   "tools": ["get_live_flow_runs", "get_live_flow_run_error", ...]}, ...]

# Load schemas for the bundle
debug_tools = mcp("tool_search", {"query": "skill:debug-flow"})

Current common bundles:

BundleUse when
create-flowCreating a brand-new flow; includes environment/connection discovery, connector description, dynamic options, and update_live_flow
build-flowReading or modifying an existing flow definition
debug-flowInvestigating failed runs and action-level inputs/outputs
monitor-flowStarting/stopping, triggering, cancelling, or resubmitting runs
discoverEnumerating environments, flows, and connections
governancePro+ cached-store tagging, maker audit, and metadata updates

Recommended Language: Python or Node.js

All examples in this skill family use Python with `urllib.request` (stdlib — no pip install needed). Node.js is an equally valid choice: fetch is built-in from Node 18+, JSON handling is native, and async/await maps cleanly onto the request-response pattern of MCP tool calls — making it a natural fit for teams already working in a JavaScript/TypeScript stack.

LanguageVerdictNotes
PythonRecommendedClean JSON handling, no escaping issues, all skill examples use it
Node.js (≥ 18)RecommendedNative fetch + JSON.stringify/JSON.parse; no extra packages
PowerShellAvoid for flow operationsConvertTo-Json -Depth silently truncates nested definitions; quoting and escaping break complex payloads. Acceptable for a quick connectivity smoke-test but not for building or updating flows.
cURL / BashPossible but fragileShell-escaping nested JSON is error-prone; no native JSON parser
TL;DR — use the Core MCP Helper (Python or Node.js) below. Both handle JSON-RPC framing, auth, and response parsing in a single reusable function.

Core MCP Helper (Python)

Use this helper throughout all subsequent operations:

import json, urllib.request

TOKEN = "<YOUR_JWT_TOKEN>"
MCP   = "https://mcp.flowstudio.app/mcp"

def mcp(tool, args, cid=1):
    payload = {"jsonrpc": "2.0", "method": "tools/call", "id": cid,
               "params": {"name": tool, "arguments": args}}
    req = urllib.request.Request(MCP, data=json.dumps(payload).encode(),
        headers={"x-api-key": TOKEN, "Content-Type": "application/json",
                 "User-Agent": "FlowStudio-MCP/1.0"})
    try:
        resp = urllib.request.urlopen(req, timeout=120)
    except urllib.error.HTTPError as e:
        body = e.read().decode("utf-8", errors="replace")
        raise RuntimeError(f"MCP HTTP {e.code}: {body[:200]}") from e
    raw = json.loads(resp.read())
    if "error" in raw:
        raise RuntimeError(f"MCP error: {json.dumps(raw['error'])}")
    text = raw["result"]["content"][0]["text"]
    return json.loads(text)
Common auth errors: - HTTP 401/403 → token is missing, expired, or malformed. Get a fresh JWT from mcp.flowstudio.app. - HTTP 400 → malformed JSON-RPC payload. Check Content-Type: application/json and body structure. - MCP error: {"code": -32602, ...} → wrong or missing tool arguments. Call tool_search with select:<toolname> to confirm the schema.

Core MCP Helper (Node.js)

Use this skill in a project

Open any RiverX project, search the Skills panel for github/awesome-copilot/flowstudio-power-automate-mcp, and install it in one click.

Use this skill