Skip to content
Join the waitlist

Alerts

Notification channels

Where alerts go: email, Slack, Microsoft Teams, Discord, SMS, phone, webhooks, PagerDuty, and Opsgenie.

A channel is a destination for alerts. Channels belong to the project and are attached to monitors; one channel can serve many monitors and one monitor can notify many channels.

Channel Notes
Email Every project member can receive alerts by email. You can also add arbitrary addresses such as a shared oncall@ inbox.
Slack Authorize the workspace and pick a channel. Alerts arrive as rich messages with the failure reason, affected regions, and a link to the incident.
Microsoft Teams Add an incoming webhook from your Teams channel.
Discord Add a Discord webhook URL.
SMS Delivered worldwide. Included in paid plans under fair use; the dashboard shows monthly usage.
Phone call A voice call that reads the alert and offers to acknowledge it by keypress. For the alerts that must not be missed.
Webhook A POST with a JSON body to any URL you control. Sign-verified with a per-channel secret.
PagerDuty Creates and resolves PagerDuty incidents through the Events API v2.
Opsgenie Creates and closes Opsgenie alerts.

Every alert, on every channel, carries the same facts: the monitor name and target, the state change (down, degraded, recovered), the failure reason, which regions confirmed it, when it started, and a link to the incident. Recovery alerts include the outage duration.

There is no “alert storm” mode. One confirmed failure produces one alert per channel, one recovery produces one more, and repeated flapping within a short window is grouped into the same incident rather than re-paging.

{
"event": "monitor.down",
"monitor": { "id": "mon_9f2a", "name": "API Gateway", "url": "https://api.acme.com/health", "type": "http" },
"reason": "ERR_UNEXPECTED_STATUS",
"status": 503,
"confirmedFrom": ["frankfurt", "nyc"],
"startedAt": "2026-09-04T09:12:41Z",
"incident": { "id": "inc_41c0", "url": "https://app.statuscheck.io/p/acme/incidents/inc_41c0" }
}

Events: monitor.down, monitor.degraded, monitor.up, incident.opened, incident.updated, incident.resolved, heartbeat.missed, ssl.expiring. Each request includes an X-StatusCheck-Signature header, an HMAC-SHA256 of the body using the channel secret, so you can verify it came from us.

Every channel has a Send test button. Use it after setup, and again whenever someone rotates a Slack token or a webhook secret. A test alert is clearly labeled as a test.