Create Meta ads objects
meta_ads_createCreates new objects in a Meta ad account; nothing existing is modified. Call meta_ads_create with {"action":"execute","tool_name":"create_ad_creative","arguments":{…}}; arguments carry the fields of the operation and "connection" when several ad accounts are connected. Operations:
create_ad_creative: Create a single-image creative. No impressions and no spend.
create_video_creative: Create a creative from a video that is already in the ad account library. No impressions and no spend.
create_carousel_creative: Create a carousel creative of 2 to 10 cards. No impressions and no spend.
create_ad: Create an ad in an ad set. Always PAUSED: turning it on is a separate action by a person.
upload_image: Upload one image, or a batch of up to ten, from https links into the ad account library. No impressions and no spend.
upload_video: Upload a video from an https link to the ad account library. No impressions and no spend.
duplicate_adset: Copy an audience into a new ad set, WITHOUT ads, for a new creative. The copy is paused.
copy_ad_to_new_adset: Copy a winning ad into a new ad set: a paused copy of its ad set with only this ad, under the same name.
create_campaign: Create a complete campaign: creative → campaign → ad set → ad. Everything is paused.
create_adset: Create a paused ad set in an existing campaign, with its budget, schedule and audience.
create_dynamic_creative_ad: Create one paused Dynamic Creative ad: Meta combines the images and texts itself.
duplicate_campaign: Copy a whole campaign with its ad sets and ads. The copy is paused unless ACTIVE is asked for. CAN INCREASE SPEND, and this account allows it from chat: say so before executing.
create_monitor: Watch every campaign, ad set or ad of this ad account and email when a rule holds on one of them. Changes only this server’s own monitor, nothing in Meta, and never counts toward the monthly change limit.
schedule_brief: Email a performance brief of every connected ad account on a schedule: daily, weekly on Mondays, or every N days. Changes only this server’s own monitor, nothing in Meta, and never counts toward the monthly change limit.
send_brief_now: Send a scheduled brief right now, without waiting for its schedule; the next scheduled send stays as it is. Reads the connected ad accounts and sends an email now; nothing in them changes, and it never counts toward the monthly change limit.
create_audience: Create a custom audience: website visitors, people who engaged with a Facebook Page or an Instagram account, or a lookalike.
create_ab_test: Start an A/B test between 2–5 campaigns or ad sets: Meta splits the audience so nobody sees more than one version.
rebuild_adset: Rebuild an ad set with a new goal: a paused copy with the same audience, budget and ads that optimises for another result, pixel event or a minimum ROAS.
create_product_set: Creates a product set (a filter over existing products) in a catalog the business can access. It creates no products and changes no feed.
create_catalog_creative: Create a creative that shows products from a product set. No impressions and no spend.
create_catalog_campaign: Create a paused catalog campaign: campaign, ad set on a product set, catalog creative and one ad. Nothing delivers until a person turns it on.
create_catalog_adset: Create a paused ad set on a product set inside an existing catalog campaign.
create_catalog: Create a product catalog in the business behind this ad account, optionally with a feed that fetches products from a URL.
create_product: Add one product to a catalog: name, price, availability, link and image.
create_product_feed: Add a product feed to a catalog: a file Meta fetches on a schedule, or one filled by uploads.
upload_product_feed: Fetch a feed file once, right now, outside the schedule.
create_feed_rule: Add a rule that fixes a feed file on the way in: take an attribute from another column, map values, change letter case or set a default.
connect_catalog_event_source: Connect a pixel to a product catalog, so its events are matched to the catalog's products for catalog ads.
boost_instagram_post: Turn an existing Instagram post into an ad in an existing ad set. The ad is created PAUSED. Every operation takes two calls with the same tool_name and arguments; the first makes no change in Meta and returns a preview. If the operation cannot increase spend, the preview includes confirm_token (accepted for 10 minutes): call again with it added to arguments to apply the change. An operation that can increase spend is never executed from chat: its preview has no token, only an approve_url for a signed-in person. Executed changes count toward the monthly change limit; the preview is refused once the limit is reached. If the same change was already executed or its outcome is unknown, the preview has no confirm_token; check with a read first. If a proposal for the same change is still pending after its confirm_token expired, the call returns awaiting_human and only a person can apply it via approve_url. Input schemas: get_tool_schema for named operations; meta_ads_read {"action":"list_tools"} lists every operation with its field names.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Always "execute". | |
| arguments | Yes | The fields of the operation, "connection" when several ad accounts are connected, and on the second call the confirm_token from the first call. | |
| tool_name | Yes | The operation name, e.g. create_ad_creative. |