N8n WhatsApp integration

Hello, I am making a workflow in n8n and it has a trigger that waits for a WhatsApp message. Here is the problem: I saw a lot of videos where people make the connection between WhatsApp and n8n using third-party apps like WAAPI, but this disappeared (I can’t find this application anymore).
Also, I want to make the connection like a professional, so I have an account in Meta for Developers, an account in Meta Business, and I have an app in Meta for Developers. This app has 2 tools: WhatsApp and Webhooks. I don’t understand how I should configure all this to make the workflow work.
My main problem is that when I configure the Webhook tool, it tells me that I must enter a token, and I don’t understand what this is because the node in n8n (the trigger) doesn’t say anything about it.
This problem started when I added a number to use a bot, because I am trying to put my workflow in production and I can’t do this with the test number.

Hey! I struggled with this too at first because I didn’t understand what that “token” Meta asked for in the Webhooks setup was. After testing, I realized that this token doesn’t come from n8n or Meta — you make it up yourself. It’s just a word or string you choose to prove the webhook is yours (for example: mytoken123).

Here’s what I did:

  1. In n8n I created a Webhook Trigger and copied the URL.

  2. In Meta for Developers, under Webhooks, I pasted that URL into the Callback URL field.

  3. In the Verify Token field I wrote the value I invented (mytoken123).

  4. Saved it, and Meta automatically sent a verification request to my webhook.

Once the verification passed, my workflow was receiving messages.

Then came the second part: moving from test to production. For that you can’t use the test number anymore, you need to register your real number in WhatsApp Business Manager and use a Permanent Access Token (generated in Meta Business → System Users). That’s the token I use in n8n when I send messages back through an HTTP node.

In short:

  • The “token” for Webhooks is one you create.

  • The “access token” for sending messages is the one Meta gives you.

Quand vous cliquez sur vérifier et enregistrer L’URL de rappel ou le jeton de vérification n’a pas pu être validé. Veuillez vérifier les informations fournies ou réessayer plus tard. Cette erreur s’est produite.

@JAYESH_PATEL1 ouvrez votre URL de rappel dans un navigateur avec ceci ajouté :

?hub.mode=subscribe&hub.verify_token=mytoken123&hub.challenge=12345

Ce qui revient vous indique la cause :

  1. Affiche 12345, le point de terminaison est correct, cliquez simplement sur Vérifier et enregistrez à nouveau.
  2. Affiche du JSON comme {“message”:“Workflow was started”}, vous êtes sur un nœud Webhook simple. Meta a besoin que hub.challenge soit renvoyé en tant que texte brut, donc basculez vers le nœud WhatsApp Trigger, ou définissez Respond to à l’aide du nœud Respond to Webhook et retournez {{ $json.query[‘hub.challenge’] }} en tant que texte.
  3. Affiche 404 ou webhook non enregistré, le flux de travail n’est pas actif.

La bannière d’application non publiée en rouge n’est pas liée, elle n’affecte que la livraison des messages en direct, pas la vérification.