Setting up on-call schedules
This is done on the web dashboard, not the iOS app. Navigate to Settings → On-call schedules (or from Alert Notifications, click On-call schedules).
Create a schedule
- Click New schedule.
- Name it (e.g. "Security primary").
- Pick a timezone — your browser's timezone is pre-filled. This determines when shifts hand off.
- Choose a cadence:
- Daily — new primary every day.
- Weekly — new primary each week; choose a hand-off day.
- Custom (hours) — fixed-length shifts (e.g. 12 h) for 24/7 coverage split between two people.
- Set a handoff time of day. Example: weekly + Monday + 09:00 means the new primary picks up at 9 AM local on Monday.
- Pick an anchor — the exact instant the rotation begins. The engine counts shifts from here.
- Add members in rotation order (top of the list is on call first). Use the up/down buttons to reorder.
- Optionally set an escalation target and delay — if the current primary doesn't acknowledge within N minutes of being paged, the escalation target is paged too.
- Leave Active checked and save.
Vacation / swap overrides
From the schedule card, overrides can replace the scheduled primary for a time range (e.g. "Carol covers for Alice, Apr 14–18"). The latest accepted override wins if two overlap.
Currently overrides are added via the API — a UI for them is on the roadmap. An admin can script it with:
POST /api/v1/admin/on-call/overrides
{
"scheduleId": "...",
"startAt": "2026-04-14T09:00:00Z",
"endAt": "2026-04-18T09:00:00Z",
"overrideUserId": "carol-uuid",
"reason": "Alice OOO"
}
Making a schedule show up on iOS
Members of an active schedule automatically see it on the iOS On-call tab — both the current on-call row for every schedule and their own upcoming shifts.