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:

  1. upload_media to upload an image or video (a public URL, base64 for small images, or a signed upload link).
  2. create_ad_campaign, then create_ad_set.
  3. create_ad_creative with the uploaded media or an existing post.
  4. create_ad inside 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

ToolWhy it asks
update_ad_objectActivating or raising a budget spends real money; the agent should show the current and new value
remove_meta_aiTurns off Meta's Advantage+ creative enhancements and restarts the ad's learning
delete_ad_objectIrreversible; 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:

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.

← All articles