Ionhour Docs
On-Call

On-Call Schedules

Define who's on call and when, so incidents always reach the right person.

On-call schedules answer one question: who should be notified right now? Each schedule tracks one or more rotating groups of people, resolves who's currently covering, and highlights any stretch of time nobody is covering. Point an escalation policy at a schedule instead of a single person, and the right teammate is notified automatically — even as shifts change hands.

The Schedules List

The Schedules page shows every schedule in your workspace, who's on call right now, and how coverage is trending.

Schedules list showing currently on-call hero and schedule rows

At the top, a Currently On-Call panel lists the person covering each schedule right now, with a progress bar showing how far into their shift they are and how much time is left. From there you can jump to that person's on-call profile, create an override for their shift, view open incidents, or check coverage gaps.

Below that, every schedule appears as a row (or card on smaller screens) with:

  • Name and who's on call right now (with the time their shift ends)
  • Timezone and number of rotation layers
  • Participant avatars — everyone who takes a turn on this schedule
  • A coverage gap indicator if any stretch of the next 30 days is missing a covering person

Coverage gaps

If a schedule has a period with nobody covering it, a warning banner appears at the top of the page and a gap count shows on the affected schedule. Fix gaps by adding participants, adjusting rotation layers, or creating an override.

If you haven't created a schedule yet, you'll see a quick-start form instead — just give it a name and Ionhour creates it using your browser's timezone, ready for you to add rotations.

Creating a Schedule

Name the Schedule and Set a Timezone

Click Create Schedule. In the drawer that opens, give the schedule a name (e.g., "Primary On-Call") and choose the timezone that handoff times should be interpreted in. Optionally toggle whether the incoming on-call person gets notified when their shift starts.

Create schedule drawer, General section

Add a Rotation Layer

Move to the Rotations section. Every schedule needs at least one rotation layer — the repeating pattern that decides who's up next. Give the layer a name, then search for and add the people who should take turns. Drag participants to reorder them; they'll rotate in that order.

Configure the Handover

Choose when the shift changes hands and how many people should be on call at the same time (concurrent shifts, for when you want two or more people covering together). Then pick how often the shift rotates:

The shift hands off every day at the handover time you set.

The shift hands off once a week, on the day and time you choose — most teams use this so each person gets a full week before handing off.

Set a shift length in hours (e.g., 8 or 12) for tighter rotations.

If the handover time falls outside normal business hours, Ionhour flags it with a note — worth a second look, since a midnight handoff means the incoming person starts their shift without a chance to catch up during the day.

You can also restrict a layer to specific working hours and days instead of covering all day, every day — useful for a layer that only needs to cover business hours.

Add More Layers (Optional)

Click Add Layer to stack another rotation on top — for example, a business-hours layer plus a nights-and-weekends layer. You can duplicate an existing layer as a starting point, or delete a layer you no longer need.

Rotation layer tabs with participant list and handover settings

Save

Click Save Schedule. Ionhour checks the next 30 days for coverage gaps before saving. If it finds any, you'll see a summary of the affected windows with the option to go back and fix them or save anyway.

Create schedule GIF placeholder

Viewing a Schedule

Click into any schedule to see its detail page: who's on call right now, and a visual timeline of every shift.

Schedule detail page with timeline

The timeline shows each rotation layer as a row, with colored blocks marking who's covering each stretch of time. Click a shift to see exactly when it starts and ends; a red line marks the current time. Switch between 3-hour, 24-hour, 1-week, 2-week, and 1-month views, and use the arrows (or Today) to move through the calendar. Any uncovered stretch shows up as a red or orange gap overlay directly on the timeline.

Overrides — Swapping Who's On Call

Sometimes the rotation needs a one-off exception — someone's on vacation, or two teammates agree to swap shifts. Overrides let you assign a specific person to cover a specific window of time without touching the underlying rotation.

Open the Override Form

From a schedule's detail page, click Create override — or, from the edit drawer's Overrides section, click Add override.

Pick Who's Covering and When

Choose the team member who will be on call, then set the start and end date/time for the override window. Once saved, that person takes over for the entire window, regardless of who the regular rotation would have assigned.

Add override dialog with user, start, and end fields

Review or Remove Active Overrides

Active overrides for a schedule are listed in the drawer's Overrides section. Remove one at any time to hand the shift back to the regular rotation.

Create override GIF placeholder

Editing and Deleting Schedules

Use the row menu (or the Edit schedule button on the detail page) to reopen the drawer and change the name, timezone, rotation layers, or participants. Deleting a schedule removes it — make sure no escalation policy step still points to it first, or that step will have nobody to notify.

Next Steps