Een webhook werkt als een melding tussen softwaretoepassingen. In plaats van voortdurend aan een toepassing te vragen of er iets nieuws is, geeft u haar een adres: wanneer er een gebeurtenis plaatsvindt, stuurt ze daar een bericht naartoe dat beschrijft wat er is gebeurd. De term werd in 2007 voorgesteld door ontwikkelaar Jeff Lindsay (zijn oorspronkelijke blogbericht), afgeleid van “hook”, een aanknopingspunt dat in een programma is voorzien.
Een concreet voorbeeld
Een bezoeker laat zijn contactgegevens achter bij de assistent van een vastgoedkantoor. Meteen vertrekt een bericht naar het CRM (software voor klantrelatiebeheer) van het kantoor, met zijn naam, telefoonnummer, het pand dat hem interesseert en de link naar het gesprek. Het CRM maakt de fiche aan en wijst die toe aan de betrokken makelaar, zonder dat iemand iets heeft overgetypt.
Nuttige gebeurtenissen rond een AI-assistent
- Een nieuw contact: het gaat naar het CRM of de prospectietool
- Een vraag om overname door een mens: er komt een melding in Slack of Teams
- Een afgesloten gesprek: de samenvatting gaat naar de ticketingtool
- Een afgeronde leadkwalificatie: de volledige aanvraag komt in de commerciële opvolging terecht
Wat een webhook betrouwbaar maakt
Een goed ontworpen webhook wordt ondertekend met een gedeeld geheim, zodat de ontvangende tool weet dat hij van de verwachte afzender komt. Een mislukte verzending (de tool is in onderhoud, de netwerkverbinding valt weg) wordt later opnieuw geprobeerd, met steeds langere tussenpozen, en daarna als mislukt gemarkeerd voor nazicht. Elke poging wordt vastgelegd: het is duidelijk wat er is afgeleverd, wanneer en wat er is mislukt. In KernChat draagt elk bericht een HMAC-SHA256-handtekening en wordt een mislukte verzending opnieuw geprobeerd na 1, 5, 30, 120 en vervolgens 720 minuten, dus zes pogingen in totaal.
Webhook of API: wat is het verschil?
Een API (programmeerinterface) antwoordt wanneer ze wordt bevraagd; een webhook meldt uit zichzelf dat er iets gebeurt. Beide vullen elkaar aan: de webhook kondigt de gebeurtenis aan en de ontvangende tool kan daarna de API bevragen voor meer details.
KernChat stuurt deze gebeurtenissen naar de tools van de organisatie (CRM, ticketingtool, Slack of Teams), binnen de grenzen die ze bepaalt (bekijk de functies).