Yardım ve kılavuzlarBildirimler › Slack, Discord ve Teams webhook

Slack, Discord ve Teams webhook

4 dk okuma · Bildirimler

Webhook (belirtilen bir adrese otomatik mesaj gönderimi), herhangi bir uygulamaya bildirim göndermenin evrensel bir yoludur - Slack, Discord, Microsoft Teams veya kendi sisteminize. Bağlantı kurmak birkaç dakika sürer ve ePulz.io mesajı hedef hizmete göre otomatik olarak biçimlendirir.

Bildirim ayarlarındaki webhook alanı
Webhook adresini Bildirimler bölümüne yapıştırırsınız - hizmet türünü (Slack, Discord, Teams) otomatik olarak tanırız.

ePulz.io, webhook adresine göre hedef hizmet türünü otomatik olarak tanır. Şunları tanıyoruz: Slack (hooks.slack.com/services/...), Discord (discord.com/api/webhooks/... ve discordapp.com/api/webhooks/...), Microsoft Teams dahil Power Automate / Workflows (*.webhook.office.com, outlook.office.com/webhook/..., *.logic.azure.com/workflows/...). Diğer adresler için genel bir JSON payload kullanırız.

Slack bağlama

  1. Slack'te api.slack.com/apps adresini açın ve Create New App → From scratch seçeneğine tıklayın.
  2. Uygulamayı adlandırın (örneğin "ePulz Alerts") ve ait olması gereken workspace'i seçin.
  3. Sol menüde Incoming Webhooks seçeneğini belirleyin ve bunları On konumuna getirin.
  4. Add New Webhook to Workspace seçeneğine tıklayın ve uyarı almak istediğiniz kanalı seçin.
  5. Oluşturulan webhook adresini kopyalayın (https://hooks.slack.com/services/... ile başlar).
  6. ePulz.io'da Ayarlar → Bildirimler → Webhook bölümünü açın, adresi yapıştırın ve kaydedin.

ePulz.io bunun Slack olduğunu otomatik olarak tanır ve renkli bir çubukla (kesintide kırmızı, geri gelişte yeşil) ve panoya geri dönüş bağlantısıyla güzel biçimlendirilmiş mesajlar gönderir.

Discord bağlama

  1. Discord sunucunuzda kanala sağ tıklayın ve Kanalı düzenle → Entegrasyonlar → Webhook'lar seçeneğini belirleyin.
  2. Yeni webhook seçeneğine tıklayın, gerekirse botu adlandırın ve bir avatar belirleyin.
  3. Webhook URL'sini kopyala seçeneğine tıklayın. Adres https://discord.com/api/webhooks/... biçimindedir.
  4. ePulz.io'da Ayarlar → Bildirimler → Webhook bölümünü açın, adresi yapıştırın ve kaydedin.

Discord için de mesaj biçimini otomatik olarak hazırlarız - monitör adı, sorun açıklaması ve zaman bilgisiyle bir Discord embed (çerçeveli, vurgulanmış mesaj) kullanılır.

Webhook'u test etme

Adresi kaydettikten sonra ayarlarda Test et seçeneğine tıklayın. Hedef kanala bir test mesajı göndeririz, böylece uyarının nasıl görüneceğini hemen görürsünüz. Hiçbir şey gelmezse, adresin tamamını doğru kopyaladığınızı ve botun kanala erişiminin olduğunu kontrol edin.

Microsoft Teams (Adaptive Card)

Microsoft Teams için (Power Automate / Workflow URL'leri logic.azure.com/workflows/... dahil) mesajı, bir mesaja sarmalanmış Adaptive Card v1.4 biçiminde göndeririz:

{
  "type": "message",
  "attachments": [{
    "contentType": "application/vnd.microsoft.card.adaptive",
    "content": {
      "type": "AdaptiveCard",
      "version": "1.4",
      "body": [
        {"type": "TextBlock", "text": "Monitor DOWN: Üretim sitesi", "weight": "bolder", "size": "large"},
        {"type": "TextBlock", "text": "Erişilemiyor: HTTP 503", "wrap": true}
      ],
      "actions": [
        {"type": "Action.OpenUrl", "title": "ePulz.io'da aç", "url": "https://epulz.io/dashboard/monitor/42"}
      ]
    }
  }]
}

Teams'te webhook adresi, kanaldaki Incoming Webhook konnektöründen veya Power Automate "Post to Teams when a HTTP request is received" şablonundan alınır.

Özel webhook (genel endpoint)

Uyarıları kendi uygulamanıza göndermeniz gerekiyorsa, ayarlara endpoint'inizin adresini (hedef adresi) girin. ePulz.io oraya POST yöntemiyle, JSON biçiminde bir gövdeye sahip bir istek gönderir:

{
  "event": "down",
  "monitor": {
    "name": "Üretim sitesi",
    "target": "https://example.com",
    "url": "https://epulz.io/dashboard/monitor/42"
  },
  "message": "Erişilemiyor: HTTP 503",
  "timestamp": "2026-05-31T14:23:45+00:00",
  "source": "epulzio"
}

event alanı şu değerleri alır: down (kesinti), up (geri gelme), ssl (yaklaşan SSL sertifikası süresinin dolması), domain (yaklaşan alan adı süresinin dolması), anomaly (yanıt anomalisi) veya test (test gönderimi). monitor.name alanı monitör adıdır, monitor.target izlenen adrestir ve monitor.url ePulz.io panosuna geri dönüş bağlantısıdır.

İmza doğrulama (HMAC)

İsteğe bağlı olarak ayarlarda imzalamayı etkinleştirebilirsiniz - o zaman her isteği gizli bir anahtarla (HMAC SHA-256) imzalar ve iki başlık ekleriz:

  • X-ePulzio-Signature - istek gövdesinden sha256=<hex digest> biçiminde imza
  • X-ePulzio-Event - olay türü (gövdedeki event alanıyla aynı değer)

Endpoint'inizde, alınan gövdenin HMAC SHA-256 değerini aynı gizli anahtarla hesaplayıp başlıkla karşılaştırmanız yeterlidir. Eşleşiyorlarsa istek gerçektir ve aktarım sırasında değiştirilmemiştir.

İpucu: Daha büyük ekipler için, yalnızca uyarılara ayrılmış ayrı bir Slack veya Discord kanalı öneririz (örneğin #alerts). Böylece kanal başka tartışmalarla dolup taşmaz ve kritik mesajlar kimsenin gözünden kaçmaz.
Bu kılavuz yardımcı oldu mu?