Alerts
Tell someone when it is not nominal
Attach notification channels to a monitor. Thresholds on that link decide when a down, reminder, or recovery goes out. Maintenance suppresses all of them.
Channels
Channels are first-class records. Create them in the admin or with GraphQL (createNotificationChannel), then attach them to monitors (syncMonitorChannels). HTTP and SOCKS proxies that apply to HTTP checks also apply to notification webhooks when HTTP_PROXY / ALL_PROXY are set.
| Type | What it does |
|---|---|
Mail | Email via your app mailer. |
Slack | Incoming webhook. |
Microsoft Teams | Incoming webhook. |
Discord | Incoming webhook. |
Webhook | Generic HTTP POST of the alert payload. |
PagerDuty | Events API. |
Thresholds
Each monitor–channel link has its own alerting policy:
failure_threshold— consecutive failed checks before a Down alert.success_threshold— consecutive successes before Recovered, once the channel is triggered.send_on_resolved— whether to send the recovery. If false, the trigger still clears so the next outage can alert.reminder_interval_seconds— while still down and already triggered, send a reminder on this interval. Omit or zero to stay quiet after the first Down.
Status on the monitor (Pending, Up, Down, Paused, Maintenance) is independent of whether a given channel has been triggered. Paused monitors are not dispatched. Maintenance is a window, not a failed check.
Maintenance
Windows can cover every monitor or a selected set. While a window is active, covered monitors show Maintenance, checks may still run, and alerts do not. Create scheduled windows, or start and end ad-hoc maintenance on one monitor from the admin or GraphQL (startMonitorMaintenance / endMonitorMaintenance, plus createMaintenanceWindow).
Cancelling or deleting a window restores normal status. Public status pages can show the same window as scheduled maintenance on the incident timeline.