Facebook Lead Ads Multiple Form And Page

Hi guys, I come from Make (formerly Integromat), where everything was managed by their back-end. Here on N8N, everything seems more complex to me. From what I understand, you need to have a Facebook app for each module or page.

If I create a workflow with the Facebook Lead app with 0Auth, it can be used once. If I then create another workflow with the same trigger, it will overwrite the previous one, and therefore the previous one will no longer be triggered. This is a big problem. How did you solve the transition from NEW LEAD to multiple customers on N8N? Many thanks to anyone who can help me.

Hey!

Facebook only allows one webhook per app. Each n8n workflow overwrites the previous webhook URL. You can’t have multiple workflows with Facebook Lead Ads triggers

Solution 1: Single Workflow with Routing
Create ONE master workflow that handles all leads and routes them:
Facebook Lead Ads Trigger
→ Switch Node (route by form ID, page ID, or other criteria)
→ Branch 1: Customer A processing
→ Branch 2: Customer B processing
→ Branch 3: Customer C processing

Solution 2: Use Sub-workflows
Master workflow calls sub-workflows:
Facebook Lead Ads Trigger
→ Code Node (determine routing logic)
→ Execute Sub-workflow Node (different workflow per customer)

This ensures clean workflow separation and only 1 webhook.

Hope this helps, feel free to mark as Solution if it did :slight_smile:

Hi, I am currently working on the same issue.
How do you create ONE master Facebook Lead Ads node that handles all leads? When using the Facebook Lead Ads Trigger node I have to select a specific form: Facebook Lead Ads Trigger node documentation | n8n Docs
The only solution I see at the moment is:

  1. Create one Facebook App per Lead. Due to Facebook API limitations, you can use just one Facebook Lead Ads trigger for each Facebook App.
  2. Create one Workflow per Lead. Multiple Facebook Lead Ads trigger per workflow (even with different Facebook App credentials) won’t work per workflow.

Or am I missing something here?

Ah, my bad, this was an oversight. In this case you will have to create 1 facebook app per form, then 1 workflow per app/form. There is probably a manual technical way too, something like:

  1. webhook trigger
  2. point FB app the webhook trigger URL
  3. send required data
  4. use HTTP nodes to send back data to FB via Graph API
1 Like

I was able to deal with this now by using a Facebook Trigger node plus a Facebook Graph API node.

The Trigger node gives you the Lead ID and with the Facebook Graph API node you can GET all information from that lead. A bit tricky to setup in facebook but it works and you can handle all leads with a single workflow.

Still sad, that the Facebook Lead Ads Trigger isn’t able to do same, makes that node a bit useless.

I’m facing the same challenge with Facebook Lead Ads in n8n. The core issue is that Facebook only allows one webhook per app, so when you create multiple workflows with Facebook Lead Ads Triggers, each new workflow overwrites the previous webhook URL.

I need to capture leads from multiple different Facebook Lead Ads forms (and potentially from multiple pages) but the current trigger node requires selecting a specific form, which creates this limitation.

From what I understand, the suggested solutions are:

  1. Create one master workflow with a Switch node to route by form ID/page ID
  2. Use sub-workflows called from a main workflow
  3. Create separate Facebook apps for each form/page

However, I’m still unclear on how to implement solution #1 in practice, since the Facebook Lead Ads Trigger node itself requires selecting a specific form upfront. Does anyone have a working example of handling multiple forms in a single workflow, or a different approach that scales well?

Any guidance or workflow examples would be really appreciated!

Hi Mate, I was going crazy trying to figure this out. Unfortunately, I couldn’t find anyone to help me, and it took me two weeks. Write to me here: [email protected].
I’ll send you my master workflow!

@**Adeative_Media
**

Alright, sent you an email.. thanks!

@Adeative_Media What was your solution here? I have several different lead forms through Meta that all need triggers set up and I don’t want to build a million Meta apps.

Build this as solution

Facebook Lead Ads → Lead Enrichment (Webhook + Graph API)

Facebook Lead Ads Configuration (Webhook)

To make this template work correctly, you must configure the Facebook Webhook on the Facebook Page associated with your ads.

Important: the leadgen subscription cannot be selected immediately.
It becomes available only after the webhook has been successfully verified by Facebook.


1. Create and configure a Facebook App

  1. Go to Meta for Developers

  2. Create a new Business-type App

  3. Add the Webhooks product

  4. Add Facebook Login (required for permissions and token management)


2. Verify the Webhook (required before subscribing to leadgen)

Inside the Webhooks product:

  1. Select the Page object

  2. Enter:

    • Callback URL → the n8n Webhook URL (Webhook node)

    • Verify Token → a string of your choice (must exactly match the one configured in the n8n Webhook node)

  3. Click Verify and Save

:backhand_index_pointing_right: This template automatically handles the hub.challenge response, so the verification will succeed without any additional code.

:warning: At this stage, the leadgen event is NOT selectable.
Facebook unlocks Lead Ads subscriptions only after the webhook verification succeeds.


3. Subscribe to the Lead Ads event (leadgen)

After the webhook has been successfully verified:

  1. Go back to Webhooks → Page

  2. The leadgen event will now be visible

  3. Subscribe to leadgen

From this moment, Facebook will start sending Lead Ads events to the webhook.


4. Connect the app to the Facebook Page

  1. Open Business Settings

  2. Go to Accounts → Pages

  3. Add the Facebook Page used for Lead Ads

  4. Assign the app and grant access to the page


5. Required permissions

The app must have both Page and Ads permissions.
Without Ads permissions, requests related to campaigns, ad sets, or ads will fail.

Minimum required permissions:

  • leads_retrieval

  • pages_manage_metadata

  • pages_read_engagement

  • pages_show_list

  • ads_read

  • ads_management

:warning: For production environments, the app must be submitted for Meta App Review with these permissions.


6. System User and Access Token (Recommended)

Instead of using a personal user token, it is strongly recommended to use a System User from Meta Business Manager.

This approach is more secure, stable, and production-ready, especially for server-to-server workflows like n8n.

Steps:

  1. Open Business Settings → Users → System Users

  2. Create a new System User

  3. Assign the System User to the Facebook App

  4. Grant the required permissions:

    • Page permissions

    • Lead Ads permissions

    • Ads permissions

  5. Generate a long-lived access token with the selected scopes


7. n8n Credentials Setup

In n8n:

  1. Create new credentials of type Facebook Graph API

  2. Paste the generated System User access token

  3. Use these credentials in all HTTP Request nodes that call the Facebook Graph API

No OAuth redirect or login flow is required when using a System User token.


8. Generate test leads

  1. Publish a Facebook Lead Ads Form

  2. Use one of the following tools:

    • Facebook Ads → Form Preview

    • Lead Ads Testing Tool

  3. When the form is submitted:

    • Facebook sends the event to the webhook

    • n8n receives the payload

    • the workflow automatically enriches the lead via the Graph API


9. Graph API version

This template uses Graph API v22.0.
If Meta introduces breaking changes, simply update the version number in the HTTP Request nodes.


Technical notes

  • The n8n Webhook node is configured in multipleMethods mode:

    • GET → webhook verification (hub.challenge)

    • POST → Lead Ads event delivery

  • No additional nodes, scripts, or custom code are required

  • The workflow outputs a single aggregated object containing:

    • lead contact data

    • form, campaign, ad set, and ad names

    • metadata ready for CRM, databases, or marketing automations

EDIT: in the code node you need to change the field you need from the form

Customizing Lead Fields (Code Node)

Facebook Lead Ads forms can contain custom fields, and their structure may vary depending on the form configuration.

For this reason, the Code node in this template is intentionally designed to be editable.

Inside the Code node, you can:

  • Define which lead fields should be extracted

  • Control the field order in the final output

  • Map Facebook field names to your internal naming conventions

How it works

The Code node reads the field_data array returned by the Lead Ads endpoint and selectively extracts only the fields you need.

To customize the output:

  1. Open the Code node in the workflow

  2. Modify the list of field names to match your Lead Ads form fields

  3. Adjust the output object structure as needed for your CRM or downstream automations

This step is required if:

  • Your Lead Ads form uses custom fields

  • You want to exclude unnecessary fields

  • You need a specific output schema

Once updated, the rest of the workflow will automatically adapt, without requiring any additional changes.