Passer au contenu principal

Comment envoyer des données depuis WAX vers votre CRM, Zapier ou Make (Webhook sortant)

Ce guide vous accompagne pas à pas pour configurer un Webhook sortant dans un flow WAX : WAX capture des données pendant une conversation WhatsApp (clic, réponse, statut...) et les renvoie automatiquement vers votre CRM, Zapier ou Make

👉 Ce paramétrage nécessite notre documentation API : consultez-la ici.

Étape 1 : Ajouter le nœud Webhook sortant dans votre flow

Avant même de créer le Webhook, la donnée que vous voulez transmettre doit exister quelque part dans le flow. Un Webhook sortant ne peut transmettre que des données déjà rattachées au contact sous forme d'attribut, si l'information n'existe pas encore en tant qu'attribut, elle n'existera pas dans le JSON body plus tard.

Comment créer un attribut :

  1. Ajoutez un bloc Attribute dans votre flow.

  2. Branchez-le à l'endroit exact où vous voulez capturer l'information, par exemple juste après la réponse du contact à un bouton ou à une question.

  3. Nommez l'attribut clairement et donnez-lui la valeur à stocker.

Exemple concret : un contact répond "Oui" à la question "Avez-vous reçu votre commande ?". Vous créez un attribut reponse_livraison avec pour valeur yes. C'est cet attribut reponse_livraison que vous pourrez ensuite insérer dans le JSON body du webhook, à l'étape 5.

Étape 2 : Définir l'URL de destination

C'est ici que vous indiquez à WAX où envoyer les données. La marche à suivre change selon l'outil visé.

Vous envoyez vers un CRM classique (Klaviyo, HubSpot, Salesforce, système interne...) Collez l'URL de l'endpoint fourni par votre CRM (souvent dans une section "API", "Webhooks entrants" ou "Intégrations" de votre CRM).

Vous envoyez vers Zapier Dans Zapier, créez un nouveau Zap, choisissez l'app "Webhooks by Zapier" comme déclencheur, puis l'événement "Catch Hook". Zapier génère une URL unique — copiez-la et collez-la dans le champ URL de destination du nœud Webhook WAX.

Vous envoyez vers Make Dans Make, créez un scénario, ajoutez le module "Webhooks → Custom Webhook", cliquez sur Add et nommez le webhook. Make génère une URL unique, copiez-la et collez-la dans WAX.

⚠️ Ne retapez jamais une URL à la main. Copiez-collez-la toujours depuis l'outil source pour éviter une faute de frappe qui ferait échouer silencieusement tous vos envois.

Étape 3 : Configurer l'authentification (si nécessaire)

Si votre CRM, Zapier ou Make exige une clé d'authentification — ce n'est pas systématique, Zapier et Make en mode "Catch Hook" basique n'en demandent généralement pas :

  1. Dans le nœud Webhook WAX, repérez la section Headers.

  2. Ajoutez une paire clé/valeur, typiquement clé Authorization, valeur Bearer VOTRE_TOKEN_SECRET.

  3. Le token est fourni par votre CRM — ne le partagez jamais publiquement.

Si vous ne savez pas si votre outil demande une authentification : envoyez d'abord un test (étape 6). Une erreur 401 confirmera qu'il en manque une.

Étape 4 : Construire le JSON Body

Le JSON body est la liste des données que vous envoyez. Avant de le remplir, il faut comprendre deux choses : les deux types de données qui existent, puis la logique de mapping entre WAX et votre CRM.

Les deux types de données

  • Les données fixes de profil Ce sont des informations stockées à l'avance sur la fiche du contact. Elles existent avant l'événement et restent les mêmes tant que vous ne les modifiez pas manuellement, par exemple le prénom, l'email, le téléphone, ou tout attribut personnalisé déjà présent sur le contact.

  • Les données liées à un événement Ce sont des informations générées au moment précis de l'action du contact. Elles n'existent pas à l'avance : elles sont produites au moment où l'action se déroule, et sont propres à cette action de ce contact — par exemple une réponse à un sondage, un statut de commande, ou le fait d'avoir cliqué sur un bouton.

Cette distinction compte parce qu'elle détermine où placer la donnée dans le JSON : les données fixes de profil se regroupent généralement dans un même bloc (ex. "contact": {...}), tandis que les données d'événement se placent à côté, car elles ne concernent que cet envoi précis.

La logique de mapping

Pour chaque donnée à envoyer, vous faites correspondre deux éléments :

  1. À gauche (la clé du JSON) : le nom de la donnée telle qu'elle existe dans votre CRM.

  2. À droite, entre guillemets (la valeur) : le nom équivalent utilisé pour ce même champ dans WAX.

Exemple : si la variable first_name dans WAX correspond au champ Prénom dans votre CRM, vous écrivez :

{ 
"first_name": "Prénom"
}

Une fois ce mapping posé, vous remplacez ensuite le côté WAX par la variable dynamique réelle du flow, pour que la vraie valeur du contact soit envoyée au moment de l'exécution, c'est ce que montre la structure ci-dessous.

Exemple d'un JSON Body:

{
"attributes": {
"email": "",
"first_name": "",
"phone_number": ""
},
"checkout_url": ""
}

Remplir chaque champ avec une variable WAX :

  1. Cliquez dans le champ vide entre guillemets.

  2. Ouvrez le sélecteur de variables du flow en cliquant sur "Add Variable"

  3. Choisissez la ou les variable(s) correspondante(s) et insérez-les dans les guillemets sur chacune des lignes correspondantes.

Les erreurs les plus fréquentes :

  • Virgule manquante entre deux champs → le Webhook échoue systématiquement, sans erreur claire. Vérifiez qu'il y a bien une virgule après chaque valeur sauf la dernière du bloc.

  • Accolade non fermée → rien ne se passe, ou erreur de parsing côté récepteur. Comptez que chaque accolade ouvrante a bien sa fermante.

  • Guillemets oubliés autour d'une variable texte → erreur silencieuse. Toute valeur texte doit être entre guillemets.

💡 En cas de doute, copiez votre JSON et collez-le dans un outil comme Claude ou ChatGPT en demandant de corriger la syntaxe.

Étape 5 : Activer

Activez le flow côté WAX. Si votre webhook alimente un scénario Zapier ou Make, activez également le Zap ou le scénario Make de votre côté, les deux activations sont nécessaires pour que les données circulent réellement.

Avez-vous trouvé la réponse à votre question ?