Créer un webhook
Un webhook est une adresse web unique. Quand un site, un formulaire ou un logiciel envoie des données à cette adresse, Whatixo lance aussitôt votre workflow : envoyer un WhatsApp, taguer le contact, démarrer une séquence…
Exemples d’usage
- Un formulaire de contact sur votre site → message de bienvenue WhatsApp au prospect.
- Un rendez-vous pris (Calendly, logiciel de réservation) → rappel WhatsApp.
- Une commande dans votre logiciel de caisse → confirmation au client.
- Une alerte de votre serveur → message dans le groupe WhatsApp de l’équipe.
Étape 1 — Créer le workflow webhook
Nouveau workflow
Menu Automatiser → Workflows → Créer.
Choisissez le déclencheur « Webhook API »
Dans le panneau de droite, cliquez sur le déclencheur puis, dans la liste, sur Webhook API (rubrique API & Requêtes).

Liez un numéro et enregistrez
Choisissez le numéro expéditeur dans Lier au numéro…, puis Enregistrer. L’URL d’écoute est générée et s’affiche immédiatement.
Cette URL est secrète. Toute personne qui la connaît peut déclencher votre workflow. Ne la publiez pas dans le code d’une page web visible par vos visiteurs ; appelez-la depuis votre serveur ou un outil comme Zapier/Make. Si elle a fuité, supprimez le workflow et recréez-le pour obtenir une nouvelle URL.
Étape 2 — Envoyer un premier test
Envoyez une requête POST avec un corps JSON. N’importe quelle structure est acceptée : c’est vous qui choisissez les clés.
curl -X POST "https://VOTRE-URL/api/webhook/wh_9b2e4f71c3a8d605" \
-H "Content-Type: application/json" \
-d '{
"prenom": "Aline",
"telephone": "243812345601",
"rdv": { "date": "12/11/2026", "heure": "14h30" }
}'await fetch('https://VOTRE-URL/api/webhook/wh_9b2e4f71c3a8d605', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
prenom: 'Aline',
telephone: '243812345601',
rdv: { date: '12/11/2026', heure: '14h30' },
}),
});$ch = curl_init('https://VOTRE-URL/api/webhook/wh_9b2e4f71c3a8d605');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'prenom' => 'Aline',
'telephone' => '243812345601',
'rdv' => ['date' => '12/11/2026', 'heure' => '14h30'],
]),
]);
$response = curl_exec($ch);
curl_close($ch);import requests
requests.post(
"https://VOTRE-URL/api/webhook/wh_9b2e4f71c3a8d605",
json={
"prenom": "Aline",
"telephone": "243812345601",
"rdv": {"date": "12/11/2026", "heure": "14h30"},
},
timeout=10,
)Réponse attendue :
{ "success": true, "message": "Webhook reçu et en cours de traitement." }
Whatixo répond tout de suite, puis exécute le workflow en arrière-plan (y compris les délais d’attente éventuels).
Étape 3 — Récupérer les variables
Revenez dans le workflow et cliquez sur Actualiser dans Variables détectées. Toutes les clés reçues apparaissent : {{prenom}}, {{telephone}}, {{rdv.date}}, {{rdv.heure}}. Cliquez sur une variable pour l’insérer.

Étape 4 — Ajouter le message WhatsApp
Ajoutez l’action
+ Ajouter action → Message WhatsApp.
Destinataire
Insérez la variable qui contient le numéro : {{telephone}}. Le numéro doit inclure l’indicatif pays ; espaces, tirets et « + » sont retirés automatiquement.
Contenu
Rédigez le message avec les variables :
Bonjour {{prenom}} 👋
Votre rendez-vous est confirmé le {{rdv.date}} à {{rdv.heure}}.
Répondez 1 pour confirmer ou 2 pour décaler.

Enregistrez et testez
Enregistrez, puis renvoyez la requête de l’étape 2 avec votre numéro : vous recevez le message sur WhatsApp en quelques secondes.
Aller plus loin
- Ajoutez une action Gestion CRM pour enregistrer le contact avec un tag (et démarrer une séquence).
- Utilisez une Condition pour envoyer des messages différents selon les données (ex.
{{rdv.type}}). - Ajoutez un Délai pour envoyer un rappel plus tard.
- Utilisez Formatage IA pour transformer des données brutes en message naturel (
{{ia_response}}).
Référence technique
| Élément | Valeur |
|---|---|
| Méthode | POST |
| Corps | JSON (application/json) ou formulaire (application/x-www-form-urlencoded), 1 Mo maximum |
| Authentification | Aucune : l’identifiant secret wh_… de l’URL fait office de clé |
| Limite | 120 requêtes par minute et par adresse IP |
| Réponses | 200 reçu · 200 « Webhook inactif » · 404 URL inconnue · 402 abonnement suspendu · 429 trop de requêtes |
Voir aussi la page développeur Webhooks entrants.
