Install the "power-automate-build" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/power-automate-build into .claude/skills/power-automate-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "power-automate-build", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill power-automate-build -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "power-automate-build" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/power-automate-build into .agents/skills/power-automate-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "power-automate-build", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill power-automate-build -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "power-automate-build" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/power-automate-build into .cursor/skills/power-automate-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "power-automate-build", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill power-automate-build -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "power-automate-build" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/power-automate-build into .gemini/skills/power-automate-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "power-automate-build", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill power-automate-build -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "power-automate-build" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/power-automate-build into .github/skills/power-automate-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "power-automate-build", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill power-automate-build -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "power-automate-build" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/power-automate-build into .opencode/skills/power-automate-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "power-automate-build", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
power-automate-build
GitHub stars
2.2k
Token cost
~4.3k tokens
SKILL.md length
1,024 words
Files
8 (incl. references)
Skills in repo
1,235
Repo updated
First seen
Licence
MIT
At a glance
Build, scaffold, and deploy Power Automate cloud flows using the FlowStudio MCP server.
Works in 6 steps: Safety Check: Does the Flow Already Exist? → Obtain Connection References → Build the Flow Definition → …
Tasks that involve MCP servers
SKILL.md covers Source of Truth, Python Helper, Step 1 — Safety Check: Does… and Step 2 — Obtain Connection…, plus 7 more sections
Reaches mcp.flowstudio.app and make.powerautomate.com; needs MCP_TOKEN
What it does
Power Automate Build is an agent skill from LeoYeAI/openclaw-master-skills. Build, scaffold, and deploy Power Automate cloud flows using the FlowStudio MCP server. Load this skill when asked to: create a flow, build a new flow, deploy a flow definition, scaffold a Power Automate workflow, construct a flow JSON, update an existing flow's actions, patch a flow definition, add actions to a flow, wire up connections, or generate a workflow definition from scratch. Requires a FlowStudio MCP subscription — see https://mcp.flowstudio.app
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `_meta.json`, `references/action-patterns-connectors.md` and `references/action-patterns-core.md`).
It sits in Agent Workflows, covering MCP servers. It works with Power Automate and Model Context Protocol. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
When your agent uses it
Tasks that involve MCP servers
Example prompts
“/power-automate-build”
Requirements
Python 3
A credential in FLOWSTUDIO_MCP_TOKEN
A credential in MCP_TOKEN
Workflow steps
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
Network
Hosts in commands or code, which the agent is likely to contact:
mcp.flowstudio.app
make.powerautomate.com
schema.management.azure.com
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names these keys or tokens, usually read from environment variables:
MCP_TOKEN
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Power Automate Build loads about 4.3k tokens when it runs, and up to ~21k if it reads all its reference files. Until then it costs about 120 tokens; SKILL.md has 1,024 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~120
When it runs· the whole SKILL.md, loaded when a task matches
~4.3k
With references· SKILL.md plus every file in references/, read only if the agent opens them
~21k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/power-automate-build/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
power-automate-build
description
Build, scaffold, and deploy Power Automate cloud flows using the FlowStudio MCP server. Load this skill when asked to: create a flow, build a new flow, deploy a flow definition, scaffold a Power Automate workflow, construct a flow JSON, update an existing flow's actions, patch a flow definition, add actions to a flow, wire up connections, or generate a workflow definition from scratch. Requires a FlowStudio MCP subscription — see https://mcp.flowstudio.app
Build & Deploy Power Automate Flows with FlowStudio MCP
Step-by-step guide for constructing and deploying Power Automate cloud flows
programmatically through the FlowStudio MCP server.
Prerequisite: A FlowStudio MCP server must be reachable with a valid JWT.
See the power-automate-mcp skill for connection setup. Subscribe at https://mcp.flowstudio.app
Source of Truth
Always call tools/list first to confirm available tool names and their
parameter schemas. Tool names and parameters may change between server versions.
This skill covers response shapes, behavioral notes, and build patterns —
things tools/list cannot tell you. If this document disagrees with tools/list
or a real API response, the API wins.
Python Helper
python
import json, urllib.request
MCP_URL = "https://mcp.flowstudio.app/mcp"
MCP_TOKEN = "<YOUR_JWT_TOKEN>"
def mcp(tool, **kwargs):
payload = json.dumps({"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": tool, "arguments": kwargs}}).encode()
req = urllib.request.Request(MCP_URL, data=payload,
headers={"x-api-key": MCP_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'])}")
return json.loads(raw["result"]["content"][0]["text"])
ENV = "<environment-id>" # e.g. Default-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Step 1 — Safety Check: Does the Flow Already Exist?
Always look before you build to avoid duplicates:
python
results = mcp("list_store_flows",
environmentName=ENV, searchTerm="My New Flow")
# list_store_flows returns a direct array (no wrapper object)
if len(results) > 0:
# Flow exists — modify rather than create
# id format is "envId.flowId" — split to get the flow UUID
FLOW_ID = results[0]["id"].split(".", 1)[1]
print(f"Existing flow: {FLOW_ID}")
defn = mcp("get_live_flow", environmentName=ENV, flowName=FLOW_ID)
else:
print("Flow not found — building from scratch")
FLOW_ID = None
Step 2 — Obtain Connection References
Every connector action needs a connectionName that points to a key in the
flow's connectionReferences map. That key links to an authenticated connection
in the environment.
MANDATORY: You MUST call list_live_connections first — do NOT ask the
user for connection names or GUIDs. The API returns the exact values you need.
Only prompt the user if the API confirms that required connections are missing.
2a — Always call list_live_connections first
python
conns = mcp("list_live_connections", environmentName=ENV)
# Filter to connected (authenticated) connections only
active = [c for c in conns["connections"]
if c["statuses"][0]["status"] == "Connected"]
# Build a lookup: connectorName → connectionName (id)
conn_map = {}
for c in active:
conn_map[c["connectorName"]] = c["id"]
print(f"Found {len(active)} active connections")
print("Available connectors:", list(conn_map.keys()))
2b — Determine which connectors the flow needs
Based on the flow you are building, identify which connectors are required.
Common connector API names:
Connector
API name
SharePoint
shared_sharepointonline
Outlook / Office 365
shared_office365
Teams
shared_teams
Approvals
shared_approvals
OneDrive for Business
shared_onedriveforbusiness
Excel Online (Business)
shared_excelonlinebusiness
Dataverse
shared_commondataserviceforapps
Microsoft Forms
shared_microsoftforms
Flows that need NO connections (e.g. Recurrence + Compose + HTTP only)
can skip the rest of Step 2 — omit connectionReferences from the deploy call.
2c — If connections are missing, guide the user
python
connectors_needed = ["shared_sharepointonline", "shared_office365"] # adjust per flow
missing = [c for c in connectors_needed if c not in conn_map]
if not missing:
print("✅ All required connections are available — proceeding to build")
else:
# ── STOP: connections must be created interactively ──
# Connections require OAuth consent in a browser — no API can create them.
print("⚠️ The following connectors have no active connection in this environment:")
for c in missing:
friendly = c.replace("shared_", "").replace("onlinebusiness", " Online (Business)")
print(f" • {friendly} (API name: {c})")
print()
print("Please create the missing connections:")
print(" 1. Open https://make.powerautomate.com/connections")
print(" 2. Select the correct environment from the top-right picker")
print(" 3. Click '+ New connection' for each missing connector listed above")
print(" 4. Sign in and authorize when prompted")
print(" 5. Tell me when done — I will re-check and continue building")
# DO NOT proceed to Step 3 until the user confirms.
# After user confirms, re-run Step 2a to refresh conn_map.
2d — Build the connectionReferences block
Only execute this after 2c confirms no missing connectors:
python
connection_references = {}
for connector in connectors_needed:
connection_references[connector] = {
"connectionName": conn_map[connector], # the GUID from list_live_connections
"source": "Invoker",
"id": f"/providers/Microsoft.PowerApps/apis/{connector}"
}
IMPORTANT — host.connectionName in actions: When building actions in
Step 3, set host.connectionName to the key from this map (e.g.
shared_teams), NOT the connection GUID. The GUID only goes inside the
connectionReferences entry. The engine matches the action's
host.connectionName to the key to find the right connection.
Alternative — if you already have a flow using the same connectors,
you can extract connectionReferences from its definition:
See build-patterns.md for complete, ready-to-use
flow definitions covering Recurrence+SharePoint+Teams, HTTP triggers, and more.
Step 4 — Deploy (Create or Update)
update_live_flow handles both creation and updates in a single tool.
Create a new flow (no existing flow)
Omit flowName — the server generates a new GUID and creates via PUT:
python
result = mcp("update_live_flow",
environmentName=ENV,
# flowName omitted → creates a new flow
definition=definition,
connectionReferences=connection_references,
displayName="Overdue Invoice Notifications",
description="Weekly SharePoint → Teams notification flow, built by agent"
)
if result.get("error") is not None:
print("Create failed:", result["error"])
else:
# Capture the new flow ID for subsequent steps
FLOW_ID = result["created"]
print(f"✅ Flow created: {FLOW_ID}")
Update an existing flow
Provide flowName to PATCH:
python
result = mcp("update_live_flow",
environmentName=ENV,
flowName=FLOW_ID,
definition=definition,
connectionReferences=connection_references,
displayName="My Updated Flow",
description="Updated by agent on " + __import__('datetime').datetime.utcnow().isoformat()
)
if result.get("error") is not None:
print("Update failed:", result["error"])
else:
print("Update succeeded:", result)
⚠️ update_live_flow always returns an error key.
null (Python None) means success — do not treat the presence of the key as failure.
⚠️ description is required for both create and update.
Common deployment errors
Error message (contains)
Cause
Fix
missing from connectionReferences
An action's host.connectionName references a key that doesn't exist in the connectionReferences map
Ensure host.connectionName uses the key from connectionReferences (e.g. shared_teams), not the raw GUID
ConnectionAuthorizationFailed / 403
The connection GUID belongs to another user or is not authorized
Re-run Step 2a and use a connection owned by the current x-api-key user
InvalidTemplate / InvalidDefinition
Syntax error in the definition JSON
Check runAfter chains, expression syntax, and action type spelling
ConnectionNotConfigured
A connector action exists but the connection GUID is invalid or expired
Re-check list_live_connections for a fresh GUID
Step 5 — Verify the Deployment
python
check = mcp("get_live_flow", environmentName=ENV, flowName=FLOW_ID)
# Confirm state
print("State:", check["properties"]["state"]) # Should be "Started"
# Confirm the action we added is there
acts = check["properties"]["definition"]["actions"]
print("Actions:", list(acts.keys()))
Show full SKILL.md (427 more words)Show less
Step 6 — Test the Flow
MANDATORY: Before triggering any test run, ask the user for confirmation.
Running a flow has real side effects — it may send emails, post Teams messages,
write to SharePoint, start approvals, or call external APIs. Explain what the
flow will do and wait for explicit approval before calling trigger_live_flow
or resubmit_live_flow_run.
Updated flows (have prior runs)
The fastest path — resubmit the most recent run:
python
runs = mcp("get_live_flow_runs", environmentName=ENV, flowName=FLOW_ID, top=1)
if runs:
result = mcp("resubmit_live_flow_run",
environmentName=ENV, flowName=FLOW_ID, runName=runs[0]["name"])
print(result)
A brand-new Recurrence or connector-triggered flow has no runs to resubmit
and no HTTP endpoint to call. Deploy with a temporary HTTP trigger first,
test the actions, then swap to the production trigger.
7a — Save the real trigger, deploy with a temporary HTTP trigger
python
# Save the production trigger you built in Step 3
production_trigger = definition["triggers"]
# Replace with a temporary HTTP trigger
definition["triggers"] = {
"manual": {
"type": "Request",
"kind": "Http",
"inputs": {
"schema": {}
}
}
}
# Deploy (create or update) with the temp trigger
result = mcp("update_live_flow",
environmentName=ENV,
flowName=FLOW_ID, # omit if creating new
definition=definition,
connectionReferences=connection_references,
displayName="Overdue Invoice Notifications",
description="Deployed with temp HTTP trigger for testing")
if result.get("error") is not None:
print("Deploy failed:", result["error"])
else:
if not FLOW_ID:
FLOW_ID = result["created"]
print(f"✅ Deployed with temp HTTP trigger: {FLOW_ID}")
7b — Fire the flow and check the result
python
# Trigger the flow
test = mcp("trigger_live_flow",
environmentName=ENV, flowName=FLOW_ID)
print(f"Trigger response status: {test['status']}")
# Wait for the run to complete
import time; time.sleep(15)
# Check the run result
runs = mcp("get_live_flow_runs",
environmentName=ENV, flowName=FLOW_ID, top=1)
run = runs[0]
print(f"Run {run['name']}: {run['status']}")
if run["status"] == "Failed":
err = mcp("get_live_flow_run_error",
environmentName=ENV, flowName=FLOW_ID, runName=run["name"])
root = err["failedActions"][-1]
print(f"Root cause: {root['actionName']} → {root.get('code')}")
# Debug and fix the definition before proceeding
# See power-automate-debug skill for full diagnosis workflow
7c — Swap to the production trigger
Once the test run succeeds, replace the temporary HTTP trigger with the real one:
python
# Restore the production trigger
definition["triggers"] = production_trigger
result = mcp("update_live_flow",
environmentName=ENV,
flowName=FLOW_ID,
definition=definition,
connectionReferences=connection_references,
description="Swapped to production trigger after successful test")
if result.get("error") is not None:
print("Trigger swap failed:", result["error"])
else:
print("✅ Production trigger deployed — flow is live")
Why this works: The trigger is just the entry point — the actions are
identical regardless of how the flow starts. Testing via HTTP trigger
exercises all the same Compose, SharePoint, Teams, etc. actions.
Connector triggers (e.g. "When an item is created in SharePoint"):
If actions reference triggerBody() or triggerOutputs(), pass a
representative test payload in trigger_live_flow's body parameter
that matches the shape the connector trigger would produce.
Gotchas
Mistake
Consequence
Prevention
Missing connectionReferences in deploy
400 "Supply connectionReferences"
Always call list_live_connections first
"operationOptions" missing on Foreach
Parallel execution, race conditions on writes
Always add "Sequential"
union(old_data, new_data)
Old values override new (first-wins)
Use union(new_data, old_data)
split() on potentially-null string
InvalidTemplate crash
Wrap with coalesce(field, '')
Checking result["error"] exists
Always present; true error is != null
Use result.get("error") is not None
Flow deployed but state is "Stopped"
Flow won't run on schedule
Check connection auth; re-enable
Teams "Chat with Flow bot" recipient as object
400 GraphUserDetailNotFound
Use plain string with trailing semicolon (see below)
Teams PostMessageToConversation — Recipient Formats
The body/recipient parameter format depends on the location value:
Location
body/recipient format
Example
Chat with Flow bot
Plain email string with trailing semicolon
"user@contoso.com;"
Channel
Object with groupId and channelId
{"groupId": "...", "channelId": "..."}
Common mistake: passing {"to": "user@contoso.com"} for "Chat with Flow bot"
returns a 400 GraphUserDetailNotFound error. The API expects a plain string.
Power Automate Build next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Power Automate Build compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Power Automate Build this skillLeoYeAI/openclaw-master-skills
One-step setup and connection diagnostics for a Dataverse environment — installs tools, authenticates, registers MCP, writes .env, and verifies active profiles and linked ERP endpoints.
Foundation skill for Power Automate via FlowStudio MCP — auth setup, the reusable MCP helper (Python + Node.js), tool discovery via listskills / toolsearch, and oversized-response handling.
Generate complete Power Platform custom connector with MCP integration for Copilot Studio - includes schema generation, troubleshooting, and validation
Küsib ametlikku Microsofti dokumentatsiooni, et leida mõisteid, juhendeid ja koodinäiteid Azure'i, .NET-i, Agent Frameworki, Aspire'i, VS Code'i, GitHubi ja muu kohta.
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Build, scaffold, and deploy Power Automate cloud flows using the FlowStudio MCP server. Power Automate Build is an agent skill from LeoYeAI/openclaw-master-skills. Build, scaffold, and deploy Power Automate cloud flows using the FlowStudio MCP server.
When should I use Power Automate Build?
Power Automate Build fits situations like: tasks that involve MCP servers.
How do I install Power Automate Build in Claude Code?
Run `npx skills add LeoYeAI/openclaw-master-skills --skill power-automate-build -a claude-code`. Or copy the skill folder (skills/power-automate-build in LeoYeAI/openclaw-master-skills) into .claude/skills/power-automate-build in your project. Claude Code loads it when a task matches its description.
How do I install Power Automate Build in Codex?
Run `npx skills add LeoYeAI/openclaw-master-skills --skill power-automate-build -a codex`. Or copy the skill folder (skills/power-automate-build in LeoYeAI/openclaw-master-skills) into .agents/skills/power-automate-build in your project. Codex loads it when a task matches its description.
Can I use Power Automate Build in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill power-automate-build -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/power-automate-build, .gemini/skills/power-automate-build, .github/skills/power-automate-build and .opencode/skills/power-automate-build in your project.
What does Power Automate Build need to run?
Going by SKILL.md and its folder, Power Automate Build needs credentials named MCP_TOKEN. Our summary lists: Python 3; A credential in FLOWSTUDIO_MCP_TOKEN; A credential in MCP_TOKEN.
Does Power Automate Build access the network?
SKILL.md names 3 domains. In commands or code: mcp.flowstudio.app, make.powerautomate.com and schema.management.azure.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Is Power Automate Build safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does Power Automate Build use?
Power Automate Build is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Power Automate Build use?
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 17k tokens, read only when the agent opens those files.
What are the alternatives to Power Automate Build?
Skills that share tags, products or a category with Power Automate Build: Dv Connect (microsoft/Dataverse-skills, 243 stars), Flowstudio Power Automate Build (github/awesome-copilot, 40k stars), Flowstudio Power Automate MCP (github/awesome-copilot, 40k stars) and MCP Copilot Studio Server Generator (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Power Automate Build?
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.