zuckerbot_duplicate_ad
Duplicate a Meta ad into an existing ad set in the same account. Preview the exact plan with a dry run, then pass execute to create the new ad paused.
Instructions
Duplicate ONE supported ad into an existing ad set in the SAME ad account. Dry-run by default: it returns the exact object plan (1 new creative + 1 new ad) without creating anything; pass execute: true plus an idempotency_key to perform it. The duplicated ad is ALWAYS created PAUSED — activating it is a separate deliberate action. Supported source shapes: static single-image creatives with an accessible image hash, and single pre-uploaded video creatives. Carousel, dynamic/catalogue, existing-post and multi-asset creatives are rejected with the unsupported feature named. A new creative is always built — creative IDs are never reused. To introduce a brand-NEW image or video file instead of reusing an existing ad's asset, use zuckerbot_upload_ad_asset + zuckerbot_create_ad.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cta | No | Override: uppercase Meta CTA type, e.g. LEARN_MORE or SIGN_UP | |
| name | No | Override: name for the new ad (default: '<source name> (copy)') | |
| execute | No | Default false (dry-run). Set true to actually create the PAUSED duplicate — requires idempotency_key | |
| headline | No | Override: headline | |
| final_url | No | Override: destination URL (http/https) | |
| business_id | No | Optional business ID override for the authenticated API key | |
| description | No | Override: description | |
| primary_text | No | Override: primary text / body copy | |
| source_ad_id | Yes | Numeric Meta ad id to duplicate (must be in the connected ad account) | |
| idempotency_key | No | Required when execute is true. Generate once per logical operation (UUIDv4 recommended); reuse the identical value only when retrying the identical request | |
| target_adset_id | Yes | Numeric Meta ad set id to create the duplicate in (must be an EXISTING ad set in the same ad account) |