How to Connect Copilot Studio to Cold Email
Connect a Copilot Studio agent to cold email: add the Outreach2day MCP server as a tool with OAuth sign-in, or build a custom connector on the REST API.

On this page
Connect Copilot Studio to Outreach2day
https://public.outreach2day.com/mcpCopies the server URL and opens Copilot Studio
Setup guide
- Open your agent's Tools, add a tool and choose Model Context Protocol
- Paste the server URL and choose OAuth 2.0 → Dynamic discovery
- Create the connection and sign in with your Outreach2day account
Short answer: Microsoft Copilot Studio agents call outside systems through tools. Two kinds matter here: an MCP server tool, generally available in Copilot Studio since 29 May 2025, and a custom connector built from an OpenAPI definition. The hosted Outreach2day MCP server at https://public.outreach2day.com/mcp signs in with OAuth 2.1 and dynamic client registration, which Copilot Studio's MCP wizard supports as OAuth 2.0 "Dynamic discovery" per Microsoft's docs, so it should connect with a sign-in and no API key; we have not tested it from Copilot Studio yet. The custom connector works with Outreach2day today and is the option when you want a small read-only tool set you define yourself, with an API key. Either gives an agent access to mailboxes, warmup state, domain availability and replies.
Checked September 2026 against Create a custom connector from an OpenAPI definition, Connect your agent to an existing MCP server and Microsoft's MCP general availability announcement.
Connection Methods
Method | Works with Outreach2day today | Auth | Notes |
|---|---|---|---|
Hosted Outreach2day MCP server tool (Streamable HTTP) | Should work (OAuth dynamic discovery per Microsoft's docs; not tested by us yet) | OAuth 2.0 (dynamic discovery); API key in a header as a fallback | SSE is not supported |
Custom connector from an OpenAPI 2.0 file | Yes | API key in a header ( | File under 1 MB; OpenAPI 3.0 is not accepted |
HTTP request in a Power Automate flow | Yes | Header you set in the flow | More setup, full control |
The MCP route needs no API key: add a Model Context Protocol tool with the server URL, choose OAuth 2.0, Dynamic discovery, and each user signs in to Outreach2day (steps in Add the Hosted MCP Server). The custom connector below is the REST API route, with a key.
Power Platform data policies apply to both routes: if your admin regulates connectors, the same policy covers an MCP server. On a company tenant, check with the admin before you build.
Add the Hosted MCP Server
The hosted Outreach2day MCP server is live at https://public.outreach2day.com/mcp. In Copilot Studio, open Tools, add a tool, choose Model Context Protocol, enter the URL and choose OAuth 2.0, type Dynamic discovery: Copilot Studio finds our sign-in endpoints and registers itself, and each user signs in to Outreach2day when the connection is created. No API key is needed. For a setup without sign-in, API key auth in a header also works: name Authorization, value Bearer plus an API key from the API keys page. The agent then gets tools for domains, quotes, mailboxes, warmup, campaigns and replies; orders are paid on a Stripe page that you open. We have not tested this from Copilot Studio yet; the custom connector below is the checked route. The tool list is on the MCP page.
Why a Custom Connector Needs Its Own File
Custom connectors accept only OpenAPI 2.0 (Swagger) definitions smaller than 1 MB, per Microsoft's documentation. The Outreach2day spec at https://public.outreach2day.com/openapi.json is OpenAPI 3 and covers well over a hundred operations, so it cannot be imported as is. The short Swagger 2.0 file below describes four read operations. A smaller file is also better for the agent: it chooses between four clear tools instead of a hundred.
The Outreach2day API accepts the key in an x-api-key header as well as Authorization: Bearer. The connector uses x-api-key because Copilot Studio's API key auth sends a named header with the key as its value.
{
"swagger": "2.0",
"info": { "title": "Outreach2day", "version": "1.0" },
"host": "public.outreach2day.com",
"basePath": "/",
"schemes": ["https"],
"produces": ["application/json"],
"securityDefinitions": {
"api_key": { "type": "apiKey", "in": "header", "name": "x-api-key" }
},
"security": [{ "api_key": [] }],
"paths": {
"/workspaces": { "get": {
"operationId": "ListWorkspaces",
"summary": "List workspaces the key can see",
"responses": { "200": { "description": "OK" } } } },
"/warmup/mailboxes": { "get": {
"operationId": "WarmupStatus",
"summary": "Warmup state of every mailbox",
"parameters": [{ "name": "workspaceId", "in": "query",
"type": "integer", "required": true }],
"responses": { "200": { "description": "OK" } } } },
"/check_domains": { "post": {
"operationId": "CheckDomains",
"summary": "Check if domain names are free. Buys nothing.",
"parameters": [{ "name": "body", "in": "body", "required": true,
"schema": { "type": "object", "properties": {
"domains": { "type": "array", "items": { "type": "string" } } } } }],
"responses": { "200": { "description": "OK" } } } },
"/threads": { "get": {
"operationId": "ListReplies",
"summary": "Reply threads with a reply intent label",
"parameters": [
{ "name": "workspaceId", "in": "query", "type": "integer", "required": true },
{ "name": "hasCustomerReply", "in": "query", "type": "boolean" },
{ "name": "limit", "in": "query", "type": "integer" }],
"responses": { "200": { "description": "OK" } } } }
}
}
The responses are left untyped to keep the file short. Copilot Studio still passes the JSON to the agent; add response schemas later if you want typed outputs in Power Automate.
Connect a Custom Connector on the REST API, step by step
Create an API key. In the Outreach2day app, open the API keys page and create a key only for this agent, so you can revoke it on its own
Save the definition. Save the JSON above as
outreach2day.jsonCreate the custom connector. In Power Apps or Power Automate, open Solutions, pick or create a solution, then New, Automation, Custom connector, and "Import an OpenAPI file". Select the file and create the connector. On the Security page, check that auth is API key, parameter
x-api-key, location HeaderTest it. On the Test page, create a connection with your API key from the API keys page and run
ListWorkspaces. Wait a few minutes after creating the connector before testing, as Microsoft recommends for API key connectorsAdd it to the agent. In Copilot Studio, open the agent's Tools page, add a tool and pick the connector's operations. Describe each tool in plain words ("use WarmupStatus to answer questions about warmup") and give the agent your workspace ID in its instructions
Try it in the test pane. Ask "Which mailboxes are still warming?" and compare the answer with the app
Prompts to Try With the Agent
"Which mailboxes are still warming, and when did each start?"
"Are acmemail.com, tryacme.com and acme-mail.com free? Do not buy."
"List today's replies marked interested or meeting_request with the lead's email."
"How many mailboxes are paused or in error?"
Keep sending rules in the agent's instructions so drafts follow them: at most 25 cold emails per mailbox a day, 5 mailboxes per domain, 14 days of warmup before cold email, no links, follow-ups after 2, 3, 5 and 5 days.
Free guide19 min read
Send 100,000 cold emails a month
Domains and mailboxes you need, DNS, warmup, lists, copy and follow-ups, with a launch checklist, sent to your inbox.
Limits and Safety
Read-only by design. The file has no purchase or send operation. Buying domains through the API is paid right away — give an agent a billing-scoped key only if you want it to buy.
Shared connections. Decide whether agent users bring their own key or share one. A shared key acts as one Outreach2day user for everyone.
API limits and key safety: cold email API.
FAQ
Can I import the Outreach2day OpenAPI spec directly?
No. Custom connectors take OpenAPI 2.0 files under 1 MB, and the Outreach2day spec is OpenAPI 3 and larger. Use the short Swagger 2.0 file on this page.
Does Copilot Studio support MCP servers with an API key?
Yes. Its MCP wizard offers OAuth 2.0 (dynamic discovery, dynamic or manual), API key authentication in a header or a query parameter, and no auth. The Outreach2day server works with OAuth dynamic discovery, so no key is needed; the key header is a fallback. Only the Streamable HTTP transport is supported.
Is this the same as GitHub Copilot?
No. GitHub Copilot is a coding assistant in editors such as VS Code; see how to connect GitHub Copilot to cold email.
Can the agent send cold emails?
Not with this connector.
What does API access cost?
Nothing extra: it is part of every Outreach2day plan. Copilot Studio has its own Microsoft licensing. See our pricing.
Related
Create an account and add mailboxes, then add the MCP server tool and sign in; for the custom connector, create a key on the API keys page.
Keep reading
Send 100,000 cold emails a month
How to send 100,000 cold emails a month while keeping quality, engagement and conversion rates high: domains, mailboxes, warmup, leads, copy and scaling
Step-by-step playbook · 19 min readEmail tools6 min read
How to Connect Claude Code to Cold Email
Email tools6 min read
How to Connect Cursor to Cold Email
Email tools7 min read
How to Connect ChatGPT to Cold Email
Answer2 min read
How Long Should I Warm Up a New Mailbox Before Cold Email?
Agent skill
Cold email lead list cleaner