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 types
Section titled “Channel types”| Channel | Notes |
|---|---|
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. |
What an alert contains
Section titled “What an alert contains”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.
Webhook payload
Section titled “Webhook payload”{ "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.
Testing a channel
Section titled “Testing a channel”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.