From copilot-studio
Guides adding connector actions to Copilot Studio agents: uses connector-lookup tool to identify operations, walks through UI portal for connection setup, delegates YAML edits to edit-action skill.
npx claudepluginhub microsoft/skills-for-copilot-studio --plugin copilot-studioThis skill is limited to using the following tools:
This skill guides users through adding a new connector action to their Copilot Studio agent. **It does NOT write action YAML directly** because connector actions require a connection reference that can only be created through the Copilot Studio UI.
Enforces C++ Core Guidelines for writing, reviewing, and refactoring modern C++ code (C++17+), promoting RAII, immutability, type safety, and idiomatic practices.
Provides patterns for shared UI in Compose Multiplatform across Android, iOS, Desktop, and Web: state management with ViewModels/StateFlow, navigation, theming, and performance.
Implements Playwright E2E testing patterns: Page Object Model, test organization, configuration, reporters, artifacts, and CI/CD integration for stable suites.
This skill guides users through adding a new connector action to their Copilot Studio agent. It does NOT write action YAML directly because connector actions require a connection reference that can only be created through the Copilot Studio UI.
Connector actions need:
/copilot-studio:edit-actionHelp the user find the right connector and operation before they go to the UI. Use the connector lookup tool. Important: The connector lookup script only covers a subset of connectors (run list to see which ones). If the user's requested connector is not in the list, tell the user they need to find and add the connector action entirely through the Copilot Studio portal, then ask them to pull again the files locally. Once pulled, /copilot-studio:edit-action can still be used to customize the YAML.
When the connector IS available, use the lookup tool to help the user before they go to the UI:
node ${CLAUDE_SKILL_DIR}/../../scripts/connector-lookup.bundle.js list
node ${CLAUDE_SKILL_DIR}/../../scripts/connector-lookup.bundle.js operations <connector>
node ${CLAUDE_SKILL_DIR}/../../scripts/connector-lookup.bundle.js operation <connector> <operationId>
node ${CLAUDE_SKILL_DIR}/../../scripts/connector-lookup.bundle.js search <keyword>
<connector> matches by API name (shared_office365) or partial display name (outlook).
Use these to help the user understand:
Understand what the user wants — ask clarifying questions if the request is vague (e.g., "send a message" — Teams? Outlook? Slack?)
Search for the operation using connector-lookup:
node ${CLAUDE_SKILL_DIR}/../../scripts/connector-lookup.bundle.js search "<user's description>"
If no match, try broader terms. If the connector is not available in the lookup script at all after different tries, inform the user that this connector is not in the local reference and they will need to add the action through the Copilot Studio UI.
Show the operation details so the user knows exactly what to look for in the UI:
node ${CLAUDE_SKILL_DIR}/../../scripts/connector-lookup.bundle.js operation <connector> <operationId>
Walk the user through the UI steps:
Here's how to add this action in Copilot Studio:
- Open Copilot Studio
- Navigate to your agent
- Go to Actions in the left sidebar
- Click + Add an action
- Search for "{operation displayName}" from the {connector displayName} connector
- Configure the connection (authenticate with your credentials)
- Save the action
Once saved, pull the updated agent files using the Copilot Studio VS Code Extension (Source Control → Pull).
After the user confirms they've pulled, check for the new action file:
Glob: **/actions/*.mcs.yml
If the action file is present, let the user know it was pulled successfully.
Offer to edit the action — if the user wants to customize inputs, descriptions, or connection mode:
Would you like me to edit the action YAML? I can modify input descriptions, switch between automatic and manual inputs, change the connection mode, and more. Just say the word and I'll use
/copilot-studio:edit-action.
MCP (Model Context Protocol) server actions use a different YAML structure than regular connector actions. They use InvokeExternalAgentTaskAction with ModelContextProtocolMetadata instead of InvokeConnectorTaskAction.
Like regular connector actions, MCP actions require a connection reference that can only be created through the Copilot Studio portal. This skill cannot create MCP connections — the user must add the MCP server through the UI first.
If the user asks to add an MCP server action:
MCP server actions require a connection to be set up in the Copilot Studio portal first — I can't create that from here.
Here's how to add it:
- Open Copilot Studio
- Navigate to your agent
- Go to Actions in the left sidebar
- Click + Add an action
- Search for the MCP server connector (e.g., "Microsoft Learn Docs MCP Server")
- Configure the connection (authenticate with your credentials)
- Save the action
Once saved, pull the updated agent files. I can then help you edit the action with
/copilot-studio:edit-action— for example, changing themodelDescriptionormodelDisplayName.
Key differences from regular connector actions: MCP actions do not use AutomaticTaskInput — the MCP protocol handles tool parameter discovery dynamically. However, ManualTaskInput entries are OK for passing context to the MCP server (e.g., user identity via Power Fx: value: =System.User.Email).
For structural templates, see:
Read: ${CLAUDE_SKILL_DIR}/../../templates/actions/connector-action.mcs.yml
Read: ${CLAUDE_SKILL_DIR}/../../templates/actions/mcp-action.mcs.yml
Use these alongside connector-lookup operation output to understand both the YAML structure and the full inputs/outputs for a specific operation.