Schedule Concepts

Components of an On-Call Schedule

There are 3 parts that are key in configuring a schedule:

  1. Users: Who is on-call for this schedule?
  2. Rotation Type: When do your users rotate shifts?
  3. Effective Date for Change: When should the rotation you specified start?

To get started, navigate to Configuration → Schedules. If making a new schedule, click on New On-Call Schedule. If editing an existing schedule locate the schedule you want to edit, click the gear icon, and select Edit.

Note

Any changes to the schedule apply to present and future dates or times only. Edits will not apply to schedules retroactively. If you want to revert a schedule to a previous state, it is recommended that you refer instead to this article.

Users

In step 1 of the schedule can add or delete users from your schedule as needed. Users will move through the rotation in the top-to-bottom order they are listed in. If they are in the wrong rotation order, you can also drag and drop users into a different order.

Rotation Type

You can choose to rotate your users on a daily or weekly basis. You may also want to create a more custom rotation based on your needs. The rotation type will determine how often your users move through the rotation (every day, every week, etc.)

If your users aren't starting their shifts at the correct time, double check that the Handoff Time is correct. We generally recommend that the handoff time be at the beginning of the shift. In the following example, I want my shift to begin at 8am and end at 8am (24 hours) every day, so my handoff time would be 8:00:

Clicking the Restrict on-call shifts to specific times checkbox will allow you create shifts for only a few hours every day or specific days and times of the weeks.

If you restrict these to times-of-the-day, users will only be on call during the specified times every day (9am-5pm in the below example).

If you restrict these to times-of-the-week, users will only be on call during the specified times on the selected days of the week (9am-5pm on Monday, Wednesday, and Friday in the below example).

Effective Date for Change

If your on-call schedule is starting or rotating on the wrong date or time, then you will need to change your Effective Date for Change. The Effective Date for Change determines when you would like the rotation specified in the schedule to start.

The time field will match the Handoff Time from the Rotation section.

Create a Basic Weekly Schedule

The basic weekly schedule is the most common on-call schedule, and can be created in four steps.

  1. Add Users to your schedule, then select the rotation type.
  1. In layer steps 2 and 3, set your schedule start date and time. The setting you choose will determine the date and time that handoff occurs. The Handoff Time is the date and time when the user's on-call duties are handed off to the next user in the rotation for that layer.
  1. Click Create schedule and you're done!

Nobody is On-Call

It is possible to have a schedule with gaps where no one is on-call during certain times. If no one is on-call at a certain escalation level, the incident will immediately escalate to the next level of the escalation policy. If no one is on-call on the entire escalation policy, an incident will not be created.

If you try to create a new incident in the web UI on a service where no one is on-call, you will get an error message that the Incident cannot be created. Any trigger events sent to an integration where no one is on-call will not trigger an incident.

If you want an incident to be created, but you do not want anyone to be notified or you do not want noisy notifications for an incident, this can be accomplished by setting up support hours on your service using low-urgency Notification Rules.

Scheduling Gaps

This topic describes how to create an on-call schedule with regular gaps in coverage. Most commonly, these schedules are used for coverage after business hours.

When setting up an after-hours schedule, special attention must be paid to setting the schedule starting point. In the example below, the schedule must cover Friday at 17:00 through Monday at 09:00, and 17:00 until 09:00 the rest of the week. In this case, Friday at 17:00 is a good starting point.

To set up the restrictions for this schedule:

  1. Go to Configuration → Schedules.
  2. Click the schedule to edit and click Edit this Schedule.
  3. Select the Rotation type from the drop-down menu.
  4. Click on the Restrict on-call shifts to specific times checkbox.
  5. Select Restrict on-call duty to specific times-of-the-week.
  6. Select the correct days and start times from the drop-down menu.
  1. Click Save.

The completed weekly schedule has gaps (meaning that nobody is on-call) from 09:00 to 17:00 Monday through Friday.

Note

When no one is on-call, PagerDuty will not trigger any incidents, even if we receive a trigger event.

Scheduling Layers

A schedule layer is comprised of a group of people who will rotate on-call responsibilities through the same shift. In a basic weekly schedule, you create a single layer where each member is on-call for one week, with a set day and time for transferring on-call responsibility.

PagerDuty’s calendar enables you to create multiple layers for one schedule. This feature can be useful for international companies wishing to create a follow-the-sun schedule, where each time zone can be grouped as a layer.

When a schedule has multiple layers, the last layer created (the bottom layer on the schedule creation page) has precedence over the previous layer. This is illustrated in the example below.

Layers are also very commonly used for different weekday and weekend rotations. The example below has three separate layers. Layer 1 and Layer 2 are different weekday rotations and the bottom layer (Layer 3) is the weekend rotation.

End-Dating a Schedule Layer

If you would like to permanently delete a specific Layer within an on-call schedule, you can end-date that layer.

To end-date a schedule layer:

  1. Go to Configuration → Schedules, then click on the schedule you want to edit.
  2. Click Edit this Schedule.
  3. Click X on the top right corner of the schedule layer you want to delete.
  1. In the Schedule Layer Removal window that appears, enter a date and time that you want to remove the schedule layer and click Remove Layer.
  1. Click Save Changes.
  2. If you create an end-date for a schedule layer, you can return to the schedule and either undo or edit the end-date. Click to edit the on-call schedule so that you can edit or undo the end-date.

Set up Restrictions for On-Call Shifts

PagerDuty's calendar will automatically distribute on-call shifts evenly between layer members based on the rotation type and the selected starting point. Adding restrictions to a layer creates limitations on the times or days to which the schedule applies. By default, during a shift each person is on on-call duty continuously (24 hours a day, 7 days a week). However, you can restrict the on-call duty by adding restrictions to your on call schedule.

To add restrictions to a schedule:

  1. Go to the Configuration → Schedules.
  2. Click on the schedule to edit, then Edit this Schedule.
  3. Select the Restrict on-call shifts to specific times checkbox to limit on-call duty to specific hours in the day.
  4. Select Restrict on-call duty to specific times-of-the-day or Restrict on-call duty to specific times-of-the-week.
  5. Set the from and to time and, if necessary, the day of the week, to restrict the on-call schedule to only apply during that time.

In the example below, we restricted the on-call user to be on call from 19:00-07:00 every weekday.

Note

Restricting on-call duty to specific dates and times creates gaps in schedule coverage. These gaps can remain unfilled, as with after-hours schedules. The gaps can also be filled with other layers, as in follow-the-sun or weekend/weekday schedules. Once the restrictions are set, the final schedule will show that the user is only on call from 19:00-07:00 every weekday. No one is on call from 07:00-19:00 or at any time during the weekend unless a second layer is created.

Set up Rotation Types

Rotation Types determine how frequently the shifts on a layer rotate to the next responder. Rotation types can be set as daily, weekly, or custom.

To set up the rotation type for your on-call schedule:

  1. Go to Configuration → Schedules.
  2. Click New On-Call Schedule to create a new schedule, or edit an existing on-call schedule.
  3. In Layer 1, go to Step 2 (Set up an on-call rotation) and select a Rotation Type.
  1. If the rotation type is Custom, enter the Shift Length and select hours, days, or weeks.

Refer to the Final Schedule section at the bottom of the page for a preview of what the schedule will look like after saving.

By default, a responder will be on-call for the entire length of time determined by the Rotation Type. If you'd only like them to be on-call for for specific times during the day or week (i.e. after hours), please see the article on Setting Up Restrictions.

To set up when the rotation switches to the next responder, please make an appropriate Handoff time selection.

Schedule Concepts