Hilfe & AnleitungenBenachrichtigungen › Webhook zu Slack, Discord und Teams

Webhook zu Slack, Discord und Teams

4 Min. Lesezeit · Benachrichtigungen

Ein Webhook (eine automatisch an eine angegebene Adresse gesendete Nachricht) ist eine universelle Methode, um eine Benachrichtigung an jede beliebige Anwendung zu senden - an Slack, Discord, Microsoft Teams oder an Ihr eigenes System. Die Einrichtung dauert nur wenige Minuten und ePulz.io formatiert die Nachricht für den Zieldienst automatisch.

Webhook-Feld in den Benachrichtigungseinstellungen
Die Webhook-Adresse fügen Sie im Bereich Benachrichtigungen ein - den Diensttyp (Slack, Discord, Teams) erkennen wir automatisch.

ePulz.io erkennt den Typ des Zieldienstes automatisch anhand der Webhook-Adresse. Wir erkennen: Slack (hooks.slack.com/services/...), Discord (discord.com/api/webhooks/... sowie discordapp.com/api/webhooks/...), Microsoft Teams einschliesslich Power Automate / Workflows (*.webhook.office.com, outlook.office.com/webhook/..., *.logic.azure.com/workflows/...). Bei allen anderen Adressen verwenden wir einen generischen JSON-Payload.

Slack verbinden

  1. Öffnen Sie in Slack api.slack.com/apps und klicken Sie auf Create New App → From scratch.
  2. Benennen Sie die App (zum Beispiel "ePulz Alerts") und wählen Sie den Workspace, zu dem sie gehören soll.
  3. Wählen Sie im linken Menü Incoming Webhooks und schalten Sie diese auf On.
  4. Klicken Sie auf Add New Webhook to Workspace und wählen Sie den Kanal, in dem Sie Benachrichtigungen erhalten möchten.
  5. Kopieren Sie die generierte Webhook-Adresse (sie beginnt mit https://hooks.slack.com/services/...).
  6. Öffnen Sie in ePulz.io Einstellungen → Benachrichtigungen → Webhook, fügen Sie die Adresse ein und speichern Sie.

ePulz.io erkennt automatisch, dass es sich um Slack handelt, und sendet schön formatierte Nachrichten mit einem Farbbalken (rot bei einem Ausfall, grün bei der Wiederherstellung) und einem Link zurück zum Dashboard.

Discord verbinden

  1. Klicken Sie in Ihrem Discord-Server mit der rechten Maustaste auf den Kanal und wählen Sie Kanal bearbeiten → Integrationen → Webhooks.
  2. Klicken Sie auf Neuer Webhook, benennen Sie gegebenenfalls den Bot und legen Sie einen Avatar fest.
  3. Klicken Sie auf Webhook-URL kopieren. Die Adresse hat die Form https://discord.com/api/webhooks/....
  4. Öffnen Sie in ePulz.io Einstellungen → Benachrichtigungen → Webhook, fügen Sie die Adresse ein und speichern Sie.

Auch für Discord gilt, dass wir das Nachrichtenformat automatisch vorbereiten - es wird ein Discord-Embed verwendet (eine hervorgehobene Nachricht mit Rahmen) mit dem Namen des Monitors, der Problembeschreibung und der Uhrzeit.

Webhook testen

Nach dem Speichern der Adresse klicken Sie in den Einstellungen auf Testen. Wir senden eine Testnachricht in den Zielkanal, damit Sie sofort sehen, wie die Benachrichtigung aussehen wird. Falls nichts ankommt, prüfen Sie, ob Sie die Adresse vollständig und korrekt kopiert haben und ob der Bot Zugriff auf den Kanal hat.

Microsoft Teams (Adaptive Card)

Für Microsoft Teams (einschliesslich Power Automate / Workflow URL logic.azure.com/workflows/...) senden wir die Nachricht im Format Adaptive Card v1.4, eingebettet in eine Nachricht:

{
  "type": "message",
  "attachments": [{
    "contentType": "application/vnd.microsoft.card.adaptive",
    "content": {
      "type": "AdaptiveCard",
      "version": "1.4",
      "body": [
        {"type": "TextBlock", "text": "Monitor DOWN: Produktiv-Website", "weight": "bolder", "size": "large"},
        {"type": "TextBlock", "text": "Nicht erreichbar: HTTP 503", "wrap": true}
      ],
      "actions": [
        {"type": "Action.OpenUrl", "title": "In ePulz.io öffnen", "url": "https://epulz.io/dashboard/monitor/42"}
      ]
    }
  }]
}

In Teams erhalten Sie die Webhook-Adresse vom Konnektor Incoming Webhook im Kanal oder aus der Power-Automate-Vorlage "Post to Teams when a HTTP request is received".

Eigener Webhook (generischer Endpunkt)

Wenn Sie Benachrichtigungen an Ihre eigene Anwendung senden möchten, geben Sie in den Einstellungen die Adresse Ihres Endpunkts (der Zieladresse) ein. ePulz.io sendet dorthin eine Anfrage mit der Methode POST und einem Body im JSON-Format:

{
  "event": "down",
  "monitor": {
    "name": "Produktiv-Website",
    "target": "https://example.com",
    "url": "https://epulz.io/dashboard/monitor/42"
  },
  "message": "Nicht erreichbar: HTTP 503",
  "timestamp": "2026-05-31T14:23:45+00:00",
  "source": "epulzio"
}

Das Feld event nimmt die Werte down (Ausfall), up (Wiederherstellung), ssl (bevorstehender Ablauf des SSL-Zertifikats), domain (bevorstehender Ablauf der Domain), anomaly (Antwortzeit-Anomalie) oder test (Testversand) an. Das Feld monitor.name ist der Name des Monitors, monitor.target ist die überwachte Adresse und monitor.url ist der Link zurück zum ePulz.io-Dashboard.

Signaturprüfung (HMAC)

Optional können Sie in den Einstellungen das Signieren aktivieren - wir signieren dann jede Anfrage mit einem geheimen Schlüssel (HMAC SHA-256) und fügen zwei Header hinzu:

  • X-ePulzio-Signature - Signatur im Format sha256=<hex digest> aus dem Body der Anfrage
  • X-ePulzio-Event - Ereignistyp (derselbe Wert wie das Feld event im Body)

An Ihrem Endpunkt müssen Sie lediglich HMAC SHA-256 aus dem empfangenen Body mit demselben geheimen Schlüssel berechnen und mit dem Header vergleichen. Stimmen sie überein, ist die Anfrage echt und wurde während der Übertragung nicht verändert.

Tipp: Für grössere Teams empfehlen wir einen separaten Slack- oder Discord-Kanal, der ausschliesslich für Benachrichtigungen bestimmt ist (zum Beispiel #alerts). Der Kanal wird dann nicht von anderen Diskussionen überflutet und kritische Nachrichten entgehen niemandem.
War diese Anleitung hilfreich?