WhatsApp Trigger fails in test mode (404 during Meta verification)

Hi Team,

When using the WhatsApp Trigger node in test mode, Meta’s webhook verification fails with the following error:

WhatsApp Trigger: (#2200) Callback verification failed with the following errors: HTTP Status Code = 404; HTTP Message = Not Found

This happens immediately after clicking Execute Workflow or test step. The webhook endpoint does not respond, which makes it impossible to use the WhatsApp API in test mode, since Meta expects the server to handle the verification request.

In production mode, the webhook works as expected — it receives messages and passes the verification

Additional Context:
Other users have reported the same issue here:
https://www.reddit.com/r/n8n/comments/1k5jiha/whatsapp_trigger_failing_on_selfhosted_n8n_where/

Let me know if I can help with more logs or a minimal reproduction repo. Thanks for the great tool!

Operating System

Debian 12

n8n Version

1.91.3

Execution mode
queue

Hi Automy welcome to n8n community :n8n:

I haven’t used test mode anymore because to fix your workflow, you can easily do it with the ‘Copy to editor’ feature or by manually pinning the node you want to fix.

1 Like

Thanks for the reply!

Yes, I’m already aware of the “Copy to Editor” feature and the option to manually pin nodes, and I’ve been using those when needed.

However, for workflows that are still under development and not yet in production, I find it much more productive and practical to use test.

So I’d really like to get test mode working properly in this case.

Yes, I understand that need, and the problem is that when you use test mode, Meta will still send requests to the production webhook URL. I’ve also tried creating a staging app, or even a new app, in Meta, but it will still show an error in n8n because the primary webhook number is already registered.

The only solution is for you to use a different domain to create its staging version. This is because I personally currently use 3 Meta applications (for CRM and other purposes) for the same number, but with different webhook domains.

1 Like

Great!!! What i did:
I created a simple proxy API using Replit, which acts as an intermediary between Meta and n8n:

  • Meta is configured to send webhook verification and events to the Replit API endpoint
  • The Replit API receives the request and immediately forwards it to my n8n webhook
  • This allows Meta to complete the hub.challenge verification successfully
  • And I can continue developing workflows in n8n without using test mode

This setup allowed me to validate the WhatsApp app as a short-term solution

1 Like