WhatsApp Business Cloud "On messages" trigger never receives events although Meta receives webhooks

Hi everyone,
I’m experiencing an issue with the official WhatsApp Business Cloud “On messages” trigger in n8n.

Environment

  • n8n Version: 2.31.6
  • Self-hosted on PikaPods
  • Browser: Google Chrome
  • Official WhatsApp Business Cloud node

What I’ve already verified

  • OAuth credential connects successfully (“Connection tested successfully”).
  • WhatsApp Cloud API is working correctly.
  • I can send WhatsApp messages successfully using the same credentials.
  • My Meta App is configured correctly.
  • Meta’s “Check test webhooks” page receives every incoming “messages” event successfully whenever I send a WhatsApp message.
  • I click “Test this trigger” first, then send a new WhatsApp message to the test number.

Problem

The “On messages” trigger always stays on:
“Waiting for trigger event”
No execution is created in n8n, even though Meta clearly receives the webhook events.
Since Meta receives the events and other triggers work correctly on the same instance, I’m not sure if this is a known issue with the WhatsApp Business Cloud trigger in n8n v2.31.6 or if there is an additional configuration step that I’m missing.
Has anyone experienced this issue before or knows how to resolve it?
Thank you in advance!

Describe the problem/error/question

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Hey @Hager_Khaled, while you wait for a response, here are some things that might help:

Suggested resources

Automatically matched to your question.

Docs:

Forum:

@tridi, @Grot, @LogeshwariV - you’ve helped with similar issues before, can you take a look?

Automatically suggested by n8n’s community bot. It’s a pilot - please share feedback here.

Hi @Hager_Khaled Welcome!
Meta showing the event only means Meta generated it. Delivery goes to whichever app your WhatsApp Business Account is subscribed to, and on newly created apps that is usually Meta’s own “WA DevX Webhook Events 1P App” rather than yours, so the dashboard panel looks healthy while nothing ever reaches n8n. Open Meta’s Graph API Explorer and set the endpoint to your WABA ID (WhatsApp > API Setup):

<WABA_ID>/subscribed_apps

Send it as GET and look at the app name that comes back. If it isn’t your app, switch the method to POST and send, then GET again to confirm yours is listed. Messages start arriving right after, with nothing to change on the n8n side.
See this:

Hi @Hager_Khaled

If you want to see the data immediately in the n8n editor to map your fields:

  1. Open the WhatsApp Business Cloud node in n8n.
  2. Look for the Webhook URL settings within the node. Switch the view from “Production” to “Test”.
  3. Copy the Test URL (it should have webhook-test in it).
  4. Go to your Meta Developer Dashboard $\rightarrow$ WhatsApp $\rightarrow$ Configuration.
  5. Temporarily replace your Callback URL with this Test URL.
  6. Go back to n8n and click “Test this trigger”.
  7. Send the WhatsApp message. The event should now flow into the n8n editor.
    • Note: Remember to switch the URL back to the Production one once you are done testing.

If you want to ensure the automation actually works in real-time:

  1. Ensure the Meta App is configured with your Production URL (.../webhook/...).
  2. In n8n, click the “Publish” button in the top right corner of the workflow canvas.
  3. Send a WhatsApp message.
  4. Instead of looking at the editor, go to the “Executions” tab in the left-hand sidebar of n8n. You should see a new execution entry there.

If you swap to the Test URL and it still stays on “Waiting for trigger event”:

  • PikaPods/Proxy Headers: Ensure your PikaPods configuration isn’t stripping the request body. Since Meta’s “Check test webhooks” works, the connection is open, but if the body is missing, n8n might not recognize it as a valid WhatsApp event.

  • n8n Logs: Check your PikaPods logs. If the request is reaching n8n but failing to trigger the node, there will likely be a 400 or 500 error logged there.

  • Verify Token: Ensure the “Verify Token” you set in the Meta App matches exactly what you have configured in the n8n node. (Though usually, this prevents the initial webhook setup from succeeding).

Does these help?