The right alert, on the right channel.
A payments outage should page someone. A marketing site blip can wait in Slack. Route each monitor to the channels it deserves.
Routing is per monitor, not all-or-nothing.
Alert fatigue starts the day every failure goes to every channel. Here, channels are attached to individual monitors: the payments API pages the on-call engineer through PagerDuty, the marketing site posts to Slack, and the nightly backup job pings an ntfy topic nobody has to watch in real time.
Channels are defined once at the team level, so a Slack webhook you configure today can be attached to the next twenty monitors in two clicks.
One slow webhook never blocks the page.
Every notification is dispatched as its own queued job: three attempts, 30-second backoff, per channel. If your webhook receiver is timing out at 3 a.m., PagerDuty still fires on time and Slack still gets the message.
Failed deliveries are logged with the channel and the reason, so "did the alert go out?" has an answer you can look up instead of a shrug.
What notifications include.
- Ten channels email, SMS, Slack, Discord, Microsoft Teams, PagerDuty, Opsgenie, Pushover, ntfy, and webhooks.
- Severity aware a critical failure arrives as a PagerDuty critical event, an Opsgenie P1, and a high-priority push, not a generic ping.
- Per-channel retries each delivery gets three attempts with backoff, independently, so one flaky endpoint never delays the rest.
- Webhooks with custom headers authenticate the payload however your receiver expects, and the JSON body carries subject, message, and severity.
- Self-hosted ntfy point the channel at your own ntfy server instead of ntfy.sh. Your alerts never have to leave your network.
- Alert on open and resolve channels fire when an incident opens and when it resolves, not once per timeline update, so a long incident does not spam anyone.
Alerts are not a pricing lever.
Attach as many channels as you like to any monitor. Free covers 5 monitors and 1 status page, Pro is $9 per month for 100 monitors and 10 status pages, and both route to all 10 channel types. Nobody meters who got paged.
Channels are API records too.
Like monitors, notification channels are rows in an API, not settings buried in a UI. Create them from a provisioning script, attach them to monitors, and disable one temporarily without deleting its config.
Each channel stores its own credentials: a webhook URL for Slack, Discord, or Teams, a routing key for PagerDuty, an API key for Opsgenie.
curl -X POST https://uptime-status.org/api/notification-channels \ -H 'Content-Type: application/json' \ -d '{ "name": "On-call Slack", "type": "slack", "config": "{\"webhookUrl\": \"https://hooks.slack.com/...\"}" }'
Notifications, answered.
Which channels are supported?
Email, SMS, Slack, Discord, Microsoft Teams, PagerDuty, Opsgenie, Pushover, ntfy, and plain webhooks. Ten in total, and every plan gets all of them.
Can different monitors alert different channels?
Yes, that is the default model. Channels are defined once at the team level, then attached per monitor. Your payments API can page the on-call engineer while the marketing site posts to a Slack channel.
Will a slow webhook delay my page?
No. Every notification is dispatched as its own queued job with three attempts and a 30-second backoff. A webhook receiver timing out has no effect on the PagerDuty or Slack deliveries happening alongside it.
Do I get an alert for every incident update?
No, and that is deliberate. Channels fire when an incident opens and when it resolves. Status changes in between land on the incident timeline and the status page without re-paging everyone.
What does the alert actually say?
The subject names the monitor that went down. The message carries the failure cause the check recorded, such as the HTTP status or connection error, so the alert starts the fix instead of a search.
Pairs well with.
Incident management
The alert is step one. Acknowledge it, post updates, and resolve it on a timeline your whole team can see.
Learn moreUptime monitoring
30-second Pro checks from six regions decide when these channels fire. Full diagnostics ride along.
Learn moreStatus pages
While channels page your team, a branded page on your own domain answers your users.
Learn moreStart monitoring in under 2 minutes.
No credit card required for the self-hosted, open-source version.