Navigation

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
Email One or more recipient email addresses N/A
Slack Connected workspace + channel picker OAuth (Slack App)
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

Most integrations use simple HTTP POST endpoints — paste a URL or key and it works. Slack uses a connected workspace via OAuth (see Account Settings).

Creating a channel

  1. Go to Notification Channels in the sidebar (or from Account Settings).
  2. Click New Channel.
  3. Choose a channel type — the form updates to show the required fields for that type.
  4. Fill in the configuration:
    • Slack — select your connected workspace, then pick a channel from the API-powered dropdown. Use "Test Connection" to verify the bot can post.
    • PagerDuty — paste your integration/routing key.
    • Other webhook types — paste the destination URL.
  5. Give it a name so you can identify it later (e.g., "Ops Slack", "On-Call PagerDuty").
  6. 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.

Channel type availability

Not all channel types are available on every plan. Incident management integrations require a Business plan:

Channel type Pro Business
Email Yes Yes
Slack Yes Yes
Generic Webhook Yes Yes
PagerDuty Yes
Grafana IRM Yes
FireHydrant Yes
Zenduty Yes
BetterStack Yes
incident.io Yes

If you're on a Pro plan and need incident management integrations, upgrade to Business from the Billing page. Existing channels are not affected if you downgrade — the restriction only applies when creating a new channel or changing a channel's type.

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.