On-call rotations: stop using a spreadsheet someone forgot to update
Description and use
Move from manual spreadsheet scheduling to an automated on‑call system with clear rotation rules, escalation, and compensation, using PagerDuty, Opsgenie, or simple cron+Slack.
Problem
Manual on‑call schedules in spreadsheets cause coverage gaps, burnout, lack of escalation paths, and holiday blindness.
Outcome
Teams transition from unreliable spreadsheet schedules to automated, transparent on‑call systems, reducing incidents, preventing burnout, and ensuring clear escalation paths.
Workflow
- Define rotation rules: primary/secondary, weekly rotation, no more than 2 consecutive weeks per engineer, handoff at Monday 10am local.
- Set escalation policy: primary 5 min, secondary 10 min, manager 15 min, CTO 30 min, all tracked automatically.
- Implement follow‑the‑sun for global teams: APAC 00:00‑08:00 UTC, EMEA 08:00‑16:00 UTC, Americas 16:00‑00:00 UTC, each with primary and secondary.
- Establish compensation and recovery: weekly on‑call bonus, day off after night‑time incident, no meetings after major incidents.
- Choose a tool: PagerDuty (best overall), Opsgenie (cheaper), cron+Slack (small teams), or custom Python script for full control.
- Create a template: include primary/secondary contacts, escalation steps, handoff time, and runbook updates.
- Schedule handoffs: review pending incidents, update runbook with learnings.
- Avoid common mistakes: don’t assign newest engineer as primary, don’t skip handoff, plan holiday coverage 2 weeks ahead, make on‑call mandatory.
- Provide ready‑to‑use templates and scripts via Ops Starter Kit.
Evidence
Coverage gaps: Nobody realizes the schedule is wrong until an incident hits
Primary has 5 minutes to acknowledge; Secondary gets paged at 10 minutes; Manager notified at 15 minutes; All tracked automatically
PagerDuty: Best overall, but expensive for small teams; Opsgenie: Good alternative, cheaper; Simple cron + Slack: For teams under 5 people, this works fine; Custom Python script: If you want full control
- Record date: 2026-09-20T16:45:40.262Z