WhatsApp Webhook Issue: GET handshake works, but POST messages never reach n8n Cloud

Hi n8n Team,

I am facing a critical issue where my WhatsApp Webhook is not receiving any data from Meta, even though my internal tests work.

My Environment:

  • n8n Cloud instance: huikongming.app.n8n.cloud

  • Workflow: Active (Production URL used in Meta)

What Works:

  1. Handshake (GET): The verification between Meta and n8n was successful.

  2. Internal Testing: When I use the “Test Step” or manually trigger the workflow, it successfully shows in n8n (as seen in my green execution logs).

  3. Meta Side: My phone can receive messages from Meta, and Meta’s own logs show that it is successfully receiving the webhook events from my phone (see Image 3).

The Problem:
When I send a message from my phone, Meta receives it, but n8n has no reaction. There are no new entries in the Execution logs.

It seems like the POST requests from Meta are being blocked or dropped before they even reach my n8n instance.

Attached Evidence:

  • Image 1: Shows my execution logs (mostly manual tests or old successful handshakes).

  • Image 2: My WhatsApp chat showing the messages sent.

  • Image 3: Meta’s internal logs showing they are processing the message, but it’s not reaching n8n.

Has anyone on n8n Cloud experienced this? Is there a Cloudflare WAF or firewall setting on the n8n side that might be rejecting Meta’s POST requests?

Thank you!

{
“nodes”: [
{
“parameters”: {
“httpMethod”: “POST”,
“path”: “dllm”,
“options”: {}
},
“type”: “n8n-nodes-base.webhook”,
“typeVersion”: 2.1,
“position”: [
-480,
-80
],
“id”: “f7dd845c-9938-44ac-acb6-d7bfe21204aa”,
“name”: “Webhook”,
“webhookId”: “328c01db-c46f-4dd2-88a8-7376ee42aee6”
},
{
“parameters”: {
“respondWith”: “text”,
“responseBody”: “={{ $json.query[“hub.challenge”] }}”,
“options”: {
“responseHeaders”: {
“entries”: [
{
“name”: “Content-Type”,
“value”: “text/plain”
}
]
}
}
},
“type”: “n8n-nodes-base.respondToWebhook”,
“typeVersion”: 1.5,
“position”: [
-256,
-64
],
“id”: “a42c2d9c-e740-4d7c-b396-17bd28d62767”,
“name”: “Respond to Webhook”
}
],
“connections”: {
“Webhook”: {
“main”: [

]
},
“Respond to Webhook”: {
“main”: [

]
}
},
“pinData”: {},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “80b7b7946709801862617656743d43799fa15b3262f25aada8d64b20f4de3929”
}
}

1 Like

Hi

I personally use WhatsApp using twillio services to have more control so I can’t help you in the specific scenario, but are you 100% sure you are using the right endpoint?

did you also try the test url or any other workflow webhook?

when you say you tried manually you mean via postman or similar?

I think it’s it quite impossible they have a block whatsoever in the incoming call