
Why this exists: You finally have (or will have) a custom connector that speaks MCP, the Model Context Protocol. That is the “agent can call my backend in a standard shape” story. Copilot Studio still needs a boring thing from you: a working connection and a clear choice about whose identity runs the call.
For you if: You are the maker standing in Studio clicking Add tool, not the person writing the MCP server from scratch.
Before you start: If OAuth still feels fuzzy, read Part 1 once. It saves you from guessing about delegated vs app-only.
In plain terms: your agent wants to call an action. That action lives behind a connector definition. The connector needs a connection (tokens, consents, all the fun). Studio’s job is to decide when to invoke the tool. Your job is to make sure the connection matches how your API expects to be called.
Microsoft-hosted assumption: your connector points at an HTTPS API in the cloud. Same world as the rest of your tenant.
Studio will ask who owns the credential. This is not cosmetic.
If you pick maker-provided and your API still checks individual file ACLs, you will get weird “it works for me in Test” behavior. Match the pattern to the data model.
x-ms-agentic-protocolIf your team edits OpenAPI for MCP streaming compatibility, you might see an extension like mcp-streamable-1.0. In human language: it tells Microsoft’s agent stack “this connector is not pretending to be a random REST toy; it participates in the agent protocol.” You do not need to memorize the spec. You do need to know that if someone strips that extension during an export/import, discovery breaks in quiet ways.
Bring them a sentence, not a vibe.
Tool calls Dataverse? Part 3. Tool calls a flow? Part 4. Pure pain on auth codes? Part 5.
From elijah.ai. For people who ship agents, not slide decks.