AdPlug
Guide · Meta Ads to Grok Bot

How to Connect Meta Ads to Grok Bot

Grok Bot is the app from SpaceXSI (formerly xAI) where always-on Bots work on a cloud computer instead of your laptop. Connecting AdPlug gives a Bot a controlled way to read your Meta Ads data, run reports on a schedule, and prepare changes you approve. This guide covers what you need, the one message that sets it up, the five setup steps, and the prompts to run first.

Updated 2026-10-28 · 10 minute read

Connect Meta Ads in one message

Copy this and paste it into a chat with your Bot. Then click Authorize on the card it posts.

Add a custom MCP server called AdPlug - Meta Ads at https://api.adplug.app/mcp/meta-ads

Quick setup

Connect Meta Ads to Grok Bot with one message

Grok Bot adds custom connectors when you ask in chat, so the quickest setup is one message. Already have an AdPlug account with Meta Ads connected? Paste this into a chat with your Bot:

Add a custom MCP server called AdPlug - Meta Ads at https://api.adplug.app/mcp/meta-ads

The Bot adds AdPlug and posts an Authorize card. Click Authorize, then Continue, and approve AdPlug's sign-in in your browser. Then ask it: List my Meta ad accounts.

New to AdPlug? The same message works. AdPlug's sign-in screen lets you create a free account, and you connect Meta Ads from your AdPlug dashboard. The five steps below walk through it with screenshots.

01

How a Bot reaches Meta Ads

A Bot can work on Meta Ads in two ways.

  • Through its browser. Every Bot has a cloud computer with a browser. You sign in to Ads Manager there and the Bot clicks through it.
  • Through a connector. A connector hands the Bot Meta's Marketing API instead of a screen. Reports come back as data, and a change is a named operation with exact values. Grok Bot's docs say to prefer a connector when one is available, because it is often more reliable than clicking through a website.

AdPlug is that connector for Meta Ads, covering Facebook and Instagram. You add it once and every Bot on your account can use it.

Since October 2026 there's a second one to know about: Cursor added Meta's own Meta Ads app to the apps Grok Bot can install, so you may see it in Connect apps. Here's how the routes compare.

Ways to connect Grok Bot to Meta Ads
RouteWhat your Bot getsBest for
The Bot's browserAds Manager on screen, after you sign in on the Bot's computerOne-off checks, and screens no API reaches
Meta's own Meta Ads appMeta's own server: campaigns, ads, audiences, catalogs and insights. Meta Ads onlyMeta on its own, if the app is on your account
AdPlugMeta Ads next to Google Ads, LinkedIn Ads, Microsoft Ads, and Reddit Ads through one AdPlug account, the same connection in Claude and ChatGPT, changes you can preview before they run, and everything new created pausedRunning Meta next to your other ad platforms, and teams that need edit rights per person
Grok chat connectorThe same AdPlug address, added on grok.comQuestions in Grok chat rather than an always-on Bot

02

What you need

  • Grok Bot. The desktop app runs on macOS, Windows, and Linux, and there are mobile apps for iPhone, iPad, and Android. Since 12 October 2026 it comes with The X Subscription on Premium, Super, and Ultra, team seats included (Plus and Free don't include it). Older routes still work: every paid individual Cursor plan and Cursor Teams, a linked SuperGrok, SuperGrok Plus, SuperGrok Heavy, or X Premium+ subscription, or a seat on a self-serve Grok Business plan. There is also a free trial credit. Cursor's plans page has the current terms.
  • An AdPlug account. The free plan is enough to set this up and test it: view only, 500 requests in the first 5 days and 50 a month after that, on one ad platform. AdPlug's Meta Ads MCP is the server your Bot talks to.
  • Access to the ad account. A Facebook profile with a role on the Meta ad accounts you want the Bot to work on, and on the Pages you advertise from.

03

Setup in 5 steps

Steps 1 and 2 happen in AdPlug. Steps 3 to 5 happen in Grok Bot. Allow about ten minutes the first time.

  1. Create your AdPlug account

    Go to adplug.app/signup, sign in with Google or email, and follow the short onboarding. It ends on your AdPlug dashboard.

    AdPlug Create your account screen with a Continue with Google button and name, email and password fields.
    AdPlug sign-up. One click with Google, or an email and password.
  2. Connect Meta Ads to AdPlug

    On the dashboard, click Connect Meta Ads (or open the Connections page). AdPlug sends you to Facebook's own sign-in. Use the Facebook profile that opens your ad accounts in Ads Manager, the one with a role on the accounts you want your Bot to work on.

    Facebook then asks which businesses, Pages and ad accounts AdPlug may use. Pick the ad accounts you want your Bot to work on, and include the Pages you advertise from: every Meta ad runs from a Page, so AdPlug needs them to create ads. Click through and you're back in AdPlug with Meta Ads connected.

    Zero ad accounts afterwards?

    Nothing was shared on Facebook's screen, or your profile has no role on the account. Reconnect from the Connections page and tick the accounts and Pages this time.

  3. Ask your Bot to add AdPlug

    Grok Bot calls its connectors apps and installs them as plugins from Connect apps in the sidebar (it used to be called Plugins). AdPlug isn't in that list yet, so you add it as a custom MCP server, and you do that by asking your Bot. Grok Bot's docs describe two kinds, Remote HTTPS and Command. AdPlug is the Remote HTTPS kind and signs you in through your browser, so there is no key to paste.

    Open a chat with your Bot and send:

    Add a custom MCP server called AdPlug - Meta Ads at https://api.adplug.app/mcp/meta-ads

    Keep the words custom MCP server in the message so the Bot uses this address rather than an app from Connect apps. That matters more now that Connect apps can list Meta's own Meta Ads app: it's a different connector, not AdPlug. The Bot adds it and posts an Authorize card. If it asks you to confirm the name and address first, say yes.

    https://api.adplug.app/mcp/meta-ads
    Grok Bot chat with the one message that adds a custom MCP server called AdPlug - Meta Ads at https://api.adplug.app/mcp/meta-ads, and the Authorize card the Bot posts.
    The message in a chat with your Bot, and the Authorize card it posts once AdPlug is added.
  4. Authorise the connection

    Click Authorize on the card, then Continue in the dialog that opens. Grok Bot opens AdPlug's sign-in in your browser. Use the same email as your AdPlug account and click Approve. AdPlug's screen says Cursor wants access: Grok Bot connects apps through Cursor's backend, so that's the request to approve. If the card says it is waiting for authorization, choose Reopen to bring the browser tab back.

    AdPlug Authorize access screen for Grok Bot saying Cursor wants to access your AdPlug account, then back to www.cursor.com, with Deny and Approve buttons.
    AdPlug's authorise screen for Grok Bot. It names Cursor, the backend Grok Bot runs on. Approve to let your Bot use your AdPlug connection.

    Your browser then says the authorization is complete. If it asks to open Grok Bot, allow it. Back in Grok Bot, the card says Connected. You can also open Connect apps in the sidebar (on a phone, tap your avatar first) and check that AdPlug - Meta Ads appears under Installed. Cursor's app help covers the other statuses you might see, such as Needs auth.

    Grok Bot Connect apps with the AdPlug - Meta Ads MCP server listed under Installed and marked Connected.
    AdPlug - Meta Ads under Installed in Connect apps, marked Connected once the sign-in is done.
  5. Test the connection

    In a chat with your Bot, ask:

    “List my Meta ad accounts.”

    The Bot calls the meta_ads_list_accounts tool and returns your ad accounts with their currencies, plus the Facebook Pages and Instagram accounts you advertise from. If your accounts are listed, the connection works end to end. If the Bot answers without AdPlug, type @ and pick AdPlug - Meta Ads first.

    Grok Bot answering 'List my Meta ad accounts' through the AdPlug Meta Ads MCP, with each ad account's name, ID, currency and status.
    Your Bot's reply to the test prompt, one row for each ad account it can reach.

04

Prompts and routines

Meta's hierarchy is campaign, then ad set, then ad. Budgets and targeting usually sit on the ad set, or on the campaign when it uses campaign budget optimisation. Name the level you mean and the Bot picks the right one.

Weekly movers

“Compare my Meta Ads campaigns last week against the week before. Flag the biggest movers in spend and cost per result, and tell me why they moved.”

Not delivering

“Which of my Meta ads should be running but aren't delivering, and what's blocking each one?”

Cost per result jump

“My Meta cost per result jumped this week. What changed in the account, and is that why?”

Creative fatigue

“Which ads are fatiguing, with frequency up and click-through rate down, and what should we test instead?”

Audit an account you've inherited

“Audit this Meta account I've just taken over: tracking, structure, budgets, audiences, creative and placements. Fixes in order of impact, as a client-ready PDF.”

Tracking

“Check my pixel is still firing and my conversions are still recording, and flag anything that stopped.”

Run campaigns, not just reports

Reports are the easy start. The same connection builds and changes campaigns on a paid AdPlug plan, and you can ask to see any change as a preview first. Everything new starts paused:

Build a campaign

“Build a paused Meta campaign and ad set for [your landing page], optimised for a conversion my pixel already records, with targeting and budget. Preview first.”

Move budget

“Compare cost per result and ROAS across campaigns and ad sets chasing the same conversion, suggest where budget should move, and preview current and proposed budgets.”

Fix ads that aren't spending

“Find ads that should be running but aren't spending, say what's blocking each, and preview the fixes you can make. Flag any that need Ads Manager.”

Retargeting audiences

“Build a retargeting audience from my website visitors and a lookalike of it, and preview a paused ad set that uses them.”

Grok Bot can also run work on a schedule. It calls this a routine: you ask the Bot in chat, say what it should do and when, and it keeps running in the cloud while your laptop is closed. A weekly report is the obvious first one:

“Every Monday morning, use AdPlug - Meta Ads to compare last week's spend, results and cost per result with the week before for every campaign that spent, and post a short summary here of what moved and why. Read only. Do not change anything.”

Give the routine a time zone, the account it covers, and what to do when data is missing. A new routine waits for its next scheduled time, so open it and use Test to run it once now. Keep scheduled work read only. Cursor's help pages say an approval raised by a routine expires if nobody answers it in time, and the action doesn't run, so a scheduled job that needs a yes will usually just stop. Every run also uses AdPlug requests, and the free plan drops to 50 a month after the first 5 days, so a routine you keep wants a paid plan.

Routines worth setting up once the weekly report works:

  • A morning check that only messages you when something's off: ad sets that stopped delivering, rejected ads, payment or account problems, a pixel that went quiet, or spend and cost per result far from normal.
  • A weekly landing page check: the page behind every live ad, flagging broken, slow or mismatched pages and big gaps between link clicks and landing page views.
  • At the start of each month, a client-ready PDF on last month's Meta Ads: results, cost per result and ROAS against the month before, the ad sets, placements and ads behind them, and what changes next.

05

Approvals and safety

AdPlug gives the Bot two tools for campaign changes: a preview tool that returns the exact change without applying it, and an execute tool that applies it. That covers campaigns, ad sets, budgets, targeting, creatives and ads, audiences, lead forms and catalogs. Everything AdPlug creates on Meta starts paused, so nothing spends until you switch it on. The free plan is view only; creating and editing campaigns needs a paid AdPlug plan.

Grok Bot has its own approval prompts for sensitive actions, with Allow once, Always allow, and Deny. Do not rely on those alone for ad changes. Put the boundary in the request: ask for a draft that shows the current value, the proposed value, and the expected impact, and tell the Bot to wait. Answer with Allow once rather than Always allow, and add an Ask first rule under Auto-review for anything that edits campaigns.

Apps are shared across your account. Grok Bot's docs note that connected apps are not isolated to one Bot, and that all your Bots use the same cloud computer and app logins. Any Bot you create can reach the ad accounts this connection can see.

Teams are different. On a Team Bot, the Team Bots docs say a custom MCP server that signs in with OAuth uses the account of whoever is talking to the Bot. AdPlug signs in that way, so each teammate authorises once with their own AdPlug account. Approvals work as they do on any Bot, with one exception: in a conversation where nobody can answer the approval card, the Bot doesn't stop to ask and stays within the permissions it was set up with. So set the limit in AdPlug too: on the Max and Agency plans the owner can set each teammate to View only or Can edit per platform.

Report calls and executed changes are recorded in your AdPlug Usage and Audit Log, so you can check what a Bot did while you were away.

06

Using Grok chat instead

If you use Grok in the browser rather than Grok Bot, add AdPlug as a custom connector. On grok.com that takes three steps, and the Grok connector docs cover the rest:

  1. Click Plugins in the sidebar, or go to grok.com/connectors.
  2. Click New Connector, then select Custom.
  3. Name it AdPlug - Meta Ads, paste the AdPlug address above as the Server URL, click Add Connector, and complete the sign-in.
Grok's Custom Connector form on grok.com, asking for a custom name and an MCP server URL, with Cancel and Add Connector buttons.
Grok's Custom Connector form on grok.com: a name, the MCP server URL, then Add Connector.
AdPlug Authorize access screen saying Grok wants to access your AdPlug account, then back to grok.com, with Deny and Approve buttons.
AdPlug's authorise screen when you connect from Grok chat: it names Grok and sends you back to grok.com.

Connectors are available to all Grok users. On Grok Business and Enterprise a team admin provisions the connector first.

07

Troubleshooting

Click any item to expand the answer.

The Bot added an app from Connect apps instead
Send the message again with the words custom MCP server and the full AdPlug address. To remove the app you did not want, open Connect apps in the sidebar, open it, and choose Disconnect.
AdPlug shows as Added, but the Bot says it is missing
Added means installed, not signed in. Open Connect apps, open AdPlug - Meta Ads, and choose Authenticate (Authorize on a phone) if it shows Needs auth or Disconnected. Finish the sign-in within about ten minutes.
The sign-in card does nothing, or the sign-in didn't finish
If the card says it is waiting for authorization, choose Reopen to bring AdPlug's sign-in page back. If it says the sign-in failed, choose Retry. Cursor's Grok Bot help covers the rest.
AdPlug's sign-in screen says Cursor, not Grok Bot
That's expected. Grok Bot connects apps through Cursor's backend, so AdPlug's screen names Cursor and sends you back to www.cursor.com afterwards. Approve it.
AdPlug - Meta Ads shows Disabled by team admin
On a Cursor team, an admin controls which connectors members can use. Ask your admin to allow the AdPlug address on the Plugins & MCPs page of the Cursor dashboard, then restart Grok Bot.
The Bot answers without using AdPlug
Type @ and pick AdPlug - Meta Ads before you ask, or name it at the start of the request so the Bot knows which app you mean.
The connection shows zero Meta ad accounts
Facebook asks which businesses, Pages and ad accounts to share with AdPlug, and if none were ticked AdPlug sees nothing. Reconnect on the Connections page and tick the ad accounts and Pages you want the Bot to work on.
A change asks you to accept Meta's terms
Meta makes you accept its Custom Audience terms and its Lead Ads terms yourself, and no API can do it for you. Open the link the Bot gives you, accept the terms, then ask the Bot to try again.
Ads aren't running on Instagram
An ad only runs on Instagram when its creative carries an Instagram account. If your Page has no Instagram account linked, link one in Meta Business Suite, then ask the Bot to create the ad again.
A change is refused on the free plan
AdPlug's free plan can read but not edit, and the reply says so. Creating or changing campaigns needs a paid plan.
An approval expired before I saw it
Approvals raised by a routine or by another Bot expire if nobody answers them in time, and the action doesn't run. Turn on Notifications for that Bot, or keep scheduled work read only and make changes in a chat you are in.
The numbers look out of date
Ad platforms finalise some metrics hours after the event. For same-day reporting, ask for a date range ending yesterday and treat today's spend as provisional.

08

Questions people ask

Can Grok Bot connect to Meta Ads?
Yes. Grok Bot reaches outside services through apps, and AdPlug's Meta Ads MCP server can be added as a custom one. Send your Bot one message with the address (https://api.adplug.app/mcp/meta-ads), approve AdPlug's sign-in, and it can pull reports from the accounts you have access to. With a paid AdPlug plan it can also create and change campaigns through AdPlug's preview and execute tools.
Is there one prompt that connects Grok Bot to Meta Ads?
Yes. Send your Bot: "Add a custom MCP server called AdPlug - Meta Ads at https://api.adplug.app/mcp/meta-ads". It adds AdPlug and posts an Authorize card. Click Authorize, then Continue, and approve AdPlug's sign-in in your browser. Then ask it to list your accounts. The sign-in is the one step you do yourself.
How do I get access to Grok Bot?
Grok Bot comes with The X Subscription on Premium, Super, and Ultra, team seats included; Plus and Free don't include it. Older routes still work: every paid individual Cursor plan and Cursor Teams, a linked SuperGrok, SuperGrok Plus, SuperGrok Heavy, or X Premium+ subscription, or a seat on a self-serve Grok Business plan. There is also a free trial credit. Check Cursor's plans page for current terms.
How do I add a custom MCP server to Grok Bot?
Ask your Bot in chat to add a custom MCP server, giving it a name and the server address. Click Authorize on the card it posts, then Continue, and finish the sign-in in your browser. The card then says Connected, and the server appears under Installed in Connect apps. If the Bot doesn't use it on its own, type @ and pick it.
Does Grok Bot have its own Meta Ads app?
Cursor added Meta's own Meta Ads server to the apps Grok Bot can install in October 2026, so it may show in your Connect apps. It covers Meta Ads only. AdPlug is a separate connector: Meta Ads next to Google Ads, LinkedIn Ads, Microsoft Ads, and Reddit Ads through one account, the same connection in Claude and ChatGPT, changes you can preview before they run, and everything new created paused. You can use either.
Can a Bot run Facebook and Instagram ads?
Yes. Meta Ads covers both, and your placements decide where each ad runs. For an ad to run on Instagram, its creative needs the Instagram account linked to your Page. Ask the Bot to list your Meta ad accounts and it shows your Pages and their Instagram accounts too.
Can Grok Bot change my Meta Ads campaigns?
With a paid AdPlug plan, yes. AdPlug gives the Bot two tools for campaign changes: a preview that shows the exact change without applying it, and an execute that applies it. Tell your Bot to preview first and wait for your approval, and add an Ask first rule in Grok Bot for anything that edits campaigns.
Can a Bot run Meta Ads reports on a schedule?
Yes. A Grok Bot routine runs a workflow on a schedule, for example a Monday summary of last week's spend and results, and it keeps running while your laptop is closed. Keep scheduled work read only, because an approval raised by a routine expires if nobody answers it in time, and the action doesn't run.
Does this work in Grok chat as well?
Yes. On grok.com, click Plugins in the sidebar, choose New Connector then Custom, give it a name, paste the same AdPlug address as the Server URL, and complete the sign-in.
Is connecting Grok Bot to Meta Ads free?
AdPlug's free plan is view only, on one ad platform, with 500 requests in the first 5 days and 50 a month after that. Scheduled routines and campaign changes need a paid AdPlug plan. Grok Bot itself needs X Premium or higher on The X Subscription, one of the older plans that include it, or its free trial credit.

Try it on your account.

Connect Meta Ads to Grok Bot through AdPlug in a few minutes. Free plan, no card needed.