Webhooks
Een webhook is de eenvoudigste vorm van koppeling: een HTTP-bericht aan een adres dat je zelf bepaalt. Slack, Discord en Microsoft Teams nemen zulke berichten direct als kanaalbijdrage aan; eigen systemen kunnen er mee doen wat ze willen.
Typische toepassingen: het supportadres meldt nieuwe aanvragen in het teamkanaal. De orderbevestiging zet het voorraadsysteem in gang. Het serveralarm van een klant verschijnt in Discord.
Eindpunt instellen
Section titled “Eindpunt instellen”- Open Instellingen → Integraties → Webhooks en schakel Webhooks inschakelen in.
- Kies Eindpunt toevoegen en vul een Naam en de URL in.
- Kies onder Payloadsjabloon Slack, Discord, Microsoft Teams of Generic JSON. Het sjabloon vult de Payloadtemplate (JSON) met een passend basisgeraamte dat je vrij kunt aanpassen.
- Testen stuurt een proefbericht met voorbeeldgegevens. Bij Slack en dergelijke zie je het meteen in het kanaal.
De URL krijg je bij de betreffende dienst:
- Slack: onder
api.slack.com/appseen app met Incoming Webhooks aanmaken; de gegenereerde URL is het eindpunt. - Discord: Kanaalinstellingen → Integraties → Webhooks.
- Teams: in het kanaal via de Workflows-app met het sjabloon voor het posten bij een webhookaanvraag.
- Eigen systemen: elk adres dat JSON via HTTP-POST of PUT aanneemt.
Meerdere eindpunten zijn mogelijk, en elk laat zich afzonderlijk uitschakelen: het supportkanaal en je eigen script kunnen naast elkaar bestaan.
Starten met een regel
Section titled “Starten met een regel”Verstuurd wordt er uitsluitend via de automatisering: de actie Webhook verzenden in een regel, met het eindpunt van je keuze als doel.
Wat er precies wordt verstuurd, staat in de payloadtemplate van het
eindpunt. Daarin zet je variabelen tussen dubbele accolades, die
bij het verzenden met de gegevens van het bericht dat de regel
uitlokte worden gevuld: {{subject}}, {{from}}, {{from_name}},
{{to}}, {{cc}}, {{date}}, {{preview}} (het begin van de tekst),
{{tags}}, {{mailbox}}, {{account_id}} en {{rule_name}}. De
Variabelenreferentie onder de template legt elke variabele uit. Een
Slack-melding voor het supportkanaal ziet er bijvoorbeeld zo uit:
{ "text": "Nieuwe aanvraag van {{from_name}}: {{subject}}" }Voor eigen servers
Section titled “Voor eigen servers”- Handtekening: vul je een HMAC-geheim (optioneel) in, dan
bevat elk verzoek de header
X-YouniqMail-Signature: sha256=…met een HMAC-SHA256-handtekening van de inhoud. Je server controleert daarmee dat het bericht van jou komt. - Herhalingen: bij serverfouten (5xx) en netwerkproblemen probeert YouniqMail het tot drie keer opnieuw, met pauzes van 1, 2 en 4 seconden. Afwijzingen (4xx) worden niet herhaald. De time-out stel je per eindpunt in, hooguit 30 seconden.
- Methode: POST is standaard, PUT alleen als je eindpunt het vereist. Doorverwijzingen worden niet gevolgd.
Goed om te weten
Section titled “Goed om te weten”- Het bericht gaat naar het eindpunt dat je opgeeft. Controleer de URL zorgvuldig, want iedereen die hem kent, kan in het kanaal schrijven. Behandel webhook-URL’s als wachtwoorden.
- De inhoud bepaal je: overgedragen wordt wat er in de template staat. Wie alleen onderwerp en afzender invoegt, geeft ook alleen die door.
- Pro-functie: webhooks horen bij de Pro-omvang.