Naar de hoofdinhoud

Een actie uitvoeren met een webhook

Stuur gegevens van Huddle door naar een ander systeem met webhooks

Geschreven door Bryan Schoenmaker

In deze handleiding lees je hoe je met een webhook een actie in een ander systeem uitvoert zodra er iets gebeurt in Huddle. Je koppelt een trigger, zoals een afgeronde cursus of een aanmelding voor een evenement, aan een webhook URL. Huddle stuurt daarbij automatisch gegevens mee, zodat jouw systeem weet wie de actie heeft uitgevoerd en waarvoor.

ℹ️ Automatiseringen zijn momenteel alleen in gesloten bèta beschikbaar. Neem contact met ons op om je aan te melden als bèta tester.

ℹ️ Deze functie is momenteel alleen in gesloten bèta beschikbaar. Neem contact met ons op om je aan te melden als bèta tester.


Hoe een webhook-automatisering werkt

Een webhook is een berichtje dat Huddle automatisch naar een URL van jouw keuze stuurt op het moment dat een gekozen gebeurtenis plaatsvindt. Aan de andere kant vangt jouw systeem dat bericht op en voert daar een actie mee uit. Denk aan een deelnemer toevoegen aan een externe mailinglijst, een bericht in Slack plaatsen of een rij toevoegen aan een spreadsheet.

Je bepaalt zelf welke gebeurtenis de webhook activeert. Een volledig overzicht van alle beschikbare triggers vind je in de handleiding over globale automatiseringen toevoegen. 👇


De regel aanmaken

Navigeer naar Instellingen > Automatiseringen in de beheeromgeving en klik op Regel toevoegen.

Kies eerst je trigger en bepaal eventueel op welke specifieke cursus, module of evenement de regel van toepassing is. Kies vervolgens bij actie voor Webhook en plak de webhook URL waar Huddle het bericht naartoe moet sturen.

Klik op Aanmaken om de regel op te slaan. De regel wordt direct geactiveerd en stuurt vanaf dat moment een bericht elke keer dat de trigger afgaat.

💡 Tip: gebruik een testadres zoals webhook.site om eerst te zien welk bericht Huddle precies verstuurt, voordat je de URL van je echte systeem invult. Zo weet je exact welke velden je kunt uitlezen.


Wat Huddle meestuurt

Zodra de webhook afgaat, doet Huddle een POST-request naar de ingestelde URL met een bericht in JSON-formaat (de body). De timeout is 10 seconden.

Het bericht wordt zo opgebouwd:

  • Eerst de trigger_type (tekst) en tenant_id (nummer).

  • Daarna volgt per beschikbare context een extra veld, genoemd naar het type context. Bij een gestarte cursus zijn dat bijvoorbeeld de velden user en course.

ℹ️ De tenant-gegevens worden nooit als los object meegestuurd. Alleen het nummer tenant_id is aanwezig.


Welke gegevens horen bij welke trigger

Welke contextvelden meekomen, hangt af van de trigger die de regel activeert:

Trigger (trigger_type)

Meegestuurde gegevens

user_created, user_deleted, user_onboarded

user

user_leveled_up

user, gamification_level*

accreditation_created, accreditation_deleted, accreditation_ended, accreditation_started

user, accreditation

certificate_sent

user, certificate

course_completed, course_started

user, course

module_completed, module_started

user, module

event_participant_created, event_participant_removed

user, event

quiz_failed, quiz_passed

user, course, quiz

* gamification_level wordt weggelaten als het level niet aan een bestaand niveau kan worden gekoppeld, bijvoorbeeld wanneer de gamification-module niet actief is.


Vorm van de contextgegevens

Elk contextveld heeft een vaste opbouw:

Veldnaam

Inhoud

user

id, firstname, lastname, fullname, email

accreditation

id, name

certificate

id, name

course

id, name

event

id, name (de naam van het kanaal van het evenement)

module

id, name

quiz

id, name

gamification_level

id, name

ℹ️ Bij user kunnen firstname en lastname leeg zijn (null). De overige velden bevatten altijd een waarde.


Voorbeeld van een bericht

Zo ziet het bericht eruit dat Huddle verstuurt wanneer een gebruiker een cursus voltooit (trigger Cursus voltooid):

{   "trigger_type": "course_completed",   "tenant_id": 1234,   "user": {     "id": 5678,     "firstname": "Jan",     "lastname": "Jansen",     "fullname": "Jan Jansen",     "email": "jan@voorbeeld.nl"   },   "course": {     "id": 42,     "name": "Online Marketing Basics"   } }

In je eigen systeem lees je vervolgens de velden uit die je nodig hebt. Het e-mailadres onder user.email is meestal de handigste sleutel om de gebruiker terug te vinden of aan te maken in een ander systeem. Met trigger_type bepaal je welke actie je wilt uitvoeren, zodat je één webhook-endpoint kunt gebruiken voor meerdere soorten gebeurtenissen.


Veelgestelde vragen (FAQ)

Welk formaat heeft het bericht?

Huddle stuurt een POST-request met een JSON-body. Zorg dat je endpoint POST-requests met JSON accepteert.

Wat gebeurt er als mijn systeem niet reageert?

Huddle hanteert een timeout van 10 seconden. Reageert je systeem niet binnen die tijd, dan wordt het bericht als niet-afgeleverd beschouwd. Zorg dat je endpoint snel een succesvolle response teruggeeft.

Kan ik eigen gegevens of headers meesturen?

Ja. Je kunt een eigen body en eigen headers instellen bij de webhook. Houd er rekening mee dat velden met een naam die Huddle ook gebruikt (zoals user), door Huddle worden overschreven.

Hoe test ik of mijn webhook werkt?

Vul tijdelijk een testadres zoals webhook.site in als webhook URL en trigger de gebeurtenis. Je ziet dan direct het complete bericht dat Huddle verstuurt.

Was dit een antwoord op uw vraag?