Alert channels
Available alert channels
Section titled “Available alert channels”
OKStatus supports eighteen notification channels. Each channel is an org-level object attached to the monitors that should notify it. The Apply to all my monitors box in the creation dialog is ticked by default, so a new channel starts attached to every monitor you have at that moment — untick it to pick monitors yourself. Monitors created later are never attached automatically.
| Channel | Plan |
|---|---|
| Discord | Free |
| Webhook | Free |
| Telegram | Free |
| Pro | |
| Slack | Pro |
| Google Chat | Pro |
| Alertmanager | Pro |
| Pushover | Pro |
| Rocket.Chat | Pro |
| Mattermost | Pro |
| ntfy | Max |
| Microsoft Teams | Max |
| Splunk (HEC) | Max |
| PagerDuty | Max |
| Grafana IRM | Max |
| Jira Service Management | Max |
| incident.io | Max |
| Jira | Enterprise |
Higher tiers include every channel from the tiers below them. The plan gate is checked when you create a channel — channels created before a change keep working.
Setup steps for the webhook-configured channels have their own pages: Discord, Webhooks, Alertmanager, Pushover, Rocket.Chat, Mattermost, Grafana IRM, Jira Service Management, incident.io, and Jira. Slack, Telegram, ntfy, MS Teams, Splunk, Google Chat, and PagerDuty are covered in Other channels.
The simplest channel. Every state change (UP → DOWN, DOWN → UP) generates an email.
Setup:
- Go to Alerting → Channels (or attach one directly from the monitor creation wizard’s last step).
- Click Add a channel → Email.
- Enter the recipient address.
- Click Create.
The notification email includes the monitor’s name and URL, the new status, the region that detected the issue, and the exact time of the state change.
Choosing which monitors a channel notifies
Section titled “Choosing which monitors a channel notifies”A channel doesn’t apply to every monitor just by existing. You scope it either:
- At monitor creation — the last step of the “New monitor” wizard lets you select existing channels (or create a new one) right there.
- From the monitor’s detail page — attach, detach, or adjust a channel’s alert kinds at any time.
- From Alerting → Channels — a channel’s own page lets you apply it to all monitors, or to every monitor carrying a given tag, in one action.
Alert kinds
Section titled “Alert kinds”For each channel attached to a monitor, you can independently toggle which kinds of events it should notify for:
- Up / down — the monitor’s availability state changes.
- SSL certificate expiry — the monitor’s TLS certificate is nearing expiration.
- Domain expiry — the monitored domain’s registration is nearing expiration.
All three are enabled by default. Uncheck any of them per channel if, for example, you want your Discord channel to only ever ping on outages while email also carries certificate-expiry warnings.
Anti-false-positive logic
Section titled “Anti-false-positive logic”A single failed check never pages you. Two safeguards apply, both driven by the monitor’s own settings:
- Retry window — a region only confirms a failure after
retries + 1consecutive failed checks (default: 2). The first failure shows as degraded; for a single-region monitor it also sends a soft warning. - Majority rule — a multi-region monitor is down only when more than half of its regions confirm the failure. One region alone is a partial outage: orange status and one alert naming that region — you know something is wrong from that vantage point, without a false “everything is down”.
Recovery is announced once, when every region is healthy again. Every alert kind is sent once per transition, never re-sent while the state lasts. Full rules and diagrams: Status & uptime.
Advanced options
Section titled “Advanced options”For each monitor, you can also configure:
| Option | Description | Default |
|---|---|---|
| Retries | Consecutive failures tolerated before the monitor is marked down | 1 |
| Mute | Silence alerts for a monitor without pausing its checks | Off |
Best practices
Section titled “Best practices”- Combine email + Discord/Slack — email for the archive, chat for responsiveness.
- Use webhooks to feed your on-call tool (PagerDuty, Opsgenie).
- Mute a monitor during a known noisy period instead of disabling it entirely — checks keep running, alerts just stay quiet.
- Test your channels after setup with the “Send test” button next to each one.
- Check the Alerts page for “no channel” rows — an alert that was detected but never sent is the most common gap after adding monitors.