Skip to content

ProductNotifications

Reaches the right people, where they already are.

One status change, rendered natively for Slack, Teams, PagerDuty, Jira and six more. Recoveries always get through.

One event, every channel

Routed once, then rendered natively for each destination.

A status change enters dispatch, which applies event types, filters, snooze and maintenance. Delivery then retries, paces and dead-letters, and hands the event to chat, on-call and direct channels. Recoveries skip every filter.

Every channel

One incident, as each channel receives it.

Step through an outage on Checkout API. Each preview is drawn from the exact body Observer sends, built by the same code that delivers it.

Slack5 deliveries

#incidents

  1. ObserverAPP14:02

    🟠 Metric "Checkout API" is degraded

    Was healthy. Value: 2.4.

    Checkout API · severity: major · degraded

    View metric
  2. ObserverAPP14:06

    🔴 Metric "Checkout API" is unhealthy

    Was degraded. Value: 7.9.

    Checkout API · severity: critical · unhealthy

    View metric
  3. ObserverAPP14:09

    🔴 Investigating: Checkout payments failing

    Acme Cloud · severity: major · investigating

    View incident
  4. ObserverAPP14:31

    ✅ Metric "Checkout API" recovered

    Was unhealthy. Value: 0.3.

    Checkout API · healthy

    View metric
  5. ObserverAPP14:34

    ✅ Resolved: Checkout payments failing

    Acme Cloud · severity: major · resolved

    View incident

Routing

Who hears what, per channel.

Each channel picks its events and its bar. Recoveries and resolves pass every filter, so nothing a channel opened is left open.

Metric flips that alert

Events

Incidents

Maintenance

Agent healthorg-wide channels only

Metrics

Hosted checksorg-wide channels only

SLOsorg-wide channels only

SLA statementsorg-wide channels only

What this channel receives

  1. Metric "Checkout API" is degradedFilteredmetric.status_changed · major · degradedbelow this channel's bar
  2. Metric "Checkout API" is unhealthyDeliveredmetric.status_changed · critical · unhealthy
  3. Checkout payments failingFilteredincident.published · major · investigatingbelow this channel's bar
  4. Metric "Checkout API" recoveredDeliveredmetric.status_changed · no severity · healthyrecoveries pass every filter
  5. Checkout payments failingDeliveredincident.resolved · major · resolvedrecoveries pass every filter

With critical only, the degraded flip and the major incident stay quiet, while the recovery and the resolve still arrive.

Snooze

Mute a channel for 1, 8 or 24 hours.

A snoozed channel hears nothing until it wakes. Clear the snooze any time from Alerts.

Maintenance

Quiet during planned work.

Metric alerts are held while the metric's pages are inside an active maintenance window, and logged as skipped. A channel can opt out.

Bursts

A burst arrives as one message.

Chat and email channels collect metric alerts for 60 seconds and send one message with the latest state of each metric. When an agent stops reporting, its metrics' no-data pings fold into one line. On-call channels keep one alert per metric.

Digest

Or batch it into one summary a day.

A channel set to digest gets one message a day listing what it would have received.

Delivery

Retried, paced, and on the record.

A provider having a bad minute doesn't lose an alert, and a bad config doesn't retry forever.

Retries

Up to five attempts.

Timeouts, rate limits and 5xx responses retry after 10, 20, 40 and 80 seconds. A 4xx or a broken config goes straight to the dead-letter queue.

Pacing

Inside each provider's limits.

Slack and Teams get one message a second, Discord two, Telegram thirty, so a busy hour doesn't get a webhook throttled.

Once

Each event reaches each channel once.

Deliveries are keyed on event, destination and channel, so a replayed job never posts twice.

On the record

Every attempt, with its payload.

Open a row to see exactly what was sent and what came back. Replay a failed delivery, or send a test from Alerts.

The delivery log, as it appears under Alerts

Latest alerts

What was sent, where, and whether it arrived. Open a row for the payload.

StatusAlertWhen
DeliveredEmail
DeliveredJira
DeliveredPagerDuty
DeliveredSlack
RetryingHTTP 503 · http_503Generic webhook
DeliveredPagerDuty
FailedHTTP 404 · http_404: {"message": "Unknown Webhook", "code": 10015}Discord · a page
SkippedHeld during maintenanceEmail

Subscribers

Your customers hear it from you.

Status page subscribers get each incident in your page's name, logo and colour, with a one-click unsubscribe. Every page also publishes RSS and Atom.

When you publish

[Acme Cloud] Investigating: Checkout payments failing

When you resolve

[Acme Cloud] Resolved: Checkout payments failing

Opt-in

Confirmed before the first email.

Subscribers confirm by email. Free pages email up to 5 subscribers.

Scoped incidents

Only the customers it concerns.

An incident scoped to one customer reaches that customer's subscribers and no one else's.

Feeds

RSS and Atom on every page.

Each published incident update and maintenance step is an item. Feeds of private pages are gated like the page.

Plans

Alert channels on every paid plan.

Each enabled channel counts against your plan. Free pages still email up to 5 subscribers and publish feeds.

Starter

0channels1,000 deliveries a day

Pro

0channels100,000 deliveries a day

Business

0channels500,000 deliveries a day

Enterprise

Unlimitedno daily cap

Connect one metric. See its record in ten minutes.