WhatsApp Trigger: test webhook works, real messages don't (self-hosted)

Self-hosted n8n (v2.32.7, Docker, HTTPS via Caddy). WhatsApp Trigger on messages.

  • Meta’s Test button delivers to n8n fine :white_check_mark:
  • Callback URL verified, messages subscribed, WEBHOOK_URL set correctly :white_check_mark:
  • But a real WhatsApp message to my business number → no execution in n8n :cross_mark:

The number is registered, but Business Verification isn’t done yet (still in dev mode).

Question: In development mode, can a WhatsApp Trigger receive real inbound messages, or does Meta block them until Business Verification is complete?

Thanks!

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

Suggested resources

Automatically matched to your question.

Docs:

Forum:

@henryford, @GUNdalfas, @Mohd_Zuhaili_Mohd - 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 @mahmoed-alhadadd Welcome!
Business Verification isn’t what blocks this, the app being unpublished is. Meta only delivers the dashboard test payload while the app sits in Dev mode, real inbound messages don’t reach your callback URL until the app is switched to Live. Flip it in App settings > Basic > App Mode. That needs a valid privacy policy URL on the app, but no App Review and no business verification.
If real messages still don’t arrive once it’s Live, open the Graph API Explorer and GET YOUR_WABA_ID/subscribed_apps. If your app name isn’t in the list, POST to the same endpoint to re-register it, then GET again to confirm.
See this:

In metas documentation, it says, “Your app must be in Live mode; some webhooks will not be sent if your app is in Dev mode.” So your app needs to be in live mode + a privacy policy!

meta webhook docs

Let me know if their are any more issues!