PaidSync>Blog>How to Connect Facebook and Instagram Ads to Microsoft Copilot

How to Connect Facebook and Instagram Ads to Microsoft Copilot

Founder written
Author: Ahmed Ashraf|8 min read|Updated September 2, 2026

Add PaidSync as a Model Context Protocol tool in Copilot Studio. Server URL https://mcp.paidsync.ai/mcp, authentication OAuth 2.0 with Dynamic discovery, transport Streamable HTTP. Sign in with your PaidSync login, which holds your Meta Ads connection. Copilot can then read Facebook and Instagram results, split them by placement, and propose budget, pause and campaign changes across 81 Meta tools. Every change is held for your approval before it runs. Copilot Studio needs a work or school account.

Instagram only? Fast path. The 2-minute version with the same Copilot Studio steps is at Connect Instagram Ads to Microsoft Copilot. This guide is the long form, with account selection, placement reporting and the approval flow.

Facebook and Instagram ads share one Meta ad account, one Ads Manager and one API. That is why this is one guide. Connect Meta Ads once in PaidSync and Copilot sees both, down to the placement.

Which Copilot you have

Microsoft sells several products called Copilot. Only some of them can talk to a custom MCP server. Check yours before you start.

ProductCustom MCP serversWhat you need
Copilot StudioYes, through Tools, Add a tool, Model Context ProtocolA work or school account, included with Microsoft 365 Copilot licences or as a standalone Copilot Studio subscription or trial
Microsoft 365 Copilot (Teams, Word, Outlook)Yes, through a published Copilot Studio agentThe agent published to the Microsoft 365 Copilot channel and, in most tenants, admin approval
Consumer Copilot app and copilot.comNoDoes not accept custom MCP servers
GitHub Copilot in VS CodeYes, MCP: Add ServerA GitHub Copilot subscription. A different product, covered at the end

The rest of this guide assumes Copilot Studio. If you only have the consumer app, the same PaidSync connection works in Claude and ChatGPT today.

Set it up in 5 steps

About ten minutes, most of it waiting for the Facebook sign-in and the Copilot Studio publish. Step 4 follows Microsoft's own wizard, verified 2026-09-01.

1

Create a PaidSync account

Go to paidsync.ai/signup and sign up with Google or email. The Free plan is $0 and includes 15 tasks a month. No card.

2

Connect Meta Ads with your Facebook login

In the PaidSync dashboard click Connect Meta Ads. Facebook asks you to sign in and to grant ads_management and ads_read. Pick the ad accounts you want PaidSync to see. Instagram campaigns live inside those same ad accounts, so there is no separate Instagram login.

If you manage several ad accounts, name the one you mean in the first prompt, or ask Copilot to set the active account. PaidSync stores the Meta token encrypted at rest with AES-256-GCM and never stores your Facebook password.

3

Choose OAuth or an API key

OAuth is the path for real work. It uses your PaidSync login, and it is required for any change to a campaign. An API key works for read-only use. Copy it from the dashboard and use https://mcp.paidsync.ai/mcp?api_key=ps_your_key_here. A key in a URL ends up in logs and history, so use it for reporting only.

4

Add PaidSync to Microsoft Copilot through Copilot Studio

Microsoft 365 Copilot reaches custom MCP servers through a Copilot Studio agent. 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/mcp

Authentication: choose OAuth 2.0, then Dynamic discovery (PaidSync publishes the discovery metadata Copilot Studio looks for), or API key sent as a Query parameter named api_key with your ps_ key. Transport is Streamable HTTP. Click Create, then Add to agent.

Publish the agent to the Microsoft 365 Copilot channel. Most tenants need an admin to approve it before it appears in Teams and Microsoft 365 Copilot. Copilot Studio needs a work or school account, included with Microsoft 365 Copilot licences or as a standalone Copilot Studio subscription or trial. The consumer Copilot app does not accept custom MCP servers.

5

Test with one Facebook and Instagram prompt, then approve a change

Open the agent and ask "Show my Meta Ads spend, purchases and ROAS for the last 7 days, split by placement." Real campaign names and numbers mean the connection works.

Next ask for a change, for example "Pause every ad set over $80 spend with zero purchases this week." Copilot shows the list. Nothing runs until you approve it. Add "preview only" to run it as a dry_run first.

Free plan, 15 tasks a month, no card.

Start freeBuild this for our team

Instagram ads on Copilot

Three things trip people up when the goal is Instagram rather than Facebook.

Account selection in the Facebook OAuth step

Instagram ads run inside a Meta ad account, not inside the Instagram app. When Facebook asks which ad accounts PaidSync may access, tick the account that holds your Instagram campaigns. If your Instagram professional account is linked to the Facebook Page in Meta Business settings, ads carry the Instagram handle. That link is a Meta setting, so make it there, not in PaidSync.

Placements

Copilot can list the placements an ad set is running on and change them. Ask "Which ad sets are running on Instagram Reels only?" or "Move the Spring Launch ad set to Instagram Feed, Stories and Reels, nothing on Facebook." The second one is a write, so it waits for your approval.

Reels and Stories reporting

Ask for a placement breakdown and Copilot returns spend, results and cost per result for Instagram Feed, Stories, Reels and Explore beside the Facebook placements, for any date range. Reporting also breaks down by device, country, age and gender, and time. Reels usually wins on CPM and loses on conversion rate. Now you can see it in one table instead of four Ads Manager exports.

What Copilot can read and change in Meta Ads

PaidSync exposes 81 Meta tools to Copilot. The split, from the current tool catalog:

GroupToolsExamples
Reads45Campaign, ad set and ad performance, placement and demographic breakdowns, audiences, pixels, billing transactions
Writes on existing objects33pause_fb_campaign, enable_fb_campaign, update_fb_campaign, budget and schedule changes, image and video uploads
Builds5create_fb_campaign and the ad set, creative and ad tools that go with it

Reads return straight away. Every write is held for approval before it runs. Ask for a preview and the tool runs as a dry_run. Anything destructive, such as deleting a campaign, needs confirm_destructive as well. In the PaidSync workspace each approved change becomes a card with one-tap undo and a 7-day outcome check.

Meta has an official ads MCP. Here is when to use it

Meta runs its own server at mcp.facebook.com/ads. It has been in open beta since April 29, 2026, it reads and writes, and access is gated per ad account. Accounts outside the rollout see an is_ads_mcp_enabled error, with US and higher-spend accounts first. On July 16, 2026 Meta added developer-app connections and server rules. Our walkthrough of the official server covers the setup.

If your account is in and Meta is the only platform you run, try it. A team picks PaidSync for three reasons that do not change.

Prompts to try first

"Show Facebook and Instagram spend, purchases and ROAS for the last 7 days, split by placement."
One table, Feed, Stories, Reels, Explore and the Facebook placements side by side.
"Which Reels ads have the highest cost per purchase this month? List them with spend."
Ranked list, ready to paste into a Word doc or a Teams message.
"Pause every ad set over $80 spend with zero purchases in the last 7 days. Preview first."
Runs as a dry run, shows the list, then waits for your approval.
"Draft a Word summary of last week's Meta results with three recommendations."
Copilot pulls the numbers through PaidSync and writes the document in Microsoft 365.
"Compare Meta and Google Ads cost per purchase for the last 30 days."
Cross-platform in one prompt, because both accounts sit behind the same endpoint.

GitHub Copilot in VS Code

GitHub Copilot in VS Code is a different product. Press Cmd+Shift+P (Ctrl+Shift+P on Windows), run MCP: Add Server, choose HTTP, paste the same URL, and sign in when prompted.

It uses the same endpoint, the same OAuth sign-in and the same approval step. Handy for a developer who wants to script a report, not a replacement for the Copilot Studio agent your marketing team will use in Teams.

Frequently asked questions

Can I connect Facebook Ads to Microsoft Copilot without Copilot Studio?

No. Microsoft 365 Copilot reaches custom MCP servers through a Copilot Studio agent, and the consumer Copilot app does not accept custom MCP servers. GitHub Copilot in VS Code is a separate product that connects directly with MCP: Add Server, HTTP, and the same URL.

Do Instagram ads need a separate connection?

No. Instagram campaigns, ad sets and ads live inside your Meta ad account. One Facebook OAuth sign-in in the PaidSync dashboard covers Facebook and Instagram placements, including Feed, Stories, Reels and Explore.

Which Copilot accepts PaidSync?

Copilot Studio agents, and Microsoft 365 Copilot once the agent is published to the Microsoft 365 Copilot channel and, in most tenants, approved by an admin. GitHub Copilot in VS Code also works. The consumer Copilot app does not accept custom MCP servers.

Does Copilot Studio need a work or school account?

Yes. Copilot Studio needs a work or school account, included with Microsoft 365 Copilot licences or as a standalone Copilot Studio subscription or trial. A personal Microsoft account does not open Copilot Studio.

Can Copilot change my Facebook and Instagram campaigns, or only read them?

Both. PaidSync exposes 81 Meta tools, 45 of them reads and 33 writes, including campaign creation. Every write is held for your approval before it runs, dry_run previews the change, and destructive operations need confirm_destructive.

Should I use the official Meta ads MCP instead?

Try it if your ad account is in the rollout. Meta's server at mcp.facebook.com/ads has been in open beta since April 29, 2026, reads and writes, and is gated per ad account. PaidSync adds the other 13 platforms on the same endpoint, an approval step on every write, and cross-platform prompts.

Can I use an API key instead of signing in?

For reading, yes. Add ?api_key=ps_your_key_here to the endpoint, or send the key as a Query parameter named api_key in Copilot Studio. Applying any change requires the OAuth sign-in.

Is PaidSync free to use with Meta Ads on Copilot?

Yes. The Free plan is $0 with 15 tasks a month. Pro starts at $99 a month and Team at $249 a month. The billing unit is a task, not a tool call.

How do I see Reels and Stories results in Copilot?

Ask for a placement breakdown. Copilot returns spend, results and cost per result for Instagram Feed, Stories, Reels and Explore next to the Facebook placements, for any date range you name.

Does the same setup work in Claude, ChatGPT and Gemini?

Yes. The endpoint https://mcp.paidsync.ai/mcp is the same in every client. Connect Meta Ads once in PaidSync and reuse it from Claude, Claude Code, ChatGPT, Gemini CLI, Perplexity and Cursor.

Connect Facebook and Instagram Ads to Microsoft Copilot. Free plan, 15 tasks a month.

Start free Build this for our team