Un webhook fonctionne comme une notification entre logiciels. Plutôt que de demander sans cesse à une application s'il y a du nouveau, on lui donne une adresse : quand un événement se produit, elle y envoie un message qui décrit ce qui s'est passé. Le terme a été proposé en 2007 par le développeur Jeff Lindsay (son billet d'origine), à partir du « hook », un point d'accroche prévu dans un programme.
Un exemple concret
Un visiteur laisse ses coordonnées à l'assistant d'une agence immobilière. Aussitôt, un message part vers le CRM (logiciel de gestion de la relation client) de l'agence avec son nom, son téléphone, le bien qui l'intéresse et le lien vers la conversation. Le CRM crée la fiche et l'assigne à l'agent concerné, sans que personne n'ait rien recopié.
Les événements utiles autour d'un assistant IA
- Un nouveau contact : il part vers le CRM ou l'outil de prospection
- Une demande de reprise par un humain : une notification arrive dans Slack ou Teams
- Une conversation close : son résumé part vers l'outil de tickets
- Une qualification de lead terminée : la demande complète rejoint le suivi commercial
Ce qui rend un webhook fiable
Un webhook bien conçu est signé avec un secret partagé, pour que l'outil qui le reçoit sache qu'il vient bien de l'émetteur attendu. Un envoi qui échoue (l'outil est en maintenance, le réseau coupe) est retenté plus tard, à intervalles croissants, puis marqué en échec pour être examiné. Chaque tentative est enregistrée : on sait ce qui a été livré, quand, et ce qui a échoué. Dans KernChat, chaque message porte une signature HMAC-SHA256, et un envoi qui échoue est retenté après 1, 5, 30, 120 puis 720 minutes, soit six tentatives au total.
Webhook ou API : quelle différence ?
Une API (interface de programmation) répond quand on l'interroge ; un webhook prévient de lui-même quand quelque chose se passe. Les deux se complètent : le webhook annonce l'événement, et l'outil qui le reçoit peut ensuite interroger l'API pour obtenir plus de détails.
KernChat envoie ces événements aux outils de l'organisation (CRM, outil de tickets, Slack ou Teams), dans les limites qu'elle fixe (voir les fonctionnalités).