WhatsApp Trigger Fails to Receive Messages - "No fields - node executed"

Describe the problem/error/question

I’m encountering a persistent issue where my WhatsApp Trigger node on a self-hosted n8n instance (running on Railway) is not receiving any incoming messages from Meta/WhatsApp. When the trigger is tested (or the workflow is active) and I send a message to my configured WhatsApp Business number, the trigger node executes but its output is always: “No fields - node executed, but no items were sent on this branch”.

A critical piece of information is that the WhatsApp Business Cloud node (for sending messages) works perfectly within the same workflow, using the exact same “WhatsApp OAuth account” credentials. This indicates that my Client ID, Client Secret, and n8n’s ability to authenticate with Meta for outbound API calls are correct.

To further isolate the issue, I’ve successfully used n8n’s native Chat Trigger as an input for the rest of my workflow (which includes an AI Agent, data processing, and Airtable integration). This modified workflow can then send the AI’s responses to my WhatsApp test number via the WhatsApp Business Cloud node without any problems. This strongly suggests the problem is specifically with the WhatsApp Trigger node’s ability to receive the inbound webhook from Meta.

I am relatively new to n8n and self-hosting. I’ve followed various community posts and the official Meta documentation for webhook setup. Before recent n8n updates , my WhatsApp triggers were functioning correctly.

What is the error message (if any)?

The WhatsApp Trigger node itself outputs:
No fields - node executed, but no items were sent on this branch

Previously, when I inadvertently had a duplicate trigger active in another workflow, n8n correctly showed the error:
“Problem running workflow: The WhatsApp App ID 645349525148844 already has a webhook subscription. Delete it or use another App before executing the trigger. Due to WhatsApp API limitations, you can have just one trigger per App.”
Deleting the other trigger resolved that specific error message, but the “No fields - node executed…” issue for the active trigger persists.

Please share your workflow

Share the output returned by the last node

No fields - node executed, but no items were sent on this branch
The WhatsApp Business Cloud node in my test workflow (using Chat Trigger) successfully sends messages and returns a success output from Meta.

Information on your n8n setup

  • n8n version: 1.95.3

  • Database (default: SQLite): PostgreSQL (Managed by Railway)

  • n8n EXECUTIONS_PROCESS setting (default: own, main): main

  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker on Railway.

  • Operating system: The underlying OS is managed by Railway. My local OS for interacting with n8n is Windows 10

Additional Context & Troubleshooting Steps Taken:

  1. Meta App Configuration: 645349525148844
  • Only one Facebook App is used for this WhatsApp Business Number.

  • Webhook Setup (WhatsApp → Configuration):

    • Callback URL: Set to the “Test URL” (or “Production URL”) provided by the n8n WhatsApp Trigger node: https://primary-production-64f81.up.railway.app/webhook-test/914dc90f-4d05-4c74-bb83-3521d58e9bc1/webhook

    • Verify Token: I understand that for n8n v1.95.3 with OAuth credentials, n8n handles its side of the verify token internally, and I don’t set this same token within the n8n credential UI anymore.

    • Webhook Fields Subscription: Confirmed subscription to the messages field. I have tried deselecting, saving, reselecting, and saving this field to ensure it’s correctly registered.

  • Meta’s “Verify and Save” for the webhook URL does not show persistent errors if the URL is reachable.

  1. “One Trigger per App” Limitation:
  • I’ve ensured that no other n8n workflows or external services are configured with a webhook subscription for this specific Meta App ID. Only the problematic workflow contains an active WhatsApp Trigger.

Key Question for the n8n Community/Team:
Given that:

  • Outbound WhatsApp messages from n8n work fine.

  • The WEBHOOK_URL environment variable is set correctly with a trailing slash on Railway.

  • The n8n WhatsApp Trigger URL is correctly configured as the Callback URL in Meta.

  • A Verify Token is set in Meta (and n8n is expected to handle verification with OAuth credentials).

  • The webhook is subscribed to the messages field in Meta.

  • The “duplicate webhook subscription” error from n8n is no longer appearing after ensuring only one trigger.

What else could be causing the WhatsApp Trigger to not receive the webhook payload from Meta, resulting in the “No fields - node executed…” message? Are there any specific logging mechanisms in n8n (beyond the UI execution log) or Railway configurations that could provide more insight into whether Meta is even attempting to reach the webhook URL, or if n8n is silently failing the verification or processing?

Any guidance or further troubleshooting steps would be greatly appreciated as I am keen to resolve this.

Hey @DeCeroaIA ,

I experienced the same issue before.

Here is my solution for you… (not sure if it will work for you, but please give it a try)

  • Since now you have successfully authenticated with client id and secret in n8n, there is no need to setup any kind of webhook url there (meta developer portal)..
  • When I faced the same issue last time, I simply deleted the webhook url related things from my app in meta developer portal.
  • Hence suggesting the same to you, delete the webhook from meta and then try again activating the workflow in n8n.

I just tested the same thing in my side, using your workflow and was able to send the message to the assistant from my whatsapp.

Sudhanshu Sharma

Hey @Sudhanshu_Sharma,

Thanks for your advice and sorry for the very late reply!

I tried to follow your suggestion to “delete the webhook url related things from my app in meta developer portal.” However, when I go to my App’s WhatsApp Webhook settings in Meta, the “Eliminar suscripción” (Delete subscription) button is disabled (see screenshot below]

My questions are:

  • Does the disabled “Eliminar suscripción” button mean there’s nothing to delete, or is there another place/method I should use?

  • I’m also a bit concerned because I’ve used various URLs and tokens in my past attempts to get this working. I don’t recall the very first URL or token I configured. If I can’t explicitly “delete” an old, potentially interfering configuration, how can I ensure a clean slate for the new n8n trigger URL?

Thanks again for your time and assistance!

Hey @DeCeroaIA, sorry to hear that it’s not working as expected for you!

I have one question: Is it possible for you to create a new app in the Facebook Developer Console and try again?

Setting it up is much easier now, and I can say that wasn’t the case a few months ago.

So, I’d suggest that you create a new app (or watch a YouTube tutorial for the same), and it should definitely work.

1 Like

I’m still having the same issue where messages are not reaching the WhatsApp trigger node. I created another app without any positive result. On the other hand, I tested the node on n8n’s web platform, and messages are indeed arriving there.

Hi @Jose_Ceron , did you manage to resolve this issue?

I am facing the exact same when I try to set the node up as well.

@Jose_Ceron hello, did u resolve the issue? please if u resolve it just tell me how since I am facing the same problem. Also in meta developer there is no webhook configuration to delete it. I have done a lot of research but it didn’t work.

Solved it! You have to delete the webhook from Meta. Then use ONLY THE PRODUCTION URL to set it up again. Here is the step by step:

  • Delete the webhook you set it up in Meta
  • Use the PRODUCTION URL to reconfigure the webhook in the Meta panel
  • DO NOT use the “execute flow” button to verify the token
  • Activate the flow, verify the token, and you will fix the problem!
1 Like
Yes, I was able to resolve the issue. Update the railway nodes, redeploy and that's it. Also, make sure you're not using that same trigger in another workflow. Let me know if it works for u

1 Like