On-Call Rotations

An on-call rotation rotates responsibility across the members of a Team Group on a schedule you define. It answers the question: "Right now, who should we call?"

Without a rotation, a flow that targets a group notifies everyone in that group. With a rotation, the flow notifies whoever is currently on-call β€” one person β€” and escalates through the rotation order if that person doesn't acknowledge.

When you want a rotation

  • You have a team that takes turns being the first responder (e.g. weekly support pager).
  • You want vacation coverage to be a one-click swap, not a permanent reshuffle of who's in the group.
  • You want notifications to find one person quickly instead of pinging the whole team.

If you just want to notify the whole team every time, stick with a regular Team Group β€” you don't need a rotation.

Setup

  1. Make sure the Team Group you want to rotate already exists and has members.
  2. Open On-Call Rotations and click New Rotation.
  3. Fill out the form:
    • Name β€” what flows see in the recipient picker (e.g. "Database Weekly Pager").
    • Team Group β€” which group's members rotate.
    • Timezone β€” the timezone that the handoff time and start date are interpreted in. Pick the team's primary timezone, not yours.
    • Rotation type β€” Daily, Weekly, Bi-weekly, Monthly, or a custom number of days.
    • Handoff time β€” when each shift ends and the next begins (e.g. Mondays at 09:00 ET).
    • Start date β€” the day the rotation cycle anchors against. Past dates are fine; the math wraps correctly.
  4. Hit Create Rotation. The preview at the bottom shows the next eight shifts so you can sanity-check it.

Using a rotation in a flow

In the flow builder's Recipients step, the picker now shows three buckets:

  • πŸ—“οΈ On-Call Rotations β€” notify whoever is currently on-call
  • πŸ‘₯ Team Groups β€” notify everyone in the group at once
  • πŸ‘€ Individual Users β€” notify one specific person

Pick the rotation from the first bucket. At delivery time, JAMS IMES resolves "currently on-call" by looking at the rotation's schedule (and any active overrides).

If no one acknowledges within the flow's escalation window, JAMS IMES continues round-robin through the rest of the rotation members.

Schedule overrides

Real life happens β€” someone goes on vacation, calls in sick, swaps shifts. Schedule Overrides let you say "for this window, this person covers instead."

Open the rotation, click Schedule Override, and pick:

  • Who is covering (can be anyone in your tenant, not just members of the rotation's group)
  • The from/to datetime
  • An optional reason (for the audit log and other admins)

Overrides win over the rotation order for the entire window you specified. The timeline view shows them with a gold outline so they stand out.

To remove an override, find it in the Overrides list under the timeline and click Remove β€” the rotation order resumes immediately for that window.

Timeline and calendar views

The detail view has two ways to read the schedule:

  • Timeline β€” horizontal bars per day, color-coded per user. Best for "who's on this week?"
  • Calendar β€” monthly grid. Best for spotting clashes with planned PTO or holidays.

Use the Next 2 / 4 / 8 / 12 weeks dropdown to control how far ahead you want to see.

What this enables next

Once you have one or more on-call rotations, the natural next step is wiring escalation behavior between them β€” "if no one in the Support rotation responds in 10 minutes, page the Manager rotation." That's what Escalation Policies are for.