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

  1. Statusseiten → deine Seite → Integrationen → Neu
  2. Typ wählen, Name vergeben, Webhook-URL einfügen
  3. Ereignisse auswählen (siehe unten)
  4. 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 angelegt
  • incident.updated — ein Update wurde geschrieben
  • incident.resolved — der Vorfall ist behoben
  • maintenance.scheduled — eine Wartung wurde angekündigt
  • maintenance.started — sie hat begonnen
  • maintenance.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.