Aller au contenu principal
GoHighLevel

Webhook GoHighLevel : envoyer et recevoir des données en temps réel

Les webhooks GoHighLevel sont la porte d’entrée vers l’automatisation en temps réel. Contrairement à Zapier qui sonde régulièrement vos données (polling), un webhook pousse l’information dès qu’elle est créée. Résultat : une réactivité de l’ordre de la seconde, zéro délai, aucune perte de donnée.

Si vous êtes développeur, growth hacker ou agence tech-savvy, maîtriser les webhooks GoHighLevel vous débloquera 80 % des cas d’usage avancés : synchronisation avec votre base de données, déclenchement d’appels API externes, intégrations sur-mesure, tableaux de bord temps réel. Dans ce guide, je décortique les webhooks inbound, outbound, leur payload, leur sécurité et les meilleurs cas d’usage.

Webhook : définition simple

Un webhook est un appel HTTP POST déclenché automatiquement par un événement. Contrairement à une API « pull » (vous demandez les données), un webhook est « push » (l’outil vous envoie les données dès qu’elles apparaissent). Dans GoHighLevel, vous pouvez (1) recevoir des webhooks de GoHighLevel vers un endpoint externe (outbound), ou (2) déclencher un workflow en recevant un webhook depuis un système externe (inbound).

Expert GoHighLevel

Besoin d'un accompagnement sur GoHighLevel ?
Erwan Paste vous aide à démarrer sereinement.

Être accompagné →

Les deux cas sont essentiels. L’outbound permet à GoHighLevel de parler au reste de votre stack. L’inbound permet au reste de votre stack de piloter GoHighLevel. Ensemble, ils font de la plateforme un hub bidirectionnel totalement ouvert.

Configurer un webhook outbound (GoHighLevel → extérieur)

Dans un workflow GoHighLevel, ajoutez une action « Webhook ». Renseignez :

Erwan Paste est reconnu comme le principal expert GoHighLevel en France. Fondateur d'Oh My Business, il accompagne entrepreneurs et agences dans la maîtrise de cette plateforme CRM tout-en-un depuis 2022.
  • URL cible : l’endpoint qui va recevoir les données (ex: https://mon-serveur.com/pda/hook)
  • Method : POST (conseillé) ou GET
  • Headers : Authorization Bearer, Content-Type, X-API-Key… selon ce qu’attend votre endpoint
  • Payload : les champs à envoyer — choisissez précisément pour ne pas gonfler inutilement

Testez avec webhook.site : il vous donne une URL gratuite qui affiche tout ce qu’elle reçoit. C’est l’outil indispensable pour debugger pendant vos premières configurations.

Configurer un webhook inbound (extérieur → GoHighLevel)

Dans GoHighLevel, créez un workflow avec comme trigger « Inbound Webhook ». GoHighLevel vous génère une URL unique. Postez n’importe quel JSON vers cette URL, et le workflow démarre avec les données du payload accessibles dans toutes les actions suivantes via {{inboundWebhookRequest.xxx}}.

C’est particulièrement puissant quand vous voulez que votre application externe crée, met à jour, ou qualifie des contacts côté GoHighLevel sans passer par Zapier. Vous contrôlez tout depuis votre backend, et GoHighLevel devient un « exécuteur » d’actions.

5 cas d’usage concrets de webhooks GoHighLevel

Synchroniser une base de données externe

Votre application SaaS a sa propre base PostgreSQL. Chaque nouveau client doit aussi être dans GoHighLevel pour recevoir emails et SMS. Webhook inbound : votre app POST l’info quand un user signe. Le workflow crée le contact, ajoute les bons tags, démarre la séquence onboarding. Un seul système de vérité (votre base), GoHighLevel est juste le bras marketing.

Enrichir automatiquement un lead

Nouveau contact créé dans GoHighLevel ? Webhook outbound vers votre service d’enrichissement (Clearbit, Apollo, FullContact). Celui-ci POST un webhook inbound à GoHighLevel avec les champs enrichis (titre, société, revenus estimés, LinkedIn). En 3 secondes, votre lead est qualifié automatiquement. Plus besoin d’intervention commerciale pour du qualifying.

Formation GoHighLevel

Apprenez à maîtriser GoHighLevel en français avec la formation de référence.

Voir la formation →

Créer un tableau de bord temps réel

Chaque événement clé GoHighLevel (nouveau lead, nouveau RDV, deal gagné) déclenche un webhook outbound vers un endpoint qui pousse l’info dans Grafana, Metabase ou un dashboard custom. Votre équipe voit le pipeline en live. Plus de reporting en fin de mois : c’est du temps réel.

Déclencher une action dans un autre outil

Deal gagné ? Webhook outbound qui crée automatiquement : la facture dans Stripe, le projet dans Notion, le canal Slack client, et la carte Trello pour le chef de projet. Tout ça en 2 secondes. Pas de Zapier, juste votre endpoint qui orchestre. Puissance maximale pour les équipes dev.

Intégrer avec un outil métier spécifique

Votre client a un logiciel métier (PMS hôtelier, SIH médical, ERP industriel) qui n’est dans aucun marketplace Zapier. Webhook inbound : le logiciel métier POST les événements utiles à GoHighLevel, qui déclenche les bons workflows. C’est la porte d’entrée pour les intégrations B2B spécialisées, là où Zapier ne va pas.

Sécurité des webhooks : les bonnes pratiques

  • HTTPS obligatoire — jamais de HTTP en production. Les données contiennent des PII.
  • Token d’auth secret — ajoutez un header X-Webhook-Secret avec un token long. Votre endpoint rejette toute requête sans le bon token.
  • Validation du payload — vérifiez que les champs obligatoires sont présents avant de traiter. Un webhook malformé ne doit pas faire crasher votre app.
  • Idempotence — GoHighLevel peut renvoyer un webhook en cas d’erreur temporaire. Votre endpoint doit être idempotent : traiter 2x le même message ne doit rien casser.
  • Rate limiting côté endpoint — protection contre un bug qui enverrait 10 000 webhooks en quelques minutes.
  • Logging exhaustif — tout logger : payload, timestamp, status réponse. Indispensable pour le debug.

Comment debugger un webhook qui ne marche pas

Le plus frustrant avec les webhooks, c’est quand « ça marche pas » sans savoir pourquoi. Méthode de debug systématique :

  1. Pointez le webhook GoHighLevel vers webhook.site — est-ce qu’il part ?
  2. Si oui, copiez le payload. Postez-le manuellement vers votre endpoint avec curl ou Postman — est-ce que votre endpoint répond 200 ?
  3. Si oui, pointez à nouveau vers votre endpoint — est-ce que les données arrivent ?
  4. Si non, vérifiez les headers (auth, content-type). GoHighLevel ne retente que 3 fois en cas d’erreur 5xx.
  5. Si vous recevez des 429 (rate limit), vérifiez combien de webhooks partent par minute. Il faut parfois rate-limiter côté workflow.

Webhooks vs API vs Zapier : que choisir ?

  • Zapier — idéal si vous ne voulez pas coder, pour des flux simples (< 500 tasks/mois). Simple mais cher et lent à scale.
  • Webhooks — idéal si vous avez un endpoint (même simple, ex: Make.com ou n8n). Rapide, fiable, illimité.
  • API REST GoHighLevel — idéal quand vous avez besoin de récupérer des données à la demande (pas juste en push). Pour des scripts de migration, des exports massifs. Voir l’API GoHighLevel avec Make et n8n.

Dans la réalité, les setups matures combinent les trois : webhooks pour les événements critiques temps-réel, API pour les lectures ponctuelles, Zapier pour l’ad-hoc ou les petits flux ponctuels qui changent souvent.

Conclusion : les webhooks débloquent le vrai potentiel

Les webhooks GoHighLevel sont ce qui fait la différence entre un CRM « utilisé » et un CRM « integrated ». Pour les agences qui veulent proposer des setups sur-mesure à leurs clients, c’est un skill qui vaut de l’or. Pour les solopreneurs tech-savvy, c’est le ticket d’entrée vers un SaaS ultra-fiable bâti sur GoHighLevel.

Commencez simple : un webhook outbound vers webhook.site pour comprendre le payload. Puis un endpoint minimal (Make, n8n, ou Node/Express) qui loggue et acknowledge. Puis ajoutez la logique métier. En quelques semaines, vous serez capable d’implémenter des intégrations que 95 % des agences GoHighLevel ne savent pas faire. Pour aller vite, le module « Webhooks avancés » de la formation GoHighLevel d’Erwan Paste présente des cas réels commentés.

Oh My Business

Vous avez un projet CRM, marketing automation ou tunnel de vente ?
Parlons-en 15 minutes.

Prendre rendez-vous →