This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Getting Started

Use these simple guides to quickly get underway with the most common tasks On-Call Optimizer solves.

Prerequisites

  • On-Call Optimizer is a SaaS application designed to work with any modern web browser. Off-line access is not supported.

  • For the best experience it is strongly recommended to integrate On-Call Optimizer with both an on-call product (e.g. PagerDuty) for each schedule and a calendar provider (e.g. Google) for each member

Authentication

All users are required to login via OIDC using one of the following identity providers. Username and password based login is not supported.

  • Google
  • Microsoft

Additional OIDC providers can be supported upon request.

Common Use-Cases

To begin experiencing the benefits of On-Call Optimizer start with one of these commonly used guides:

Alternatively, jump straight in by creating a new schedule from scratch.

What’s next

Learn more about the key concepts and operation of an On-Call Optimizer maintained on-call schedule.

1 - Organization set-up

Guidelines for setting up your organization’s home in On-Call Optimizer

Every user and schedule in On-Call Optimizer belongs to an organization. The metadata provided by the identity provider used to login supplies the details used to associate each user to the correct organization.

The primary domain name associated with an organization is shown as the organization’s name in On-Call Optimizer.

Step 1: Create an On-Call Optimizer organization

To create an On-Call Optimizer organization simply login with your chosen identity provider.

The first user to login to On-Call Optimizer from a particular organization will trigger the creation of the organization and will become the initial Organization Admin.

If you find you are logging into an already existing organization when you were expecting to be the first user to create it, you can view the users in the organization using the link in the profile menu in the top-right corner of the page. Existing organization admins will be listed first.

Once the organization has been created, the next step is to create a connection to your existing On-Call Product (e.g. Pagerduty).

Step 2: Connect to your existing on-call product

Connecting your On-Call product to On-Call Optimizer enables shift assignments generated by On-Call Optimizer to be exported into your existing schedules and speeds up the process of configuring schedules in On-Call Optimizer by importing the existing configuration and members for each schedule.

  1. Select On-Call Products from the side bar.
  2. Click the Create new connection button.
  3. Click on the logo of the On-Call Product you are connecting to.
  4. Enter your API Key in the provided field and click Continue

It may take a few moments for the connection to be established after which you’ll see a list of the scheduled available from the connected product displayed.

Step 3: Integrate your first schedule

Congratulations on getting your on-call product connected! Now you’re ready to integrate your first schedule with On-Call Optimizer.

This is an easy process. One that you’ll likely need to follow several times as more and more schedules begin to experience On-Call Optimizer’s benefits, so we’ve put the instructions into their own guide Integrate an existing schedule with On-Call Optimizer which you can bookmark for easy reference in future.

The process is quick to get started, but may take some time in the subsequent steps while you wait for each member to login to On-Call Optimizer and link their calendar.

Next Steps

To further integrate On-Call Optimizer into your organization we recommend continuing with the following guides:

2 - Integrate an existing schedule

Connect an existing on-call product schedule to On-Call Optimizer

Overview

For teams new to On-Call Optimizer, the following four steps provide a recommended path to integrating your existing schedule:

  1. Set-up the link between your existing schedule and an On-Call Optimizer schedule. As part of this step you will configure a future date for On-Call Optimizer to start assigning shifts from and generate invitations to members to join On-Call Optimizer.
  2. Each member has time to accept the invitation, link their calendar to On-Call Optimizer and add availability information.
  3. Once all members are set-up, the first assignment for the schedule can occur. You will have the opportunity manually review and confirm everything is working as expected.
  4. Finally, when the team is comfortable with how the schedule is operating, configure On-Call Optimizer to automatically confirm and export assignments on a rolling basis.

What you need

To successfully complete this guide, you will need:

  1. An existing on-call schedule in a connected on-call product.
  2. Schedule Admin: 5-10 minutes to complete the initial setup and invitation process in step 1, and additional time to review and confirm the assignment in step 3.
  3. Each team member: 5-10 minutes to link their calendar and set-up availability information during step 2.

Changes to your existing schedule

You will have full control over when and how each action On-Call Optimizer takes occurs. Your existing schedule will not change in any way until you explicitly initiate the export of the first assignment in step 3.

Notifications generated

  • You can choose to send new members an invitation to join On-Call Optimizer during step 1.
  • You (and any other schedule admins) will receive a notification when the first assignment is ready for review.
  • When you confirm the first assignment in step 3, each member assigned new shifts will receive a notification detailing their shifts.

Ready to begin?

To get started, select Step 1: Set-up schedule below.

If anything is unclear, or your would like some assistance feel free to reach out to help@oncall-optimizer.com.

2.1 - Step 1: Set-up schedule

Integration of a schedule begins with On-Call Optimizer importing key configuration details from the existing schedule.

Select existing schedule

  1. Click ‘On-Call Products’ in the menu and select the connection to the product where your existing schedule exists from the displayed list.
  1. From the list of all existing schedules, find the row corresponding to the schedule you want to integrate with On-Call Optimizer and click Create On-Call Optimizer Schedule in the right-most column.

Configure shift specifications

  1. On-Call Optimizer will show the time zone and shift configuration that have been detected from the source On-Call Product.

    If the listed shifts do not match your desired configuration you can alter them now (e.g. to add a secondary assignee). Refer to the schedule configuration docs for further information.

Once you are happy with the configuration shown, click Continue to proceed to Members.

Member list

  1. Review the list of members imported from the linked schedule. Select the appropiate role and assignability status for each member. For more information on these options, refer to the schedule members docs.
  1. Click Create to finish linking the schedule. On-Call Optimizer will send invitations to any members who do not yet have an On-Call Optimizer account unless you uncheck the Auto-send invitation emails option above the member list.

Next Steps

Your schedule is now linked. The confirmation page shows when the first assignment for the schedule will take place.

We’ll come back and look at how the first assignment will work in step 3, first, each member needs to link their calendar to On-Call Optimizer to provide their availability information.

2.2 - Step 2: Link calendars

After configuring the schedule it’s time to ensure each member of the schedule has a calendar linked to provide availability information for On-Call Optimizer to use when choosing which shifts to assign to them.

Member Status

The Members tab of the schedule provides you with a quick summary of the status of each member via the icons in the first two columns. The Invite? column shows whether an On-Call Optimizer account exists for the member. The calendar icon column shows whether availability information is available for the member.

Hover over each icon for an explanation of the status or refer to the schedule member docs.

Target State

To begin Step 3 each assignable member needs two green check marks in their row (as shown in the screenshot below), indicating that they have signed in to On-Call Optimizer and configured a calendar to provide availability information.

Members missing a green check mark should be instructed to follow the steps below.

Responding to an invitation

  • Invitations to join On-Call Optimizer will arrive at the specified email address of the member via an email.
  • Click the link containing an invitation code to respond, which will require logging in to On-Call Optimizer.
  • After logging in, click the button to accept the invitation.

Linking a calendar

  • Once the invitation has been accepted, you will be prompted to link a calendar.
  • The welcome screen will provide a list of available calendar providers.
  • Click the button for the desired provider to begin the connection process.

Authentication

After selecting the calendar provider an authorization flow will occur for Google and Outlook calendars, or a prompt for the ICS URL will appear and must be completed.

For more information on the authorization or configuration process please refer to the full calendar documentation.

Calendar Selection

When multiple calendars are available on the connection you will be asked to select which calendars On-Call Optimizer will process for availability events.

  1. For each calendar select whether or not On-Call Optimizer should process it for availability information.
  2. Click Save when done to confirm these choices.

Calendar Operation

On-Call Optimizer regularly scans linked calendars for new or changed availability information and uses the latest available information to assign new on-call shifts.

For more details on how to structure calendar events for On-Call Optimizer to recognize, please refer to the event filtering documentation.

Next Steps

When all members have configured their calendar connections you’re ready to proceed.

2.3 - Step 3: Confirm first assignment

Now that all members have a linked calendar, it’s time to generate the first shift assignment!

Background

On-Call Optimizer’s schedule lifecycle regularly assigns new shifts so that a configured number of days (the horizon) of shifts into the future are assigned.

The first assignment for a new schedule takes place 7 days after it is created (providing time for users to be invited and link their calendars first), and uses a default horizon of 30 days. This means the first shift assigned by On-Call Optimizer will start in around 37 days time (give or take a few days depending on your shift configuration).

Existing shifts from configured destination schedules will be imported into On-Call Optimizer as history to provide continuity until that date.

Configuring lifecycle parameters

To change the horizon, click the (wrench) icon to the right of the Next Shift Assignment heading found on the Assignments tab at any time (or on the confirmation page immediately following creation of a schedule).

After saving lifecycle parameters, the Next Shift Assignment section of the Assignments tab updates to show the date of assignment and shifts to be assigned based on the new configuration.

Changing the first assignment

  • To generate your first assignment immediately click the Trigger Now option on the Assignments tab.
  • To change the date or duration of the first assignment without affecting the configuration of future assignments, click the Create New Custom Assignment button on the Assignments tab.

In both cases, you can copy/paste the URL of the resulting assignment to other team members for review or discussion before confirming it if desired.

Assignment confirmation

Once an assignment has been generated (either automatically, or in response to an action from the above section) you will see the assignment review screen:

To view more details hover or click on any shift to show the corresponding shift popup.

Three actions are available for each pending assignment:

  • Confirm: This adds the shifts from the pending assignment into the schedule itself. When you confirm shifts into the schedule:
    • Each member with new shifts assigned receives a notification.
    • The shifts are queued for export to each configured destination.
  • Regenerate This regenerates the assignment using the most recently fetched availability information for each member of the schedule.
  • Abandon Deletes the assignment.

Exporting updated shifts

After the first assignment has been confirmed, an orange notification icon appears on the Destinations tab for the schedule to signal there are pending changes waiting for export to one or more destinations.

Click into the Destinations tab to see a count of shifts to be added or removed from each destination. Click View Diffs to see the specific changes to be made.

When you’re happy with what will be exported, click Export Now to begin updating the shifts in the connected on-call product.

Next Steps

The schedule is now fully operational. The final step enables On-Call Optimizer’s automatic lifecycle operations.

2.4 - Step 4: Enable automation

On-Call Optimizer is designed to work in the background, consistently and reliably keeping your on-call schedules up-to-date, flexible and fair without requiring any significant input or attention from you or other members of the schedule.

Lifecycle automation

The previous steps of this guide helped you manually confirm and export the first assignment generated by On-Call Optimizer for your schedule.

On-Call Optimizer will keep requiring manual confirmation and manual export of any updated shifts until you are ready to enable automatic operation.

Enable automatic destination export

Each configured destination can be individually enabled or disabled for automatic export.

To enable a destination, visit the Destinations tab for the schedule, and simply toggle the slider next to the Enabled? text to the right (on) for the appropriate destination.

Enable automatic confirmation of new assignments

To allow On-Call Optimizer to automatically confirm new assignments it creates for you click on the Assignments tab of the schedule and then select the (wrench) icon to the right of the Next Shift Assignment heading.

In the assignment settings page that is displayed, toggle off (to the left) the slider with the Require Manual Confirmation? label.

Congratulations

You’ve reached the end of this guide! Your on-call schedule is now fully configured and running in On-Call Optimizer.

If you have any questions which were not answered here, please let us know at help@oncall-optimizer.com.

3 - User onboarding

This guide is for members of an on-call schedule who have received an email invitation to share their calendar.

Before you start

  1. Locate the invitation email you received from the owner of your On-Call Schedule
    • The invitation email will have a sender of help@oncall-optimizer.com
    • The invitiation email will have a subject of Invitation from Owner Name, where Owner Name is the owner of your schedule.
  2. Check the Calendar product that you use is supported by On-Call Optimizer.

Intended results

Completing the steps in this guide will result in:

  1. Confirmation of your membership in the schedule you have been invited to join.
  2. One or more of your calendars configured to provide availability information for On-Call Optimizer to use when scheduling your on-call shifts.

Begin

To get started, select Accept the invitation below.

3.1 - Accept the invitation

In this step you will accept the invitation sent by the owner of your schedule. If you do not already have an On-Call Optimizer account this step will guide you through the process of creating one.

The invitation email which you have received will contain a link as shown in the below image.

Click on the link to be taken to On-Call Optimizer.

2. Login

To accept the invitation you must have an On-Call Optimizer account. If you have not used On-Call Optimizer before, you will see a screen similar to the one show below asking you to choose an authentication provider to use for login. Your account will be automatically created on the first time that you authenticate and login with this provider.

If you have previously used On-Call Optimizer and are already logged in you may not see the above screen at all. However if you do, simply log-in again by selecting the authentication provider that matches your account.

3. Click accept

Once you have successfully logged in to On-Call Optimizer, you will see a button allowing you to accept the invitation.

Accepting the invitation means you are agreeing to share any availability information imported from your calendars with the members of the schedule.

Next Steps

Once you have accepted the invitation, you will be taken to a welcome screen from which you can follow the next set of instructions to link your calendar to On-Call Optimizer.

Continue with: Connect a calendar

3.2 - Connect a Calendar

In this step we will establish a connection between On-Call Optimizer and the Calendar you wish to use to provide availability information.

1. Select the desired calendar product

  1. Click on the button in the row corresponding to the calendar product you wish to connect.
  2. Complete the authorization or configuration process that follows.

For full details of the authorization or configuration process please refer to full calendar documentation.

2. Choose calendars to use

When multiple calendars are available on the connection you will be asked to select which calendars On-Call Optimizer will process for availability events.

  1. For each calendar select whether or not On-Call Optimizer should process it for availability information.
  2. Click Save when done to confirm these choices.

Ready to Go!

Congratulations. You have successfully shared your calendar availability!

On-Call Optimizer will regularly scan your calendar for new or changed availability information and use the latest available information whenever assinging new on-call shifts.

For more details on how to structure events on your calendar that On-Call Optimizer can recognize, please refer to the event filtering section of the calendar documentation.

4 - 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.