Add PaidSync to a Copilot Studio agent as a Model Context Protocol tool at https://mcp.paidsync.ai/mcp with OAuth 2.0 and Dynamic discovery. The agent can then read spend, budgets and results across Google Ads, Meta Ads and LinkedIn Ads, and make changes such as pausing a campaign or moving budget. Most creates preview as a dry run first, and deletes, pauses and budget changes need an explicit confirm.
Work or school account. 630+ tools across 14 platforms. Free plan, no credit card.
Copilot Studio accepts any Model Context Protocol server over Streamable HTTP. PaidSync is one server that sits in front of Google Ads, Meta Ads, LinkedIn Ads and eleven more platforms. You connect each ad account to PaidSync once, with the platform's own OAuth sign-in. Then you add PaidSync to your agent in Copilot Studio with a single URL and an OAuth 2.0 sign-in. That takes about ten minutes.
From there the agent works in plain language. Ask for last week's spend by platform. Ask which Google Ads campaigns missed their target CPA. Ask it to move budget from the weakest LinkedIn campaign to the strongest. Reads come back straight away. Most creates preview the exact change as a dry run first, and deletes, pauses and budget changes need an explicit confirm. PaidSync writes no approval card for calls from Copilot Studio, so if a person must sign off, build that step into the agent. Google Ads is a 152-tool platform in PaidSync, Meta Ads is 83 tools and LinkedIn Ads is 34.
Microsoft sells several things called Copilot. Only one of them lets you add a custom MCP server, so it helps to know which one you are looking at.
| Product | Who uses it | PaidSync |
|---|---|---|
| Copilot Studio | The person who builds agents. Needs a work or school account. Included with Microsoft 365 Copilot licences, or standalone, or a 30-day trial. | Yes. Add PaidSync as a Model Context Protocol tool. This is the page for it. |
| Microsoft 365 Copilot | Everyone in Teams, Word and Outlook. | Through a published Copilot Studio agent. Build it, publish to the Microsoft 365 Copilot channel, admin approves. |
| Copilot chat (consumer app and copilot.com) | Personal Microsoft accounts. | No. The consumer Copilot app does not accept custom MCP servers. |
| GitHub Copilot in VS Code | Developers. | A different product with its own MCP setup. See GitHub Copilot in VS Code below. |
Go to paidsync.ai/signup. Google or email sign-in. The free plan is 15 tasks per month at $0, with no credit card. That is enough to test the whole agent before anyone pays.
In the PaidSync dashboard click Connect Google Ads. Sign in with the Google account that owns your ads and pick the accounts the agent may see. PaidSync stores the token encrypted at rest with AES-256-GCM. Your password never touches PaidSync.
Click Connect Meta Ads. Sign in with the Facebook account that manages your ad accounts, then choose the ad account the agent should work in. Click Connect LinkedIn Ads. Sign in with the LinkedIn account that has Campaign Manager access. Each platform gets its own sign-in, so one agent can cover all three without sharing credentials between them.
In Copilot Studio open your agent, then Tools, Add a tool, New tool, Model Context Protocol. Server name PaidSync, a short description, and the server URL:
https://mcp.paidsync.ai/mcpAuthentication: OAuth 2.0, then Dynamic discovery. PaidSync publishes the OAuth discovery metadata and supports dynamic client registration, so no client ID is typed. If your tenant blocks that, choose API key sent as a Header named x-api-key with your ps_ key. Transport is Streamable HTTP; SSE is not supported by Copilot Studio.
Click Create, then Add to agent. Test in the studio, then publish to the Microsoft 365 Copilot channel. Tenant DLP policies on Power Platform connectors govern the connection, and most tenants need an admin to approve the published agent.
Copilot Studio needs a work or school account. It is included with Microsoft 365 Copilot licences and available as a standalone subscription or 30-day trial. The consumer Copilot app does not accept custom MCP servers.
In the Copilot Studio test pane ask: "List my Google Ads accounts". The agent should answer with account names and IDs. Then ask: "Show last 7 days spend across Google Ads, Meta Ads and LinkedIn Ads". One answer, three platforms.
When the answers are right, publish the agent to the Microsoft 365 Copilot channel. In most tenants an admin approves it before it shows up in Teams and Microsoft 365 Copilot.
When you pick OAuth 2.0 and Dynamic discovery, Copilot Studio reads PaidSync's published OAuth metadata, registers itself as a client through dynamic client registration, and runs the sign-in with PKCE. You do not type a client ID or a client secret. The person who builds the agent signs in with their PaidSync login. That sign-in can apply changes on every platform, including Google Ads.
| Wizard field | Value |
|---|---|
| Server name | PaidSync |
| Server URL | https://mcp.paidsync.ai/mcp |
| Authentication | OAuth 2.0, Dynamic discovery |
| Transport | Streamable HTTP |
Some tenants block dynamic client registration. If the OAuth step fails for that reason, choose API key in the wizard, set it as a Header named x-api-key, and paste the ps_ key from your PaidSync dashboard. The server URL stays the same:
https://mcp.paidsync.ai/mcpThe key path is not read-only. On Google Ads it allows reads and dry runs, and applying a change needs the OAuth 2.0 sign-in. On the other platforms the key can apply changes, subject to the same checks as an OAuth sign-in. Treat the key like a password, and ask your admin for the OAuth path where you can.
Copilot Studio runs on Power Platform, and Power Platform data loss prevention (DLP) policies decide which connections an agent may use. Tenant DLP policies govern the PaidSync connection like any other. If the tool will not save, or the connection shows as blocked after you click Create, the environment's DLP policy is the first thing to check.
Your Power Platform admin will want three facts. The server is a single host, mcp.paidsync.ai. Authentication is OAuth 2.0 with dynamic client registration and PKCE, so no shared secret leaves the tenant. Ad platform tokens are stored encrypted at rest with AES-256-GCM. Your admin should also know that PaidSync writes no approval card for calls from Copilot Studio, so any sign-off step lives in the agent. PaidSync still previews most creates as a dry run and requires an explicit confirm on deletes, pauses and budget changes. Single sign-on and a data processing agreement are available on request for larger teams.
Both examples use PaidSync tools your agent already has after step 4. The prompts go in the agent's instructions. In both, the agent proposes and a person decides, which is what lets a finance or marketing lead trust the agent on day one.
Every Monday the agent asks PaidSync for month-to-date spend and the monthly budget for each account across Google Ads, Meta Ads and LinkedIn Ads. It compares the two, works out the daily rate needed to land on budget, and posts a short summary in Teams. Accounts more than ten percent ahead or behind get a proposed budget change in the summary. A dry_run preview shows the exact new budget, and the change runs only when the media manager tells the agent to apply it. PaidSync logs the applied change, on a best-effort basis, with a 7-day before-and-after outcome, so the team can see whether it did what it was meant to.
Each morning the agent asks PaidSync for disapproved and suspended products in Google Merchant Center, the same check the Merchant Center Auditor runs in the PaidSync workspace. It groups the products by reason, drafts the feed fix, and hands the list to the person who owns the feed. The product update is a write, so the agent's instructions have it wait for the feed owner's go-ahead before anything changes in Merchant Center. If a Google Ads Shopping campaign is losing volume because of those products, the agent says so in the same message, with the spend figure, and can propose a pause for the same person to approve. On PaidSync's side, a campaign pause or removal also needs confirm_destructive. Merchant Center product writes and deletes have no dry run and need no confirm flag, so the feed owner's go-ahead is the only check on them.
All three are build-tier platforms in PaidSync, which means the agent can create campaigns, not just report on them. The counts below come from the PaidSync capability matrix.
Microsoft Advertising has its own MCP server in a read-only open pilot since June 17 2026 (about.ads.microsoft.com). It covers Microsoft Advertising accounts only and cannot change anything. PaidSync adds Microsoft Ads alongside the other thirteen platforms. The agent can pause, enable and change budgets on existing Microsoft campaigns, and each pause or budget change needs an explicit confirm.
The PaidSync tool you add in step 4 reaches every platform you connect in the PaidSync dashboard, not just the three above. Each platform keeps its own sign-in. What the agent may change depends on the platform.
| Tier | Platforms and tool counts | What the agent can change |
|---|---|---|
| Build | Google Ads (152), Meta Ads for Facebook and Instagram (83), LinkedIn Ads (34), ChatGPT Ads (28) | Creates campaigns, then pauses, enables and changes budgets and settings. |
| Manage | Microsoft Advertising, formerly Bing Ads (133), TikTok Ads (13), Snapchat Ads (15), Pinterest Ads (14), Reddit Ads (14), X Ads, formerly Twitter Ads (14) | Pauses, enables and changes budgets and settings on campaigns that already exist. No campaign creation. |
| Configure | Google Tag Manager (39), Google Analytics 4 (26), Google Merchant Center (16) | Writes tags, conversion events and product feed fixes. |
| Watch | Google Search Console (6) | Nothing. Reports on queries, pages and index coverage only. |
Instagram needs no separate connection. Instagram ads live inside your Meta ad account, so one Facebook sign-in covers Feed, Stories, Reels and Explore placements. Agencies connect Google Ads with the Google account that holds the manager (MCC) account, and the agent switches between client accounts on request.
GitHub Copilot is the coding assistant inside Visual Studio Code. It is a different product from Microsoft 365 Copilot. It connects to MCP servers from the editor, so no Copilot Studio agent is involved.
Press Cmd+Shift+P (Ctrl+Shift+P on Windows), run MCP: Add Server, choose HTTP, paste the same URL and sign in with your PaidSync login when prompted. To share the setup with a repository, commit a .vscode/mcp.json file instead:
{
"servers": {
"paidsync": { "type": "http", "url": "https://mcp.paidsync.ai/mcp" }
}
}The endpoint and the sign-in are the same as in Copilot Studio.
The two agents above are a starting point. Teams that run real budgets usually need more. A pacing agent that knows your fiscal calendar. A disapproval agent that files tickets in your system. An approval chain where the media manager proposes and the finance lead signs. PaidSync builds these agents with you, on Copilot Studio or on your own agent stack, with a sign-off step wherever your team wants one.
The founder is a Google Premier Partner who has managed over $500M in ad spend. PaidSync is also a Meta Business Partner and a TikTok Marketing Partner.
Google AdWords is the old name for Google Ads. Create a PaidSync account, connect Google Ads with the Google account that owns your ads, then in Copilot Studio open your agent and go to Tools, Add a tool, New tool, Model Context Protocol. Paste https://mcp.paidsync.ai/mcp, choose OAuth 2.0 with Dynamic discovery, click Create and Add to agent. Copilot Studio can now read your Google Ads data and change campaigns. Most creates preview as a dry run first, and pauses, deletes and budget changes need an explicit confirm.
Both, in that order. You add the PaidSync tool inside Copilot Studio, test the agent there, then publish it to the Microsoft 365 Copilot channel. After that it appears in Teams and in Microsoft 365 Copilot. Most tenants need an admin to approve the published agent first.
A work or school account. Copilot Studio is included with Microsoft 365 Copilot licences and is also available as a standalone subscription or a 30-day trial. The consumer Copilot app does not accept custom MCP servers, so a personal Microsoft account is not enough.
Choose API key instead of OAuth 2.0 in the tool wizard, send it as a Header named x-api-key, and paste your ps_ key. On Google Ads the key allows reads and dry runs only, so applying a Google Ads change needs the OAuth 2.0 sign-in. On the other platforms the key can apply changes, subject to the same checks as an OAuth sign-in. If your team needs to act on Google Ads, not just report, ask your Power Platform admin to allow the OAuth connection.
It can do both. Google Ads, Meta Ads and LinkedIn Ads are all build-tier platforms in PaidSync, which means the agent can create campaigns, pause and enable them, and change budgets and settings. PaidSync writes no approval card for calls from Copilot Studio, so build any sign-off step into the agent. Most creates preview the exact change with dry_run first, and destructive operations need confirm_destructive.
No. Never put the key in the tool URL: a key in a URL lands in logs and browser history. Send it as a Header named x-api-key, or better, use OAuth 2.0, the primary path in Copilot Studio. The key is not read-only. On every platform except Google Ads it can apply changes, so treat it like a password and rotate it from the PaidSync dashboard if it leaks.
Free is $0 for 15 tasks per month, enough to test the agent end to end. Pro starts at $99 per month and Team starts at $249 per month. A task is one unit of work the agent completes, such as a report or an applied change. Custom agent builds for larger teams are scoped on a founder call.
Yes, for Microsoft Advertising only. Microsoft's official server has been in a read-only open pilot since June 17 2026. It covers Microsoft Advertising accounts and cannot change anything. PaidSync covers Google Ads, Meta Ads, LinkedIn Ads, Microsoft Ads and ten more platforms from one endpoint, with dry-run previews and an explicit confirm on destructive writes.
No. Instagram campaigns, ad sets and ads live inside your Meta ad account. One Facebook sign-in in the PaidSync dashboard covers Facebook and Instagram placements, including Feed, Stories, Reels and Explore.
Yes. Connect Google Ads with the Google account that has access to the manager account. The agent can then switch between client accounts on request, so one PaidSync connection covers every client under the manager.
No. On those five platforms, and on Microsoft Advertising, the agent manages campaigns that already exist. It can pause, enable and change budgets and settings. Campaign creation is available on Google Ads, Meta Ads, LinkedIn Ads and ChatGPT Ads.
No. GitHub Copilot in VS Code is a coding assistant and connects to MCP servers from the editor. Microsoft 365 Copilot is the assistant in Teams, Word and Outlook, and it reaches PaidSync through a published Copilot Studio agent. Both use the same PaidSync URL and sign-in.
630+ tools. 14 platforms. One endpoint in Copilot Studio.