create_ad_copy | Duplicate an ad via Meta /copies endpoint. Parameters: ad_id: Source ad id; ad_set_id: Target ad set id (optional, defaults to current ad set); rename_options: Dict e.g. {‘rename_strategy’: ‘ONLY_TOP_LEVEL_RENAME’, ‘rename_suffix’: ’ - Copy’}; status_option: ‘ACTIVE’, ‘P… | ad_id (string, required), ad_set_id (string), status_option (string), rename_options (object), creative_parameters (object) |
create_ad_set | Create an ad set in a Meta campaign (created PAUSED by default). Parameters: daily_budget: Budget in account currency (omit if campaign uses CBO); bid_amount: Bid in account currency (required for LOWEST_COST_WITH_BID_CAP or TARGET_COST); bid_strategy: Strategy e.g. LOWEST… | name (string, required), account_id (string, required), campaign_id (string, required), status (string), age_max (integer), age_min (integer), page_id (string), countries (array), bid_amount (number), bid_strategy (string), daily_budget (number), billing_event (string), destination_type (string), device_platforms (array), optimization_goal (string), threads_positions (array), advantage_audience (boolean), facebook_positions (array), instagram_positions (array), messenger_positions (array), publisher_platforms (array), audience_network_positions (array) |
create_ad_set_copy | Duplicate an ad set via Meta /copies endpoint. Parameters: ad_set_id: Source ad set id; campaign_id: Target campaign id (optional, defaults to same campaign); deep_copy: If True, duplicates child ads (max 3 sync, up to 51 async); rename_options: Dict e.g. {‘rename_strate… | ad_set_id (string, required), end_time (string|integer), deep_copy (boolean), start_time (string|integer), campaign_id (string), status_option (string), rename_options (object) |
create_campaign | Create a campaign in a Meta ad account (created PAUSED by default). objective: OUTCOME_TRAFFIC, OUTCOME_LEADS, OUTCOME_SALES, OUTCOME_ENGAGEMENT, OUTCOME_AWARENESS or OUTCOME_APP_PROMOTION; daily_budget in the account currency (only for Campaign Budget Optimization; omit to set… | name (string, required), account_id (string, required), status (string), objective (string), daily_budget (number), special_ad_categories (array) |
create_campaign_copy | Duplicate a campaign via Meta /copies endpoint. Parameters: campaign_id: Source campaign id; deep_copy: If True, duplicates all child ad sets and ads (max 51 total ads); rename_options: Dict e.g. {‘rename_strategy’: ‘ONLY_TOP_LEVEL_RENAME’, ‘rename_suffix’: ’ - Copy’}; s… | campaign_id (string, required), end_time (string|integer), deep_copy (boolean), start_time (string|integer), status_option (string), rename_options (object), parameter_overrides (object) |
create_image_ad | Create a single-image ad in a Meta ad set, PAUSED by default. image_hash comes from upload_image. | name (string, required), message (string, required), page_id (string, required), ad_set_id (string, required), account_id (string, required), image_hash (string, required), link (string), status (string), headline (string), description (string), call_to_action (string), lead_gen_form_id (string), enable_multi_advertiser_ads (boolean), enable_advantage_plus_creative (boolean), advantage_plus_creative_features (object) |
create_lead_form | Create a Lead Ads form for a Facebook Page. Parameters: page_id: Facebook Page id (must have admin/manage rights); name: Form name; questions: List of questions (e.g. [{‘type’: ‘FULL_NAME’, ‘key’: ‘full_name’}, {‘type’: ‘EMAIL’, ‘key’: ‘email’}]); privacy_policy: Dict wi… | name (string, required), page_id (string, required), questions (array, required), locale (string), context_card (object), cover_photo_id (string), privacy_policy (object), thank_you_page (object), tracking_parameters (object|array), follow_up_action_url (string), is_optimized_for_quality (boolean), question_page_custom_headline (string), block_display_for_non_targeted_viewer (boolean) |
create_lead_form_copy | Duplicate an existing Lead Ads form with optional field overrides. Lead forms in Meta cannot be updated after creation; this tool fetches the original form, applies the requested changes, and creates a new form. | form_id (string, required), page_id (string, required), name (string), locale (string), questions (array), context_card (object), privacy_policy (object), thank_you_page (object), follow_up_action_url (string) |
create_link_ad | Create a link ad (creative + ad) in a Meta ad set, created PAUSED by default. Parameters: link: Destination URL; message: Primary ad copy; headline: Optional ad title; description: Optional ad subtitle/description; call_to_action: Action button (e.g. LEARN_MORE, SHOP_N… | link (string, required), name (string, required), message (string, required), page_id (string, required), ad_set_id (string, required), account_id (string, required), status (string), headline (string), description (string), call_to_action (string), lead_gen_form_id (string), enable_multi_advertiser_ads (boolean), enable_advantage_plus_creative (boolean), advantage_plus_creative_features (object) |
create_video_ad | Create a video ad in a Meta ad set, PAUSED by default. video_id comes from upload_video. thumbnail_url is required by Meta. | name (string, required), message (string, required), page_id (string, required), video_id (string, required), ad_set_id (string, required), account_id (string, required), thumbnail_url (string, required), link (string), status (string), headline (string), call_to_action (string), lead_gen_form_id (string), enable_multi_advertiser_ads (boolean), enable_advantage_plus_creative (boolean), advantage_plus_creative_features (object) |
delete_ads_object | Permanently delete a Meta ads object by id: campaign, ad set or ad. | object_id (string, required) |
update_ad_creative | Update or replace the creative content (image, text, headline, link, CTA) of an ad. AdCreative objects in Meta are immutable. This tool reads the existing creative, applies the changes to create a new creative, and either replaces it on the existing ad (mode=‘replace’) or create… | ad_id (string, required), account_id (string, required), link (string), mode (string), message (string), headline (string), image_hash (string), description (string), call_to_action (string) |
update_ad_set | Update a Meta ad set: status (ACTIVE/PAUSED), name, daily budget, bid amount and/or manual placements. | ad_set_id (string, required), name (string), status (string), bid_amount (number), daily_budget (number), device_platforms (array), threads_positions (array), facebook_positions (array), instagram_positions (array), messenger_positions (array), publisher_platforms (array), audience_network_positions (array) |
update_ad_status | Change a Meta ad’s status: ACTIVE to activate or PAUSED to pause it. | ad_id (string, required), status (string, required) |
update_campaign | Update a Meta campaign: status (ACTIVE to activate, PAUSED to pause), name and/or daily budget in the account currency (CBO campaigns only). | campaign_id (string, required), name (string), status (string), daily_budget (number) |
upload_image | Upload an image to a Meta ad account’s media library from a public URL, returning the image_hash that create_image_ad needs. | image_url (string, required), account_id (string, required), filename (string) |
upload_video | Upload a video to a Meta ad account’s media library from a public URL, returning the video_id that create_video_ad needs. Meta fetches the URL itself, so the file has to be reachable without authentication. | name (string, required), video_url (string, required), account_id (string, required) |