Create Ad from Instagram Post (use existing post)
adsap_create_ad_from_ig_postTurn an existing Instagram post, video, or reel into an ad inside an EXISTING ad set — Meta Ads Manager's "Use existing post". The ad inherits the ad set's budget, targeting, and schedule (no new budget is created). It is ALWAYS created PAUSED and never spends until you activate it (adsap_set_entity_status with action: "activate"). This does NOT create a campaign or ad set — pick an existing ad set with adsap_list_ad_sets first, get the post id from adsap_list_ig_media, and the Instagram account id from adsap_list_meta_assets. dry_run defaults to TRUE: call once to preview the plan, then again with dry_run: false to create. Images, videos, and reels all work.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ad_name | No | Optional name for the ad. Defaults to "IG post <ig_media_id>". | |
| dry_run | No | TRUE (default) = preview the plan (what ad + creative WOULD be created) without creating anything. Set false to actually create the ad. The ad is ALWAYS created PAUSED — it never spends until you activate it. | |
| page_id | No | Optional Facebook Page id override. Normally resolved automatically from the Instagram account; only set this if auto-resolution can't find the linked page. | |
| ad_set_id | Yes | The EXISTING ad set to add the ad to. The ad inherits this ad set's budget, targeting, and schedule — no new budget is set. Get it from adsap_list_ad_sets. | |
| ig_media_id | Yes | The Instagram post / video / reel to promote. Get it from adsap_list_ig_media (the `id` field). | |
| ad_account_id | Yes | act_<digits>. The ad account that owns the ad set and the Instagram account. | |
| ig_account_id | Yes | The Instagram account that owns the post. Used to resolve the ad's Facebook Page + Instagram identity. Get it from adsap_list_meta_assets (asset_type: "instagram_accounts"). | |
| call_to_action_type | No | Optional call-to-action button enum (e.g. SHOP_NOW, LEARN_MORE, SIGN_UP). Omit to promote the post as-is with no added button. |