meta_ads_lead_forms_duplicate
Duplicate a Meta lead form to the same or another Page. Fetches the source form's questions, privacy policy, and other settings, then creates a new form with a new name and returns its ID.
Instructions
Duplicates a lead form under the same (or another) Page. Meta has no native copy endpoint, so this fetches the source form's questions, privacy_policy, follow_up_action_url, locale, context_card, thank_you_page, is_higher_intent and conditional_questions_choices, then creates a fresh form with the supplied new_name. The copied context_card is normalized (Meta reads the intro cover photo back as cover_photo.id but only accepts cover_photo_id on write). Fails fast with a ValueError when the source form has no follow_up_action_url or no privacy_policy.url — Meta requires both. Returns the new form's id. Source form is untouched. Mutating, reversible via meta_ads_lead_forms_update {status: ARCHIVED} on the new form's id. Lossy: legal_content_id, gdpr_required / custom_disclaimer and question_page_custom_headline are NOT copied; re-create them on the new form manually if needed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| form_id | Yes | Source lead form ID to copy from. | |
| page_id | Yes | Facebook Page that will own the new form. Usually the same Page that owns the source form. | |
| new_name | Yes | Name for the new form. Pick something distinct from the source. | |
| account_id | No | Meta Ads account ID in the format 'act_XXXXXXXXXX' (e.g. 'act_1234567890'). Optional — falls back to META_ADS_ACCOUNT_ID from the configured credentials. The leading 'act_' prefix is required. |