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:
- It takes the current day of the week and the current time of day in that timezone.
- It checks each active rotation, in rotation order, against its days and its time window (overnight windows included).
- 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:
- Build your on-call schedule and its rotations.
- In an escalation policy, add a step and set its target to the schedule (instead of a fixed channel).
- 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.