Notification Channels
Notification channels define where alert notifications are delivered. Channels are configured at the account level and can be reused across any number of alerts.
Supported channel types
| Channel | Configuration | Auth model |
|---|---|---|
| One or more recipient email addresses | N/A | |
| Slack | Incoming webhook URL | URL is auth |
| PagerDuty | Integration/routing key (Events API v2) | Routing key |
| Generic Webhook | Any URL that accepts POST requests | Custom headers |
| Grafana IRM | Grafana OnCall or IRM webhook URL | URL is auth |
| FireHydrant | FireHydrant webhook URL | URL is auth |
| Zenduty | Zenduty integration webhook URL | URL is auth |
| BetterStack | BetterStack (formerly Better Uptime) webhook URL | URL is auth |
| incident.io | incident.io webhook URL | URL is auth |
All integrations use simple HTTP POST endpoints — no OAuth flows or app marketplace listings required. Paste a URL or key and it works.
Creating a channel
- Go to Notification Channels in the sidebar (or from Account Settings).
- Click New Channel.
- Choose a channel type — the form updates to show the required fields for that type.
- Fill in the configuration (e.g., Slack webhook URL, PagerDuty routing key).
- Give it a name so you can identify it later (e.g., "Ops Slack", "On-Call PagerDuty").
- Save.
Assigning channels to alerts
When creating or editing an alert, you'll see a list of your notification channels. Select one or more channels that should receive notifications when the alert fires.
A single alert can notify multiple channels simultaneously — for example, posting to Slack and paging via PagerDuty at the same time.
Plan limits
Notification channels are subject to plan-based limits:
| Limit | Pro | Business |
|---|---|---|
| Channels per account | 5 | 25 |
| Channels per alert | 3 | 10 |
| Monthly deliveries | 5,000 | 50,000 |
| Daily deliveries | 500 | 5,000 |
When you approach your monthly delivery limit (80%), a warning appears on the billing page. If you exceed the limit, deliveries are throttled. If you hit the daily cap, deliveries are paused until the next day and you receive an email notification.
Testing a channel
Click Test delivery on any channel to send a sample notification. This verifies your configuration is correct before a real alert fires.
Enabling and disabling
Toggle a channel on or off without deleting it. Disabled channels won't receive any notifications until re-enabled.
Circuit breaker (auto-disable)
CatchHook monitors delivery success for each channel. If a channel fails 5 consecutive times, it is automatically disabled to prevent noise and wasted resources.
When a channel is auto-disabled:
- The channel owner receives an email notification.
- The channel status changes to disabled in the UI.
- No further deliveries are attempted until you investigate and re-enable it.
To re-enable, fix the underlying issue (expired webhook URL, revoked API key, etc.) and toggle the channel back on.
Delivery history
Each channel tracks its recent deliveries so you can see:
- Whether each delivery succeeded or failed.
- The response status code from the destination.
- Timestamps for every attempt.