mcpbeat

Add Mcscopilot

microsoft/add-mcscopilot

Adds Microsoft Copilot Studio connector to a Power Apps code app. Use when invoking Copilot Studio agents, sending prompts to agents, or integrating agent responses.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
601
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/power-platform-skills --skill add-mcscopilot

What it tells the agent to use

found in the instruction text
Grep reads your files

The instruction itself

8 sections, as written by the author

📋 Shared Instructions: shared-instructions.md - Cross-cutting concerns.

Add Microsoft Copilot Studio

Workflow

  • Check Memory Bank → 2. Add Connector → 3. Configure → 4. Build → 5. Update Memory Bank

Step 1: Check Memory Bank

Check for memory-bank.md per shared-instructions.md.

Step 2: Add Connector

First, find the connection ID (see connector-reference.md):

Run the /list-connections skill. Find the Microsoft Copilot Studio connection in the output. If none exists, direct the user to create one using the environment-specific Connections URL — construct it from the active environment ID in context (from power.config.json or a prior step): https://make.powerapps.com/environments/<environment-id>/connections+ New connection → search for the connector → Create.

pa app add data-source --connector microsoftcopilotstudio -c <connection-id>

Step 3: Configure

Ask the user which Copilot Studio agent they want to invoke and what operations they need.

Agent Setup Prerequisites (manual steps the user must complete in Copilot Studio):

  • Publish the agent: In Copilot Studio, click Channels → select Teams → add to Teams → click Publish.
  • Get the agent name: Under Channels, click "Web app". The connection string URL contains the agent name. Example: https://...api.powerplatform.com/copilotstudio/dataverse-backed/authenticated/bots/cr3e1_myAgent/conversations?... — the agent name is cr3e1_myAgent.

ExecuteCopilotAsyncV2 -- execute an agent and wait for the response:

Use the ExecuteCopilotAsyncV2 operation (path: /proactivecopilot/executeAsyncV2). This is the only endpoint that reliably returns agent responses synchronously. It is the same endpoint used by Power Automate's "Execute Agent and wait" action.

const result = await MicrosoftCopilotStudioService.ExecuteCopilotAsyncV2({
  message: "Your prompt or data here", // Can be a JSON string
  notificationUrl: "https://notificationurlplaceholder" // Required by API but unused; any URL works
});

// Response structure:
// result.responses — Array of response strings from the agent
// result.conversationId — The conversation ID
// result.lastResponse — The last response from the agent
// result.completed — Boolean indicating if the agent finished

Important: Agents often return responses as JSON strings. Parse the responses array to extract meaningful data:

const agentResponse = result.responses?.[0];
if (agentResponse) {
  const parsed = JSON.parse(agentResponse);
  // Extract specific fields, e.g., parsed.trend_summary
}

Use Grep to find specific methods in the generated service file (generated files can be very large — see connector-reference.md).

Known Issues
  • ExecuteCopilot (/execute) -- fire-and-forget, only returns ConversationId, not the actual response. Do NOT use this.
  • ExecuteCopilotAsync (/executeAsync) -- returns 502 "Cannot read server response" errors. Do NOT use this.
  • Conversation turn model (/conversations/{ConversationId}) -- only works after /execute, which doesn't provide responses. Do NOT use this.
  • Response casing varies -- check all variations: conversationId, ConversationId, conversationID.

Step 4: Build

npm run build

Fix TypeScript errors before proceeding. Do NOT deploy yet.

Step 5: Update Memory Bank

Update memory-bank.md with: connector added, agent name configured, configured operations, build status.

How to use it

Copy the folder

Take microsoft/add-mcscopilot from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.