Chat & Webhooks
Neben den Abonnenten auf der öffentlichen Seite willst du meist, dass dein eigenes Team sofort Bescheid weiß — dort, wo es ohnehin schon schaut. Integrationen schicken Vorfälle und Wartungen in einen Chat-Kanal oder an einen beliebigen HTTP-Endpunkt.
Der Unterschied zu Abonnenten: Integrationen richtest du ein, nicht deine Kunden. Sie gehören zur Statusseite, nicht zu einer Person.
Unterstützte Ziele
| Typ | Was du brauchst |
|---|---|
| Slack | Incoming-Webhook-URL aus deinem Slack-Workspace |
| Microsoft Teams | Incoming-Webhook-URL des Kanals |
| Discord | Webhook-URL des Kanals |
| Google Chat | Webhook-URL des Spaces |
| Generisch | Deine eigene URL — du bekommst JSON und verarbeitest es selbst |
Für die vier Chat-Dienste formatieren wir die Nachricht passend, mit Titel, Schweregrad, betroffenen Komponenten und einem Link zur Statusseite. Beim generischen Typ bekommst du die Rohdaten.
Integrationen, generische Webhooks wie Chat-Dienste, gibt es ab dem Tarif Basic. Wechselst du in einen Tarif ohne Integrationen, bleiben sie gespeichert, es wird aber nichts mehr gesendet. Du kannst sie dann ausschalten oder löschen, aber nicht ändern oder testen. Nach einem Upgrade laufen sie wieder.
Einrichten
- Statusseiten → deine Seite → Integrationen → Neu
- Typ wählen, Name vergeben, Webhook-URL einfügen
- Ereignisse auswählen (siehe unten)
- Speichern — und mit Test eine Probenachricht schicken
Der Test schickt sofort und zeigt dir den Statuscode der Antwort. Wenn etwas nicht ankommt, siehst du es hier, nicht erst beim nächsten Ausfall.
Ereignisse
Je Integration wählst du, worüber sie informiert:
incident.created— ein Vorfall wurde angelegtincident.updated— ein Update wurde geschriebenincident.resolved— der Vorfall ist behobenmaintenance.scheduled— eine Wartung wurde angekündigtmaintenance.started— sie hat begonnenmaintenance.completed— sie ist vorbei
Standardmäßig sind alle aktiv. Für einen Alarmkanal willst du vielleicht nur incident.created und incident.resolved, für einen Team-Kanal alles.
Sicherheit
Nur https://. Wir liefern nicht an unverschlüsselte Adressen aus.
Keine internen Adressen. URLs, die auf private, lokale oder reservierte Netzbereiche zeigen, werden schon beim Speichern abgelehnt — und vor jeder Zustellung erneut geprüft, falls sich der DNS-Eintrag zwischenzeitlich ändert.
Keine Weiterleitungen. Antwortet dein Endpunkt mit einer Umleitung, folgen wir ihr nicht.
Signatur. Generische Webhooks werden signiert, damit dein Endpunkt prüfen kann, dass die Nachricht wirklich von uns kommt. Das Secret siehst du einmal beim Anlegen, im Dashboard als Hinweis, über die API in der Antwort. Hast du es nicht mehr, erzeugst du in der Liste der Integrationen mit Neues Signatur-Secret ein neues; das alte gilt dann sofort nicht mehr.
Wenn etwas nicht ankommt
In der Integrationsliste stehen der Zeitpunkt der letzten Auslieferung und der letzte Statuscode. Ein dauerhaft leeres Feld heißt: es wurde nie zugestellt — meist eine abgelaufene Webhook-URL, die der Chat-Dienst stillschweigend fallen gelassen hat.
Über die API
curl -X POST https://statuswerk.eu/api/v1/integrations \
-H "Authorization: Bearer $STATUSWERK_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "slack",
"name": "#alerts",
"url": "https://hooks.slack.com/services/...",
"events": ["incident.created", "incident.resolved"]
}'
Vollständig in der API-Referenz.