Watchdog

Notification Channel Guide

Guides for Slack, Discord, Telegram, Email, and Generic (Webhook) for beginners.

Prepare First

The process of creating a channel and copying the URL is common.

  • Create the channel/chat room first.
  • Admin rights are required for Slack/Discord webhooks.
  • Paste the copied address (or email) into the Watchdog webhookUrl field.
Channel/Room Required
Copy URL
Test Delivery Available

Slack

Create Channel → Create App → Copy Incoming Webhook URL

Workspace Required
Channel Required
Admin Rights Required
  1. Create a Slack channel first (e.g., #watchdog-alerts)
  2. Go to https://api.slack.com/apps → Create New App
  3. Select 'From scratch' → Set App Name/Workspace
  4. Incoming Webhooks (left menu) → Toggle ON
  5. Click 'Add New Webhook to Workspace' → Select channel
  6. Copy generated Webhook URL → Paste into Watchdog webhookUrl
Path: Slack App → Incoming Webhooks → Add New Webhook → Select Channel
Slack Workspace
  -> Apps
    -> Incoming Webhooks (ON)
      -> Add New Webhook
        -> Copy URL
          -> Watchdog webhookUrl

Tip: If the channel doesn't exist, it cannot be selected during webhook creation.

Discord

Create Server/Channel → Copy Webhook URL

Server Required
Channel Required
Admin Rights Required
  1. Create a channel in your Discord server.
  2. Right-click channel → Edit Channel
  3. Integrations → Webhooks → New Webhook
  4. Verify Name/Icon/Channel → Copy Webhook URL
  5. Paste into Watchdog webhookUrl
Path: Channel Settings → Integrations → Webhooks → New Webhook
Discord Server
  -> Channel Settings
    -> Integrations
      -> Webhooks
        -> New Webhook
          -> Copy URL
          -> Watchdog webhookUrl

Tip: Webhook menu won't appear without 'Manage Webhooks' permission.

Telegram

Requires Bot Token + chat_id.

Create Bot
Check chat_id
  1. Search @BotFather in Telegram → /newbot
  2. Set Bot Name/ID → Get Token from BotFather
  3. Invite bot to your chat/group and send 1 message
  4. Check chat_id (Personal: @userinfobot, Group: via getUpdates URL)
  5. Enter webhookUrl in specified format
https://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=<CHAT_ID>
getUpdates example: https://api.telegram.org/bot<TOKEN>/getUpdates
Test example: https://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=<CHAT_ID>&text=Hello

Tip: The bot must be invited to the group to receive notifications.

Email

Just enter the recipient email address.

  1. Select EMAIL format in Watchdog
  2. Enter email in webhookUrl field
SMTP Config Required
spring.mail.*
watchdog.monitor.mail.*

Note: Server SMTP configuration is required. Notifications won't be sent without it.

Generic Webhook

Any URL that can receive POST JSON.

  1. Prepare your server to receive POST requests (JSON)
  2. Enter destination URL in webhookUrl
  3. Watchdog treats 2xx response as success
example: https://hooks.example.com/watchdog
Header: Content-Type: application/json

If Alerts Don't Arrive

Commonly missed points.

  • Verify webhookUrl (empty/spaces/wrong channel)
  • Use 'Send Test' button in Watchdog
  • Slack/Discord URLs won't be generated without permissions
  • Telegram fails if chat_id is incorrect
  • Email requires server SMTP configuration