Activates and provisions a Power Pages website in a Power Platform environment via the Power Platform REST API. Use when the user wants to activate, provision, turn on, or enable a Power Pages website or portal.
日本語の概要は準備中です。原文の説明を表示しています。
Set up Power Automate CLI prerequisites. Use when the user is new, something isn't working, or they need help getting started.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
You are helping a non-technical user get the Power Automate plugin working for the first time. Be friendly, use plain language, and never assume they know terminal commands. Walk them through each step one at a time.
Run silently:
node --version 2>&1
v18.x.x or higher): Tell them "Node.js is installed" and move on.brew install node" (or direct them to nodejs.org)node --version.Run silently:
az --version 2>&1
winget install Microsoft.AzureCLI" or direct them to https://aka.ms/installazurecliwindowsbrew install azure-cli"az --version.Check if they're already logged in:
az account show --output json 2>&1
user.name field) and ask if that's the right account.az login
This will open their browser. Tell them: "A browser window should open. Sign in with your work account — the one you use for Power Automate."
After login completes, confirm it worked by running az account show again.Verify token access — this catches permission issues early.
First find out which Azure cloud they're on, because the Power Automate resource URL differs per cloud and the commercial one cannot be assumed (GCC High / DoD tenants will fail against it):
az cloud show --query name -o tsv
az cloud show | Power Automate resource |
|---|---|
AzureCloud (commercial) | https://service.flow.microsoft.com |
AzureCloud + GCC tenant | https://gov.service.flow.microsoft.us |
AzureUSGovernment (GCC High) | https://high.service.flow.microsoft.us |
AzureUSGovernment (DoD) | Operator-verified PA_FLOW_RESOURCE value required; no built-in audience |
az cloud show cannot distinguish commercial from GCC, or GCC High from DoD —
for those, set PA_CLOUD=gcc / PA_CLOUD=dod explicitly.
DoD endpoint hosts use appsplatform.us, but that does not establish the token
audience (App ID URI). With PA_CLOUD=dod, FlowAgent requires an explicit,
operator-verified PA_FLOW_RESOURCE and fails configuration otherwise. Do not
copy a guessed audience from a hostname; obtain the correct value for the tenant.
Then request a token for the matching resource, e.g. for commercial:
az account get-access-token --resource https://service.flow.microsoft.com --output json 2>&1
FlowAgent itself auto-detects the cloud the same way; you can override the
detection with PA_CLOUD=commercial|gcc|gcchigh|dod.
AADSTS650057 can indicate an invalid
resource or missing app authorization; AADSTS65001 can require admin consent.
An app-not-found or consent failure may require an appropriately authorized
public-client registration and PA_CLIENT_ID=<app-id>. Network, tenant-selection
and expired-session errors need different remediation. Do not infer missing
preauthorization from the cloud name or classify every other code as unrelated.Connection management authenticates separately from az — it uses its own MSAL
session with its own on-disk token cache, so az login / az account set do
not switch the account it uses.
Three tools cover this:
| Tool | Use it to |
|---|---|
list_accounts | See the cached-account inventory, effectiveConnectivityIdentity, and nextSignIn settings. Inactive tenant caches do not count as identity mismatches. Acquires no token. |
switch_account | Save a preferred username, or omit it to clear the preference. Check preferencePersisted and nextSignIn: environment overrides still apply. |
whoami / doctor | Compare the effective Connectivity username and tenant with Azure CLI, including different users in the same tenant. |
When a connection tool fails with ServiceToServiceEnvironmentNotFound,
check identity before assuming the environment is missing. list_accounts
distinguishes the effective account from historical cached accounts. A different
username or tenant on the effective account indicates a mismatch; an unused
tenant's cache alone does not. switch_account clears the cached sign-in and
records the preferred username for reauthentication. It does not prove that
the subsequent sign-in succeeded or that environment permissions are correct.
switch_account does not change the Azure CLI identity. az is yours to set;
where the two disagree, the tool says so rather than silently re-pointing one.
reconnect keeps a recorded preference — it drops credentials, and the
preference is a stated intent rather than a credential.
It waits for pending token acquisition and cache cleanup, then clears in-memory
tokens for all Azure CLI resources as well as Connectivity. A cleanup failure
is an error, not a completed switch: fix the cache access problem and retry.
Do not continue under the assumption that credentials changed when reset failed.
On interactive sign-in FlowAgent forces the account picker by default, so the browser's currently-signed-in account is never used silently. Two overrides:
| Variable | Effect |
|---|---|
PA_LOGIN_HINT=<upn> | Pre-select that account. Suppresses the picker, since the account is already targeted. |
PA_NO_ACCOUNT_PICKER=1 | Restore plain browser SSO. For single-account users who don't want the extra click. |
Precedence, most specific first: PA_LOGIN_HINT, then a switch_account
preference, then PA_NO_ACCOUNT_PICKER, then the picker.
For example, switch_account with username B still targets A if
PA_LOGIN_HINT=A is set. Omitting the username clears only the stored preference;
it does not override PA_LOGIN_HINT or PA_NO_ACCOUNT_PICKER. The response
reports the effective settings instead of promising a picker in those cases.
The plugin talks to Power Automate through the FlowAgent MCP server, which is
registered as flowagent in the plugin's .mcp.json and started automatically.
.mcp.json loads the bundled server/mcp.mjs through a small Node bootstrap
that resolves the plugin's installation directory (PLUGIN_ROOT, else
CLAUDE_PLUGIN_ROOT, else the current directory) and prints an actionable error
if the bundle can't be found.
If flowagent-* / mcp__flowagent__* tools appear in your tool list: tell
them "The Power Automate tools are connected" and move on.
If they're missing: the MCP server isn't registered. Fix it automatically:
Locate the installed plugin's MCP bundle. This only matches a bundle
inside a power-automate plugin directory, so it can't pick up another
plugin's MCP server:
node -e "const fs=require('fs'),p=require('path'),d=p.join(process.env.HOME||process.env.USERPROFILE,'.copilot','installed-plugins');const find=(dir)=>{let out=[];for(const e of fs.readdirSync(dir,{withFileTypes:true})){const f=p.join(dir,e.name);if(e.isDirectory()){try{out=out.concat(find(f))}catch{}}else if(e.name==='mcp.mjs'&&p.basename(p.dirname(dir))==='power-automate'){out.push(dir)}}return out};try{const hits=find(d);if(hits.length===1)console.log(JSON.stringify({found:true,serverDir:hits[0],mcpMjs:p.join(hits[0],'mcp.mjs')}));else if(hits.length>1)console.log(JSON.stringify({found:false,reason:'multiple power-automate bundles',candidates:hits}));else console.log(JSON.stringify({found:false}))}catch(e){console.log(JSON.stringify({found:false,error:e.message}))}"
If it reports multiple power-automate bundles, show the candidates and ask
the user which one to register rather than guessing.
If exactly one was found, read ~/.copilot/mcp-config.json, add the
flowagent MCP entry, and write it back:
node -e "const fs=require('fs'),p=require('path');const home=process.env.HOME||process.env.USERPROFILE;const cfgPath=p.join(home,'.copilot','mcp-config.json');let cfg;try{cfg=JSON.parse(fs.readFileSync(cfgPath,'utf8'))}catch{cfg={mcpServers:{}}};if(!cfg.mcpServers)cfg.mcpServers={};if(cfg.mcpServers.flowagent){console.log('already registered');process.exit(0)}const d=p.join(home,'.copilot','installed-plugins');const find=(dir)=>{let out=[];for(const e of fs.readdirSync(dir,{withFileTypes:true})){const f=p.join(dir,e.name);if(e.isDirectory()){try{out=out.concat(find(f))}catch{}}else if(e.name==='mcp.mjs'&&p.basename(p.dirname(dir))==='power-automate'){out.push(dir)}}return out};const hits=find(d);if(hits.length!==1){console.log(hits.length?'ambiguous: '+JSON.stringify(hits):'mcp.mjs not found');process.exit(1)}const mcpPath=p.join(hits[0],'mcp.mjs');cfg.mcpServers.flowagent={command:'node',args:[mcpPath]};fs.writeFileSync(cfgPath,JSON.stringify(cfg,null,2)+'\n');console.log('registered flowagent MCP at '+mcpPath)"
Tell the user to restart the agent (Copilot CLI: /restart, Claude Code:
restart the process). After restart, flowagent-* tools should appear.
If not found (plugin not installed at all): tell them to install the plugin first:
/plugin marketplace add microsoft/power-platform-skills
Then select power-automate and run /setup again.
Verify everything works end-to-end by listing the user's environments:
Preferred: call the list_environments tool.
If MCP tools aren't available: run node <path-to-plugin>/server/mcp.mjs
to confirm the bundled MCP server starts cleanly, then fix the plugin install
or .mcp.json wiring before retrying.
If it returns environments: Success! Tell them:
set_current_env tool, or ask "set my default
environment to <name>")./browse-flows — Browse your flows/create-flow — Create a new flow/debug-flow — Fix a broken flowIf it fails: Check the error. Common issues:
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Activates and provisions a Power Pages website in a Power Platform environment via the Power Platform REST API. Use when the user wants to activate, provision, turn on, or enable a Power Pages website or portal.
日本語の概要は準備中です。原文の説明を表示しています。
Integrates Power Pages generative-AI summarization APIs (PREVIEW) into a Single Page Application (SPA) site — the Search Summary API and the Data Summarization API — on any record-detail or list page. Generates per-target service code (CSRF-handled) and AI site settings; delegates Web API settings, table permissions, and web roles to `/integrate-webapi` and `/create-webroles`. Use whenever a user wants AI/Copilot output that condenses Dataverse content on a Power Pages site — an AI summary, AI-generated overview or "key insights" across a record or list, a search-results summary, a case/incident summary, or recommendation-chip refinement — even when phrased as "AI-generated paragraph", "insights", or "overview". Do NOT use for: generative pages in model-driven apps (use the model-apps `genpage` skill), Copilot Studio agents/chatbots, summarizing documents or PDFs, Power BI dashboards, plain keyword search with no AI summary, or plain Dataverse CRUD (use `/integrate-webapi`).
日本語の概要は準備中です。原文の説明を表示しています。
Adds Azure DevOps connector to a Power Apps code app. Use when querying work items, creating bugs, managing pipelines, or making ADO API calls.
日本語の概要は準備中です。原文の説明を表示しています。
Internal implementation skill invoked by /add-native for camera, image picker, barcode scanner, QR scanner, and camera/gallery Dataverse artifact workflows.
日本語の概要は準備中です。原文の説明を表示しています。
Integrates Power Automate cloud flows into a Power Pages site. Lists available flows, suggests relevant ones based on intent, identifies scenarios and web roles, creates metadata files, and generates client-side code to call flows. Handles both new flow registration and adding already-registered flows to additional pages without re-creating metadata. Use when the user wants to add, connect, register, or link a Power Automate cloud flow to their site.
日本語の概要は準備中です。原文の説明を表示しています。
Adds any Power Platform connector to a Power Apps code app. Generic fallback for connectors not covered by a specific skill.
日本語の概要は準備中です。原文の説明を表示しています。