# Escalation Policies and Schedules

Connect a schedule to a service via escalation policy

[On-call schedules](/incident-management/schedules/schedule-basics) represent your teams' on-call responsibilities in PagerDuty, while escalation policies allow you to connect services to on-call schedules, and they ensure that the right people are notified at the right time. Schedule members will receive incident notifications once the schedule is added to an escalation policy, and a service uses that escalation policy.

> **Availability:** Free accounts are limited to one schedule and one escalation policy. Other pricing plans do not have a set limit on the number of schedules and escalation policies.

## Connect a Schedule to a Service via Escalation Policy

To connect an on-call schedule to a service:

1. In the web app, go to **People**  →  **Escalation Policies**  →  click  next to your desired escalation policy _or_ [create a new escalation policy](/incident-management/schedules/escalation-policies#create-an-escalation-policy).
2. Add your schedule to the escalation policy at the appropriate level and click **Save**.
   - For more information about configuring escalation policies, see [Escalation Policy Basics](/incident-management/schedules/escalation-policies#create-an-escalation-policy).
3. Navigate to **Services**  →  **Service Directory**  →  select your desired service _or_ [create a new service](/incident-management/services/services-and-integrations#create-a-service).
4. Assign your escalation policy to the service:
   - If you are editing an existing service, read [Edit a Service's Escalation Policy](/incident-management/services/services-and-integrations#edit-a-services-escalation-policy).
   - If you are creating a new service, read [Create a Service](/incident-management/services/services-and-integrations#create-a-service).

### Deactivate Schedules via Escalation Policies

To pause or deactivate notifications from a service connected to a particular schedule, you can change the escalation policy that the service uses.

To change the escalation policy a service uses:

1. Navigate to **Services**  →  **Service Directory**.
2. Find the service that notifies the schedule you would like to pause or deactivate  →  select the **Settings** tab  →  click **Edit** in the **Assign and Notify** section.
3. In the **Assign to escalation policy** section, select an escalation policy that does not use the schedule you wish to pause or deactivate.
4. Click **Save Changes**.

![Assign a different escalation policy to a service](/images/kb/fb4c92881d5fbd7aa096b7cebf2d76974a87b85c140e1bfc5083b5b295b58b79-service-settings-edit-ep.webp)
*Assign a different escalation policy to a service*

> **Repeat for Other Services:** If any other services use the same escalation policy, you need to repeat this process for those services.

## Escalation Policy and Schedule Use Cases

Escalation policies and schedules can be configured in many ways to fit your team's needs. The following are examples of common methods of configuring these features together:

- [Notify a secondary responder when the primary does not respond](#notify-a-secondary-responder-when-the-primary-does-not-respond)
- [On-Call Shadowing](#on-call-shadowing)
- [Notify multiple users during specific times](#notify-multiple-users-during-specific-times)

### Notify a Secondary Responder When the Primary Does Not Respond

It is a common need to set up a backup, secondary responder in case the primary responder does not acknowledge an incident. To create primary and secondary on-call users:

- [Create schedules for the primary and secondary on-call levels](#create-schedules-for-the-primary-and-secondary-on-call-levels).
- [Add each schedule to the appropriate escalation level](#add-each-schedule-to-the-appropriate-escalation-level).

#### Create Schedules for the Primary and Secondary On-Call Levels

This example uses a **Primary** schedule and a **Secondary** schedule. Both schedules rotate weekly on Monday at 0900 and have multiple people in the rotation. The person from the **Primary** schedule is the first responder and the person from the **Secondary** schedule is the backup, in case the first responder does not take action on an incident.

![A screenshot of the PagerDuty web app showing the primary schedule](/images/kb/9f320fe657553a50d46238d58ab4722b965faba511236a6d3abf2ef256a19f91-primary-schedule.webp)
*Primary schedule*

<br />

![A screenshot of the PagerDuty web app showing the secondary schedule](/images/kb/7c770b885a3b5cd19cf7f5c6ad77ad612e6bffee7d5cefdab5017ff961c5a393-secondary-schedule.webp)
*Secondary schedule*

> **Schedule Layer Precedence:** See the section [Schedule Layer Precedence](#schedule-layer-precedence) for more information about why two schedules are required for a primary/secondary setup.

#### Add Each Schedule to the Appropriate Escalation Level

Once you have created on-call schedules to represent primary and secondary levels, you can add each schedule to an escalation policy.

In the following screenshot, the **Primary** schedule is the first escalation level and the **Secondary** schedule is the second escalation level. The expected behavior for this escalation policy is as follows:

- When an incident triggers, it will be immediately assigned to whoever is on call in the **Primary** schedule.
- The **Primary** schedule user has 30 minutes to take action on the incident (i.e., acknowledge, resolve, or reassign the incident).
- If the user on the **Primary** schedule does not take action on the incident within 30 minutes, the incident will escalate to the on-call user at the second escalation level.
- If the person on the **Secondary** schedule does not take action on the incident within 30 minutes, then the incident is reassigned and escalated to the person on the **Primary** schedule (**Repeats 3 times if no one acknowledges incidents**).

![A screenshot of the PagerDuty web app showing the Primary and Secondary schedules added to an escalation policy](/images/kb/43ed3a6dd4870d0569ec99b740b34ace1ea17a4c9219c0ce7ea458a3ad511693-primary-secondary-on-ep.webp)
*Primary and Secondary schedules added to an escalation policy*

Alternatively, if you would like _both_ your **Primary** and **Secondary** on-call users to be notified when an incident triggers, you can add both schedules to the same escalation level.

![A screenshot of the PagerDuty web app showing Primary and Secondary schedules at the same escalation level](/images/kb/20bceb3c164082bf9d98183c9f25b8c623f5fd35683041c40711a2b86f29f557-primary-secondary-same-level.webp)
*Primary and Secondary schedules at the same escalation level*

> **Tip:** You must have a minimum of five minutes between escalation levels if you have more than one person/schedule in an escalation level.

### On-Call Shadowing

A common practice for new hires is to have them shadow the primary on-call responder, so they can gain experience before taking on responsibility for a service. You can achieve this by creating a dedicated shadow schedule, and placing it alongside the primary on-call schedule on the escalation policy.

#### Create a Shadow Schedule with a Placeholder User

1. In the PagerDuty web app, navigate to **People**  →  **Schedules** and click **New Schedule**.
2. Enter a **Schedule Name** (for example, On-call Shadow), select a placeholder user in schedule **Layer 1**, and click **Save Schedule**.

#### Add the Shadow Schedule to Your Escalation Policy

3. Navigate to **People**  →  **Escalation Policies**.
4. Select your preferred escalation policy and click **Edit Escalation Policy**.
5. Add the schedule you created in the previous step to the first escalation level and click **Save**.

#### Add the Shadowing User to the Shadow Schedule

6. Add the shadowing user to the shadow schedule, either by [adding them to the rotation](/incident-management/schedules/edit-schedules#add-users-to-existing-schedules) or as an [override](/incident-management/schedules/edit-schedules#create-overrides) for the appropriate amount of time.

### Notify Multiple Users During Specific Times

In many cases, you have a group of people on call during business hours and a different group of people on call after business hours, or different groups of people on call at various times of the day. The intended use of an escalation policy is to notify one person at a time, but you may have situations when you want to notify multiple people at the same time.

To notify multiple users at the same time, but only during specific times, you want to:

- [Create individual on-call schedules for each person](#create-individual-on-call-schedules-for-each-person).
- [Add the schedules to the appropriate level of an escalation policy](#add-schedules-to-an-escalation-policy).

This example uses the following setup:

- User 1 and User 2 are on call during business hours, Monday through Friday 0800 – 1700, and should be notified at the same time.
- User 3 and User 4 on call after business hours, Monday through Friday 1700 – 0800, and should be notified at the same time.
- User 5 and User 6 are on call during the weekend, Friday 1700 – Monday 0800, and should be notified at the same time.

#### Create Individual On-Call Schedules for Each Person

The first step is to create an [on-call schedule](/incident-management/schedules/schedule-basics#create-a-schedule) for each user, reflecting their specific on-call times.

The following are examples for each of the three shifts. Here is what User 1's schedule would look like. User 1 is on call Monday through Friday from 0800 to 1700:

![A screenshot of the PagerDuty web app showing User 1's restricted weekday shifts](/images/kb/20fdc7a02c1a8e7fe43864b7d7806f26cebadd8243d977348693293a00a7201e-user-1-on-call.webp)
*User 1's restricted weekday shifts*

User 3 is on call during the week from 1700 to 0800:

![A screenshot of the PagerDuty web app showing User 3's restricted weekday shifts](/images/kb/2f5ac80b3c8dc760863fc95c603162cdc85e6678a17382e2aec46628755b1bd7-user-3-on-call.webp)
*User 3's restricted weekday shifts*

User 5 is on call over the weekend, from Friday 1700 to Monday 0800:

![A screenshot of the PagerDuty web app showing User 5's restricted weekend shift](/images/kb/3ebb273cc7e73e3a2c58de0da55c9c112b503ee93df25e45ea9b518e569abb47-user-5-on-call.webp)
*User 5's restricted weekend shift*

#### Add Schedules to an Escalation Policy

Once you have created a schedule for each user, you can add them to an escalation policy.

The following image shows all six schedules in the first level of the escalation policy. With this configuration, if an incident triggers Monday through Friday between 0800 and 1700, User 1 and User 2 will be notified and assigned to the incident, since they are the only users who are on call at that escalation level during those times.

If an incident triggers Monday through Friday 1700 and 0800, User 3 and User 4 will both be assigned to the incident and notified, since they are the only users who are on call at that escalation level during those times.

On the weekends, Friday 1700 to Monday 0800, only User 5 and User 6 will be assigned to incidents and notified.

![A screenshot of the PagerDuty web app showing Schedules added to an escalation policy](/images/kb/4007727fb5f70c2df1b346de5a7afae14c8fdd24205284481195a4652bed6c41-schedules_on_ep.webp)
*Schedules added to an escalation policy*

In this example, the escalation policy is set up so that if an incident is not acknowledged or resolved within 30 minutes, it will escalate to the team's manager, User 7.

## Schedule Layer Precedence

An important concept to grasp is that only _one user per schedule can be on call_. In other words, you cannot notify multiple users at once using a single schedule. With the goal of notifying multiple users at once, a natural first instinct would be to add multiple layers to a schedule — one layer for each on-call responder, for example. The way PagerDuty schedules work, however, is that the lowest layer on a schedule takes precedence over any others.

The following screenshot demonstrates what happens when multiple schedule layers are stacked on top of each other, i.e., Layer 3 takes precedence over Layers 1 and 2:

![A screenshot of the PagerDuty web app demonstrating Bottom schedule layer precedence](/images/kb/a9317aaaa30857873e446c9c3d1159fba32a6d3088470d96241f5abe1f522894-schedule-layer-precedence.webp)
*Bottom schedule layer precedence*

With this in mind, [adding multiple schedules and/or users to an escalation policy](/incident-management/schedules/escalation-policies#notify-multiple-users-at-once) is the only way to notify multiple users at once.
