Email, Telegram, Slack, Discord or a signed webhook, in under a minute, routed per check — and a log of every delivery, including the ones deliberately not sent.
There is no SMS and no phone call. Both are on the list of things this product does not do.
Adding a channel is two steps, not one. Email validates when you click the link sent to that address; webhook, Slack and Discord validate the moment a test delivery succeeds. Until then the channel exists but is pending, and pending channels receive nothing.
This is deliberate, and it is worth understanding rather than working around: it guarantees an alert never goes to a destination nobody confirmed — a typo'd address, a webhook that was never reachable, a Slack channel that was deleted. The cost is that a check can go down without paging you if its only channel was never confirmed, which is exactly why the delivery log below exists and says so.
Channels can be attached to specific checks, or left as the organization default that covers everything. So the customer-facing API can page a phone through Telegram while a nightly batch job posts to a Slack room nobody watches at 3am.
A down transition sends once. While the state is unchanged, nothing renotifies — a service that is down for six hours does not produce six hours of messages, because a channel that cries wolf gets muted, and a muted channel is worse than no monitoring at all. Recovery sends its own notification, so silence never has to be interpreted.
Underneath, a failure has to be confirmed from a second independent EU probe region before any of this starts. How that works →

Every check keeps a delivery log: what was sent, to which channel, when — and what was skipped, with the reason. Deduplicated because the state had not changed. Skipped because the channel was still pending. Failed because the endpoint returned a 500.
Every monitoring product claims it alerts you. This is the claim that can be checked, and it is the reason the log is a feature rather than an internal table.
Alerts for a check are readable over the versioned REST API with an organization key, alongside checks, statuses and results. Documentation →