Whatsapp trigger works only with test number, but I can send messages with my own number

Describe the problem/error/question

  • Whatsapp Trigger node does not receive messages sent to the production phone number (a mobile phone number that I own). I can see double checks on the sent message in Whatsapp app.
  • If I send a message to the test phone number provided by Meta, the message is received by the Whatsapp Trigger node
  • I can send messages using the Whatsapp node using my production number. I can send messages using my test number as well. So I can setup the workflow in a way that if I send a message to the test number, it gets replied by my production phone number.

What I have done already

  • Created a system user so I can use a permanent token that does not expire
  • Assigned the system user to all assets in the app
  • In Meta’s Whatsapp Manager page I can see that my production phone number status is Connectedand its Quality rating is High. The two factor authentication is enabled

What is the error message (if any)?

  • No errors

Information on your n8n setup

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

Questions

  • What could be causing this problem: I can send messages using the production number, but I can’t receive messages in it

  • Do I have to setup a webhook node and pass its URL to Meta’s Whatsapp configuration in order to receive messages using a phone number that is not a test number (aka production phone number)? This seems counterintuitive as there is no need to have a Whatsapp Trigger node in n8n if this is true

  • When I configured the display name for the production number, I set it up like “Accounting - My Business Name”, as per Meta’s display name guidelines. As a result, Meta created a Whatsapp account called “My Business Name”. Could this be creating any problems?

  • Do I have to complete Meta’s Account verification or Access verification in order to receive messages in my own phone number? I didn’t start these verifications as they are needed to increase my message limits and don’t apply for my use case

2 Likes

I have found the solution in this thread: Whatsapp trigger not working, all tests are sucsessfull - #8 by Samueldev

One of the reasons that N8N’s trigger does not receive messages is that the phone number’s Whatsapp account is not subscribed to the Meta’s app. This sounds counter intuitive because everything seems to be correctly configured in Meta’s developer and business pages, but a simple test in Meta for Business (formerly Facebook for Business) can show if this is the case.

If a system token was created for the Whatsapp account, use it instead of the provided access token

A GET request to graph.facebook.com/<whatsapp account id> should return some information of the Whatsapp account

A GET request to graph.facebook.com/<whatsapp account id>/subscribed_apps should return the apps it is subscribed to. If an empty list is returned, it indicated that no apps are linked to this Whatsapp account and no messages will be received by the N8N’s Whatsapp trigger.

In order to solve this issue, a POST request should be send to graph.facebook.com/<whatsapp account id>/subscribed_apps. It should return "success": true if everything went ok.

When a new GET request to graph.facebook.com/<whatsapp account id>/subscribed_apps, it should return the data from the Meta’s app.

Hope this helps someone else. I spent a huge amount of time trying to debug the problem becase there is no indication that something is wrong in Meta’s dashboards.

3 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.