I’m setting up a basic test workflow using the WhatsApp Node to explore the Business API, but I’ve run into a roadblock with the Webhook.
The Issue:
When I use the “Test” button in the Meta App Dashboard (API Setup/Test), the webhook triggers successfully in n8n.
However, when I send a real message from my mobile phone to the test number, nothing happens. No execution appears in n8n (even with the “Listen for Event” active).
My Setup:
n8n version: [Insert your version, e.g., 1.25.0]
Deployment: [e.g., n8n Cloud / Docker / Desktop]
Webhook URL: Verified and saved in Meta Dashboard (Status: Verified).
Permissions: I have subscribed to messages in the Webhook fields.
What I’ve checked:
The Webhook URL is the “Production” URL (not the test one).
The WhatsApp Business app is in “Development” mode.
My mobile number is added as a “Verified Recipient” in the sandbox.
Does anyone know why the Meta “Test” trigger hits the node, but a real-world message doesn’t? Am I missing a specific subscription field or a configuration step in the Meta Dashboard?
the test button works because it just blindly fires a dummy payload at your url. but for real messages meta requires your actual whatsapp business account to be explicitly connected to your meta app. the UI usually fails to link them properly behind the scenes — even when everything looks green in the settings.
from what i’ve seen the easiest fix is forcing the link using their graph api directly.
make a quick POST request to https://graph.facebook.com/v21.0/YOUR_WABA_ID/subscribed_apps with your system user access token as the bearer auth. you can just use a standard http request node right inside n8n to fire it off.
after that returns a success message, real messages usually start hitting your webhook instantly.
this meta webhook callback override fix walks through some of the other weird webhook connection bugs meta introduced recently if the api trick doesn’t completely sort it out.
I think the problem is that the “Send test” button does not behave like a real WhatsApp message. It hits your webhook directly, so verification works and the test triggers n8n, but real user messages won’t arrive unless the WhatsApp number is actually subscribed to your app.
I suggest you to check if your WABA is subscribed:
GET : https://graph.facebook.com/<WHATSAPP_BUSINESS_ACCOUNT_ID>/subscribed_apps?access_token=<ACCESS_TOKEN> "
If the data array is empty, that’s the issue. If it’s empty then subscribe it using a post request just like @A_A4 said and then after this your messages should start triggering your workflow most probably.
The reply from A_A4 is spot on, your WABA isn’t actually subscribed to your Meta App even though everything looks fine in the dashboard. Hit the Graph API Explorer and do a GET to /{your-waba-id}/subscribed_apps to check what’s actually subscribed, if it comes back empty or shows a different app then that’s your problem. POST to the same endpoint to force the subscription and messages should start flowing through immediately.