On-call schedule template: the table, the calendar file, and the rules

An on-call schedule template: the five columns of a rotation table, a filled weekly example, and the CSV and calendar file the generator writes.

By the OrgOrg team. Reviewed 2026-11-04 · 4 min read

An on-call schedule template is a table with one row per shift: when the shift starts, when it ends, the time zone, who is primary, and who is secondary. Everything else about an on-call rotation, the pager, the escalation, the handoff note, hangs off those five columns. This page gives you the table, a filled example, the calendar file that puts each shift on the right person's calendar, and the rules that keep a rotation fair.

The template

The columns, in the order the generator writes them:

Column What goes in it
start The first minute of the shift, as a local date and time: 2026-11-09T09:00
end The first minute of the next shift, in the same form
time zone The IANA zone of the times: America/Los_Angeles, Europe/Berlin
primary The person who is paged first
secondary The person who is paged when the primary does not answer; empty for a one-person rotation

A weekly rotation of three engineers, handing off on Monday at 09:00 Pacific, with a secondary one step behind:

start,end,time zone,primary,secondary
2026-11-09T09:00,2026-11-16T09:00,America/Los_Angeles,Priya,Marcus
2026-11-16T09:00,2026-11-23T09:00,America/Los_Angeles,Marcus,Dana
2026-11-23T09:00,2026-11-30T09:00,America/Los_Angeles,Dana,Priya
2026-11-30T09:00,2026-12-07T09:00,America/Los_Angeles,Priya,Marcus

A daily rotation uses the same columns with a one-day gap between start and end. The secondary column is the only difference between a rotation that wakes one person and a rotation that wakes a second one when the first sleeps through the page.

Get the filled table and the calendar in one minute

The on-call schedule generator takes the names, the first handoff, the cadence (daily or weekly), the time zone, and the number of weeks, and writes two files:

  • on-call-schedule.csv: the table above, with your rows.
  • on-call-schedule.ics: one calendar event per shift, titled On-call: <primary>, with the secondary in the description, in your time zone. Import it into Google Calendar or Outlook once, and every shift is on the calendar of the people who hold it.

Nothing is uploaded. The generator runs in your browser, and the files download from it.

The rules that keep a rotation fair

  1. Hand off at a time everyone is awake. A Monday-morning handoff gives the outgoing person the weekend to finish what the week started, and the incoming person a working day to read the handoff note. A Friday-evening handoff gives the weekend to whoever drew the short straw.
  2. One week per turn, three people or more. A week is long enough to learn the week's failure, and short enough to stay rested. With two people, each is on call half of the year; a third person turns that into a third.
  3. A secondary is a person, not a group. The row names who is paged second, so nobody has to guess at 03:00. Rotate the secondary one step behind the primary, as the example does, and each person is secondary the week before they are primary: they see what is coming.
  4. Swaps change the table, not the pager. When two people trade a week, change the two rows and reimport the calendar file. The table is the source of truth; the calendar and the pager follow it.
  5. Write the handoff note in the row's week. What paged, what was fixed, what is still fragile. The incoming primary reads it before the handoff, not after the first page.

From the table to a pager that rings

The table says who; a pager makes the phone ring. In OrgOrg On-Call, a rotation is the same table, kept by the app: the people, the cadence, the handoff time, and the time zone, with the schedule drawn as a calendar. A page goes to the primary by phone call, text, push, and Slack, escalates to the secondary when the primary does not acknowledge, and the handoff happens on time without a reminder. The schedule a rotation makes is the one this template describes, so a team that starts with the CSV moves to the app without renaming a column.

In OrgOrg

Frequently asked questions

How long should an on-call shift be?
One week per turn, with three people or more in the rotation, is the common shape: long enough to learn the week's failure, short enough to stay rested. A daily rotation uses the same five columns with a one-day gap between start and end.
What is a secondary on-call?
The person paged when the primary does not acknowledge the page. The template names the secondary in its own column, one step behind the primary in the rotation, so each person is secondary the week before they are primary.
Can I import the schedule into Google Calendar or Outlook?
Yes. The generator writes an .ics file with one event per shift, titled with the primary's name, in your time zone. Import it once into Google Calendar or Outlook, and every shift is on the calendar of the people who hold it.
On-call schedule template: the table, the calendar file, and the rules | OrgOrg