Files
Pulse/docs/WEBHOOKS.md
2025-11-25 00:19:34 +00:00

1.2 KiB

🔔 Webhooks

Pulse supports Discord, Slack, Teams, Telegram, Gotify, ntfy, and generic webhooks.

🚀 Quick Setup

  1. Go to Alerts → Notifications.
  2. Click Add Webhook.
  3. Select service type and paste the URL.

📝 Service URLs

Service URL Format
Discord https://discord.com/api/webhooks/{id}/{token}
Slack https://hooks.slack.com/services/...
Teams https://{tenant}.webhook.office.com/...
Telegram https://api.telegram.org/bot{token}/sendMessage?chat_id={id}
Gotify https://gotify.example.com/message?token={token}
ntfy https://ntfy.sh/{topic}

🎨 Custom Templates

For generic webhooks, use Go templates to format the JSON payload.

Variables:

  • {{.Message}}: Alert text
  • {{.Level}}: warning/critical
  • {{.Node}}: Node name
  • {{.Value}}: Metric value (e.g. 95.5)

Example Payload:

{
  "text": "Alert: {{.Level}} - {{.Message}}",
  "value": {{.Value}}
}

🛡️ Security

  • Private IPs: By default, webhooks to private IPs are blocked. Allow them in Settings → System → Webhook Security.
  • Headers: Add custom headers (e.g., Authorization: Bearer ...) in the webhook config.