Alerts
Notification channels
Where alerts go: email, Slack, Microsoft Teams, Discord, Google Chat, Telegram, 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. |
| Google Chat | Add an incoming webhook from a Google Chat space. |
| Telegram | Send alerts to a Telegram chat or group. |
| Webhook | A POST with a JSON body to any URL you control. Signed with a per-channel secret and retried with backoff. |
| PagerDuty | Creates and resolves PagerDuty incidents through the Events API v2. |
| Opsgenie | Creates and closes Opsgenie alerts. |
Microsoft Teams, PagerDuty, and Opsgenie are available on the Team plan and up. Connect any of them from Workspace → Integrations in the app.
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", "virginia"], "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.