Pomoc a návodyNotifikácie › Webhook do Slack, Discord a Teams

Webhook do Slack, Discord a Teams

4 min čítania · Notifikácie

Webhook (automatické zaslanie správy na zadanú adresu) je univerzálny spôsob, ako poslať upozornenie do akejkoľvek aplikácie - do Slacku, Discordu, Microsoft Teams alebo do vášho vlastného systému. Pripojenie zaberie pár minút a ePulz.io si naformátuje správu podľa cieľovej služby automaticky.

Pole pre webhook v nastaveniach notifikácií
Adresu webhooku vložíte v sekcii Notifikácie - typ služby (Slack, Discord, Teams) rozpoznáme automaticky.

ePulz.io automaticky rozpozná typ cieľovej služby podľa adresy webhooku. Rozpoznáme: Slack (hooks.slack.com/services/...), Discord (discord.com/api/webhooks/... aj discordapp.com/api/webhooks/...), Microsoft Teams vrátane Power Automate / Workflows (*.webhook.office.com, outlook.office.com/webhook/..., *.logic.azure.com/workflows/...). Pri ostatných adresách použijeme generický JSON payload.

Pripojenie Slacku

  1. V Slacku otvorte api.slack.com/apps a kliknite Create New App → From scratch.
  2. Pomenujte aplikáciu (napríklad "ePulz Alerts") a vyberte workspace, do ktorého má patriť.
  3. V ľavom menu zvoľte Incoming Webhooks a prepnite ich na On.
  4. Kliknite Add New Webhook to Workspace a vyberte kanál, do ktorého chcete dostávať upozornenia.
  5. Skopírujte vygenerovanú adresu webhooku (začína na https://hooks.slack.com/services/...).
  6. V ePulz.io otvorte Nastavenia → Upozornenia → Webhook, vložte adresu a uložte.

ePulz.io automaticky rozpozná, že ide o Slack, a posiela pekne naformátované správy s farebným pruhom (červená pri výpadku, zelená pri obnove) a odkazom späť do dashboardu.

Pripojenie Discordu

  1. V Discord serveri kliknite pravým tlačidlom na kanál a vyberte Upraviť kanál → Integrácie → Webhooky.
  2. Kliknite Nový webhook, prípadne pomenujte bota a nastavte avatar.
  3. Kliknite Skopírovať URL webhooku. Adresa má tvar https://discord.com/api/webhooks/....
  4. V ePulz.io otvorte Nastavenia → Upozornenia → Webhook, vložte adresu a uložte.

Aj pre Discord platí, že formát správy pripravíme automaticky - využíva sa Discord embed (zvýraznená správa s rámčekom) s názvom monitora, popisom problému a časom.

Otestovanie webhooku

Po uložení adresy kliknite v nastaveniach na Otestovať. Do cieľového kanála pošleme testovaciu správu, aby ste hneď videli, ako bude upozornenie vyzerať. Ak nič nedorazí, skontrolujte, či ste adresu skopírovali správne celú a či má bot prístup do kanála.

Microsoft Teams (Adaptive Card)

Pre Microsoft Teams (vrátane Power Automate / Workflow URL logic.azure.com/workflows/...) posielame správu vo formáte Adaptive Card v1.4 zabaleného do správy:

{
  "type": "message",
  "attachments": [{
    "contentType": "application/vnd.microsoft.card.adaptive",
    "content": {
      "type": "AdaptiveCard",
      "version": "1.4",
      "body": [
        {"type": "TextBlock", "text": "Monitor DOWN: Produkčný web", "weight": "bolder", "size": "large"},
        {"type": "TextBlock", "text": "Nedostupný: HTTP 503", "wrap": true}
      ],
      "actions": [
        {"type": "Action.OpenUrl", "title": "Otvoriť v ePulz.io", "url": "https://epulz.io/dashboard/monitor/42"}
      ]
    }
  }]
}

V Teams sa adresa webhooku získa z konektora Incoming Webhook v kanále, prípadne z Power Automate šablóny "Post to Teams when a HTTP request is received".

Vlastný webhook (generický endpoint)

Ak potrebujete posielať upozornenia do vlastnej aplikácie, vložte do nastavení adresu svojho endpointu (cieľovej adresy). ePulz.io tam pošle požiadavku metódou POST s telom vo formáte JSON:

{
  "event": "down",
  "monitor": {
    "name": "Produkčný web",
    "target": "https://example.com",
    "url": "https://epulz.io/dashboard/monitor/42"
  },
  "message": "Nedostupný: HTTP 503",
  "timestamp": "2026-05-31T14:23:45+00:00",
  "source": "epulzio"
}

Pole event nadobúda hodnoty down (výpadok), up (obnova), ssl (blížiaca sa expirácia SSL certifikátu), domain (blížiaca sa expirácia domény), anomaly (anomália odozvy) alebo test (testovacie odoslanie). Pole monitor.name je názov monitora, monitor.target je sledovaná adresa a monitor.url je odkaz späť do dashboardu ePulz.io.

Overenie podpisu (HMAC)

Voliteľne si v nastaveniach môžete zapnúť podpisovanie - každú požiadavku potom podpíšeme tajným kľúčom (HMAC SHA-256) a pridáme dve hlavičky:

  • X-ePulzio-Signature - podpis vo formáte sha256=<hex digest> z tela požiadavky
  • X-ePulzio-Event - typ udalosti (rovnaká hodnota ako pole event v tele)

Na vašom endpointe stačí vypočítať HMAC SHA-256 z prijatého tela rovnakým tajným kľúčom a porovnať s hlavičkou. Ak sa zhodujú, požiadavka je pravá a počas prenosu nebola zmenená.

Tip: Pre väčšie tímy odporúčame samostatný Slack alebo Discord kanál určený výlučne na upozornenia (napríklad #alerts). Kanál sa potom nezahltí inou diskusiou a kritické správy nikomu neuniknú.
Bol tento návod užitočný?