Zum Inhalt springen

Webhooks

Ein Webhook ist die einfachste Form der Anbindung: eine HTTP-Nachricht an eine Adresse, die du festlegst. Slack, Discord und Microsoft Teams nehmen solche Nachrichten direkt als Kanalbeitrag entgegen; eigene Systeme können damit anstellen, was immer sie wollen.

Typische Einsätze: Die Support-Adresse meldet neue Anfragen in den Team-Kanal. Die Bestellbestätigung stößt das Warenwirtschaftssystem an. Der Serveralarm eines Kunden erscheint in Discord.

  1. Öffne Einstellungen → Integrationen → Webhooks und schalte Webhooks aktivieren ein.
  2. Wähle Endpunkt hinzufügen und gib einen Name und die URL ein.
  3. Wähle unter Payload-Vorlage Slack, Discord, Microsoft Teams oder Generic JSON. Die Vorlage füllt das Payload-Template (JSON) mit einem passenden Grundgerüst, das du frei anpassen kannst.
  4. Testen schickt eine Probenachricht mit Beispieldaten. Bei Slack und Co. siehst du sie sofort im Kanal.

Die URL bekommst du beim jeweiligen Dienst:

  • Slack: unter api.slack.com/apps eine App mit Incoming Webhooks anlegen; die erzeugte URL ist der Endpunkt.
  • Discord: Kanal-Einstellungen → Integrationen → Webhooks.
  • Teams: im Kanal über die Workflows-App mit der Vorlage zum Posten bei einer Webhook-Anforderung.
  • Eigene Systeme: jede Adresse, die JSON per HTTP-POST oder PUT annimmt.

Mehrere Endpunkte sind möglich, jeder lässt sich einzeln abschalten: Der Support-Kanal und das eigene Skript können nebeneinander bestehen.

Verschickt wird ausschließlich über die Automatisierung: die Aktion Webhook senden in einer Regel, mit dem Endpunkt deiner Wahl als Ziel.

Was genau verschickt wird, steht im Payload-Template des Endpunkts. Darin setzt du Variablen in doppelten geschweiften Klammern ein, die beim Senden mit den Daten der auslösenden Mail gefüllt werden: {{subject}}, {{from}}, {{from_name}}, {{to}}, {{cc}}, {{date}}, {{preview}} (der Anfang des Textes), {{tags}}, {{mailbox}}, {{account_id}} und {{rule_name}}. Die Variablen-Übersicht unter dem Template erklärt jede einzelne. Eine Slack-Meldung für den Support-Kanal sieht etwa so aus:

{ "text": "Neue Anfrage von {{from_name}}: {{subject}}" }
  • Signatur: Trägst du ein HMAC-Secret (optional) ein, enthält jede Anfrage den Header X-YouniqMail-Signature: sha256=… mit einer HMAC-SHA256-Signatur des Inhalts. Dein Server prüft damit, dass die Nachricht von dir kommt.
  • Wiederholungen: Bei Serverfehlern (5xx) und Netzproblemen versucht YouniqMail es bis zu dreimal erneut, mit Pausen von 1, 2 und 4 Sekunden. Abweisungen (4xx) werden nicht wiederholt. Das Timeout stellst du pro Endpunkt ein, höchstens 30 Sekunden.
  • Methode: POST ist Standard, PUT nur, wenn dein Endpunkt es verlangt. Weiterleitungen werden nicht verfolgt.
  • Die Nachricht geht an den Endpunkt, den du angibst. Prüfe die URL sorgfältig, denn jeder, der sie kennt, kann den Kanal beschreiben. Behandle Webhook-URLs wie Passwörter.
  • Inhalt bestimmst du: Übertragen wird, was im Template steht. Wer nur Betreff und Absender einsetzt, gibt auch nur die weiter.
  • Pro-Funktion: Webhooks gehören zum Pro-Umfang.