Skip to main content

on-call

Page the person on call, from the tool that saw it fail

An alert posted to a shared channel at 3 a.m. often reaches nobody. An escalation policy decides who a failing monitor pages and who comes next when nobody answers, and an on-call schedule on one of its levels decides which person that is right now. Both live in the same product as your checks and your status page, so there is no second tool to connect.

Three jobs, one incident

The usual setup is three products: a monitor that sees the failure, an on-call tool that decides who hears about it, and a status page for your customers. Each has its own account and its own list of services, and the glue between them is yours to maintain. Here a failing monitor opens an incident, and an escalation policy on that monitor, or your org default, pages whoever is on call. When the monitor is a component of your status page, the same incident shows there on its own as it opens and resolves, and you narrate what happens in between. Acknowledging it stops the paging and posts nothing publicly.

Layers for working hours and nights

A schedule is one or more rotations, called layers, in the schedule's timezone. A layer is on call at all hours or only in the weekly windows you give it, such as Monday to Friday 09:00 to 17:00. At any moment the first layer on call pages, and later layers fill the hours the earlier ones leave. One layer for working hours and a second at all hours covers nights and weekends in a single schedule. A layer whose hours the earlier layers already cover would never page, and the editor tells you so before you save.

Handoffs that keep their time

Daily and weekly rotations hand off at the same local time every period, so a Monday 09:00 handoff is still at 09:00 after the clocks change. A custom rotation runs on a fixed length of an hour or more, such as twelve hours, counted from the first handoff, so it does not follow daylight-saving changes. The schedule list shows who is on call now, until when, and who takes over next.

Holidays and swaps without touching the rotation

A saved schedule opens on a calendar of who is on call each day. Click a start day and an end day, pick who covers, and that override beats the rotation for the window. The rotation itself does not change, so when the override ends the order carries on where it would have been.

Your shifts in your own calendar

The on-call page lists your next shifts across every schedule, overrides you cover included. It also gives you a private link that Google Calendar, Apple Calendar or Outlook can subscribe to, so your shifts sit next to the rest of your week. Making a new link stops the old one, and the link ends when you leave the organization.

Escalation when nobody answers

An escalation policy is a ladder of levels. Level 1 pages when the incident opens, and each level waits before the next one pages. A level can page notification channels, on-call schedules, or both, and the ladder can repeat from the top up to ten more times. Bind a policy to one monitor, or make it the default for every monitor without its own. Acknowledging or resolving the incident stops the ladder. After the last page, the monitor's reminders take over, unless you switched them off for that monitor.

A warning before a page reaches no one

Each person picks the channels that page them: SMS, Slack, Telegram, Pushover, ntfy, PagerDuty, email or any of the others. A person who has not picked one resolves as on call but cannot be paged, and both the schedule list and the on-call page warn about it while there is still time to fix it. From a phone, the Acknowledge button on an ntfy page takes the incident, and acknowledging a Pushover emergency page does the same, so the reminders stop without opening a laptop.

FAQ

How does it decide who gets paged?
The monitor's escalation policy, or the org default, names a schedule on one of its levels. At the moment that level pages, an override covering that moment wins. Otherwise the first layer on call at that moment pages, and its rotation says which participant that is. The person is then reached through the channels they picked on the on-call page.
What happens when nobody acknowledges?
With an escalation policy, the next level pages once the current level's wait runs out, and the ladder can start again from the top up to ten more times. After the final page, the monitor's reminders keep coming with a growing gap, up to one a day, until someone acknowledges or the monitor recovers, unless reminders are switched off for that monitor. A monitor without a policy of its own follows the org default policy. With no default either, it pages its own channels and the reminders do the rest.
Does acknowledging an incident update the status page?
No. Acknowledging records who took the incident and stops the paging, and it posts nothing to the status page. What customers read there comes from the incident itself: a monitor that is a component of the page shows the incident as it opens and again when it resolves, and the updates in between are the ones you write.
Can I see my shifts in Google Calendar?
Yes. The on-call page gives you a private link to a calendar feed of your shifts, from the last 30 days to the next 90. Google Calendar, Apple Calendar and Outlook subscribe to it by URL. Anyone holding the link can read your shifts, and making a new link stops the old one.
Do I still need PagerDuty or Opsgenie?
Not for rotations and escalation, as long as the channels here reach your team: SMS, Pushover emergency priority, Telegram, Slack and the rest. There is no phone call yet. If you already run PagerDuty, put its service on an escalation level as a channel, and each incident becomes one PagerDuty alert.
Does a self-hosted install have on-call?
Yes. On-call schedules and escalation policies are part of the AGPL build. On your own install, the plan limits you set decide how many of each an organization may keep.

At a glance

  • Rotations daily, weekly or a custom length
  • Layer hours all hours, or weekly windows
  • Overrides pick the days on a calendar
  • Your shifts a feed for your calendar app
  • Escalation levels with a wait between them
  • Stops when someone acknowledges or it resolves

Links

Start in under 5 minutes.

Start free

features · pricing · notes