Skip to content

On-Call Schedules ​

An on-call schedule decides who gets paged, and when. Instead of alerting the whole team for every incident, a schedule rotates responsibility so the right person is contacted at the right time -- including nights and weekends.

On-call schedules are used by escalation policies: a policy step can target a schedule, and Hoppla pages whoever is on call at that moment.

How a Schedule Is Built ​

A schedule has a name and a timezone. The timezone matters: it's what Hoppla uses to decide whether "right now" falls inside a rotation's days and hours, so set it to the timezone your on-call team actually works in.

Inside the schedule is an ordered list of rotations. The rotation order sets their priority -- earlier rotations are evaluated first.

Rotations ​

Each rotation defines a person and when they're responsible:

  • User on call -- The team member who is paged when this rotation is active.
  • Channel (optional) -- A specific notification channel for this person (for example, their personal phone via a particular integration). If left empty, the schedule's default notification path is used.
  • Days of the week (optional) -- Which days this rotation covers. Leave it empty to mean every day.
  • Time window -- A start and end time. This can be a normal daytime range (e.g. 09:00–17:00) or an overnight range that crosses midnight (e.g. 22:00–06:00) -- Hoppla handles the wrap-around correctly. Leave the window open to cover the whole day.
  • Active / inactive -- A toggle to switch a rotation on or off without deleting it. Inactive rotations are never selected.

A common setup is one rotation per person covering their shift -- for example, Alice on weekday days, Bob on weekday nights, and a weekend rotation for someone else.

Who Is On Call Right Now ​

When an escalation step targets a schedule, Hoppla works out who is on call by looking at the current moment in the schedule's timezone:

  1. It takes the current day of the week and the current time of day in that timezone.
  2. It checks each active rotation, in rotation order, against its days and its time window (overnight windows included).
  3. The matching rotation's user is paged -- through that rotation's channel if one is set.

If no rotation currently matches, there's nobody on call for that moment, and the escalation step has no one to page -- so make sure your rotations cover the hours you care about.

Using a Schedule in Escalation ​

A schedule becomes active through an escalation policy:

  1. Build your on-call schedule and its rotations.
  2. In an escalation policy, add a step and set its target to the schedule (instead of a fixed channel).
  3. Attach the policy to a notification rule.

Now, when an unacknowledged incident reaches that step, Hoppla pages whoever the schedule says is on call -- no manual hand-off required.

Cover every hour

Because "who's on call" is resolved from the current day and time, any gap in your rotations is a gap in coverage. Double-check that your rotations -- especially overnight and weekend ones -- leave no uncovered hours.