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.
Endpunkt einrichten
Abschnitt betitelt „Endpunkt einrichten“- Öffne Einstellungen → Integrationen → Webhooks und schalte Webhooks aktivieren ein.
- Wähle Endpunkt hinzufügen und gib einen Name und die URL ein.
- 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.
- 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/appseine 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.
Auslösen per Regel
Abschnitt betitelt „Auslösen per Regel“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}}" }Für eigene Server
Abschnitt betitelt „Für eigene Server“- 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.
Gut zu wissen
Abschnitt betitelt „Gut zu wissen“- 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.