Integrating many schedules

Guidance for large organizations with many schedules to integrate with On-Call Optimizer

Coordinating integration of schedules across many teams in an organization requires a structured program of work. Our recommended approach is as follows:

Preparation

  • Initiate vendor onboarding and security reviews for On-Call Optimizer with your procurement and security teams.
  • Determine how your users will authenticate to On-Call Optimizer and which calendar provider they will be using.
    • Are there any approval or allow-listing steps required to authenticate with these systems from a new application?
    • Supported authentication providers are described in the authentication reference.
    • The list of supported calendar providers can also be found in the calendar documentation.
  • Send an initial introduction to On-Call Optimizer to the organization.
Example introduction email
Hi team,

Next week we're beginning the introduction of On-Call Optimizer to improve the
flexibility of our on-call schedules and make it easy and hassle free to
organize swaps when your plans change.

On-Call Optimizer works by collecting availability information from your calendar,
such as Out of Office events or any other event where you've added a tag like
'no-oncall' or 'prefer-oncall' to the title or description.

On-Call Optimizer uses this availability information from each member of the team
to flexibly assign on-call shifts on a rolling basis - ensuring that on-call
commitments fit around your life, rather than life being disrupted by on-call.

The rollout will take place in a staged fashion over the next few months, and you'll
receive further detailed instructions and an onboarding guide when it's time to upgrade
your schedule.

For more information on On-Call Optimizer visit https://oncall-optimizer.com/

Phase 1: Create a schedule catalog

  • Build a catalog of schedules in-scope for integration with On-Call Optimizer.
  • From your existing on-call product, collect a list of all schedules in-use and their important properties:
    • Shift and escalation pattern (e.g. daily, weekly, business-hours only, shifts etc)
    • Roles required (e.g. single assignee, or primary/secondary assignees)
    • Number of people participating in the schedule
      • Do they belong to a single team?
      • Are the in a single time zone, or distributed across geographies?
      • Do all members have the same assignment criteria and availability?
    • Does the schedule depend on any other schedules, or the availability of other teams?

Phase 2: Pilot

From the schedule catalog, select one or two schedules that meet the following criteria:

  • Staffed by members of a single team, in a single time-zone.
  • Have between 3 - 8 members.
    • The precise size is not important, but needs to be small enough easily coordinate while large enough to benefit from the flexibility On-Call Optimizer provdies.
  • Use a shift pattern matching the first few simpler example configurations.
  • Do not have complex dependencies or rely on the schedules of other teams.

For each pilot schedule, work through the Integrate an existing schedule guide.

Phase 3: Simple schedules

  • Identify the remaining schedules in your catalog that meet the pilot criteria.
  • For each schedule, work through the Integrate an existing schedule guide.
  • Consider grouping schedules into batches using common targets for the date of the first On-Call Optimizer assigned shift to clarify communication and understanding of when changes in operation will occur.

Phase 4: Complex schedules

Schedules with more complex shift patterns, or requiring use of advanced features such as assignment groups are smoother to integrate once organizational experience and familiarity with On-Call Optimizer has grown.

  • Refer to the example configuration library for examples of how to configure nested schedules and manage teams with members in many time zones.
  • Create throw-away schedules and generate custom assignments to test and observe how different combinations of shift patterns, assignment groups and schedule nesting can be used to model a wide range of different schedule requirements.

Phase 5: Cross-team schedules

Finally, schedules where cross-schedule availability is required are best integrated last, once the schedules on which they depend have integrated and reached steady-state operation.

Tips for cross-schedule availability use:

  • Minimize the number of schedules providing availability information into any particular schedule.
  • In all cases, ensure that availability for any individual member is not being sourced from schedules with different actions.
    • For example: do not configure a cross-schedule availability block based on schedule A, and a cross-schedule preference based on schedule B if the same members are being assigned in both schedules since this risks conflicting availability information for a member being provided if they are assigned to shifts in both A and B at the same time.

Last updated May 23, 2025