Alert Channels
Define a webhook or email destination once, attach it to as many monitors as you want. Rotate the signing secret in one place instead of editing every monitor.
Why named channels
Before alert channels, each monitor stored its own copy of the Slack webhook URL, PagerDuty routing key, or email address. Adding monitoring to 50 services meant pasting the same webhook URL 50 times — and rotating it meant editing 50 monitors.
A named alert channel is defined once at /settings/alert-channels and referenced by monitors via channel_id. Edit the URL once, every attached monitor updates.
Channel types
- webhook — POSTs a JSON payload to an HTTPS URL. Works with Slack, PagerDuty, Discord, Microsoft Teams, Opsgenie, or any service that accepts HTTP.
- email — sends a formatted plaintext+HTML message via our SES backend. Free tier includes the account email; Pro+ can add named additional addresses.
HMAC signing (webhook only)
When you create a webhook channel, opt in to generate signing secret to receive a 64-character hex token. Every outgoing webhook payload is then HMAC-SHA256 signed; verify on your receiving end:
Rotating a secret
PUT /api/v1/alert-channels/{id} with {"rotate_secret": true}. The new secret is returned once; subsequent reads only confirm has_secret: true. Receivers using the old secret will start rejecting payloads — verify the new key is deployed before rotating in production.
Deleting a channel
Delete returns 409 if any monitors still reference the channel — the response includes the affected monitor IDs. Detach the channel from those monitors first (set a different channel_id or remove the rules), then retry.
API
Migrating from inline configs
If your account has many monitors using inline (legacy) alert configs that all point at the same URL, run the dedupe tool to consolidate them into named channels:
The legacy inline form continues to work — migration is optional. New monitors should prefer named channels for the management ergonomics.