Meta Ads API with AI agents: create, review and optimize campaigns
October 28, 2026 · Zoosial team
Connect your Meta ad account to Zoosial, add its MCP server to Claude, ChatGPT or Codex, and the agent can list campaigns, read results, and create campaigns, ad sets, creatives and ads. Everything it creates is born PAUSED, and actions that spend money or delete ask you to confirm. The same operations exist as REST endpoints if you prefer to drive them from your own code.
Create without spending
Creating or duplicating an object always leaves it in PAUSED and returns a reviewUrl, a dashboard link with what was just created highlighted so you can check it and activate it. A typical new ad goes like this:
upload_mediato upload an image or video (a public URL, base64 for small images, or a signed upload link).create_ad_campaign, thencreate_ad_set.create_ad_creativewith the uploaded media or an existing post.create_adinside the ad set.
To test a variant without touching what works, duplicate_ad_object copies a campaign, ad set or ad, and the copy is also paused. boost_post turns an existing Page post into an ad. Budgets are in cents of the account currency, so 50000 means 500.00.
What needs your confirmation
| Tool | Why it asks |
|---|---|
update_ad_object | Activating or raising a budget spends real money; the agent should show the current and new value |
remove_meta_ai | Turns off Meta's Advantage+ creative enhancements and restarts the ad's learning |
delete_ad_object | Irreversible; prefer pausing or archiving |
For more control, authorize the agent with read-only permission, or limit it to specific profiles.
Review performance
Reads need no confirmation: list_ad_campaigns, list_ad_sets, list_ads and ad_insights. Over REST, GET /ads/review?adAccountId=... compares the last 7 days with the previous 7 per campaign, with spend, leads, cost per lead and frequency. It flags:
- cost per lead up more than 25%;
- spend without leads;
- frequency above 3;
- a total budget whose daily spend must change a lot to reach its end date;
- Meta AI enhancements switched on, expired dates in the copy, and rejected ads.
The server also exposes an auditoria_anuncios prompt, an agency-style audit covering product, targeting, breakdowns, lead quality, audiences and tests. Schedule it on a read-only connection, since a task that runs alone has no one to approve changes.
Optimize
With the findings, ask the agent to pause the worst ad, duplicate the best campaign for another audience, or use targeting_search and audience_estimate to size an audience before building it. Neither of those two spends anything. Audiences, pixels and the Conversions API are available too.
Get told when something breaks
Instead of polling, subscribe a webhook to ad.issue, ad.status_changed and ad.recommendation. They arrive when an ad is rejected or limited, changes status during review, or Meta sends a recommendation.
Connect and limits
Add the server with claude mcp add --transport http zoosial https://zoosial.com/mcp or the Codex equivalent, and authorize in your browser. Connect your ad account in the dashboard first. Google Ads currently supports only creating campaigns; the rest of this workflow is Meta only.
Contract: /llms.txt and /openapi.json (English field names). Spanish-only guides: /docs/anuncios and /docs/mcp. Product page: Anuncios Meta y Google (Spanish). English landing page: /en. You can start free; MCP is included in every plan.
FAQ
Can an AI agent create Facebook and Instagram ads?
Yes. Through Zoosial's MCP server or REST API an agent can upload media, create campaigns, ad sets, creatives and ads. Everything it creates starts as PAUSED so you can review it first.
Will the AI spend my budget without asking?
Not through the documented flow. New objects are paused, and activating, raising a budget, removing Meta AI or deleting asks for confirmation. A read-only connection cannot change anything.
How do I review my Meta ads automatically every week?
Use GET /ads/review or the auditoria_anuncios prompt. Both compare the last 7 days against the previous 7 and flag problems. Schedule it on a read-only connection.
Does Zoosial take a cut of my ad spend?
No. You pay your Zoosial plan and pay Meta directly for ads.