Skip to content
Nominal

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.

TypeWhat it does
MailEmail via your app mailer.
SlackIncoming webhook.
Microsoft TeamsIncoming webhook.
DiscordIncoming webhook.
WebhookGeneric HTTP POST of the alert payload.
PagerDutyEvents 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.