# Edit Schedules

Add users, create overrides, or modify handoff times.

As individuals join and leave your on-call rotations, you must edit your schedules so that the correct people are on call and notified at the correct times.

> ****Create a Schedule**:** If you create a schedule for the first time, visit the [Schedule Basics](/incident-management/schedules/shift-based-schedules) article.

> ****User Permissions**:** You can add all individuals, except Limited and Full Stakeholders, to schedules.
>
> People with the following roles can add or remove [teams](/account-admin/teams) while editing:
>
> - Global Admin
> - Account Owner
>
> People with the following roles can make other edits to on-call schedules:
>
> - Users
> - Admins/Global Admins
> - Manager base roles and team roles
>   - People with a Manager Team role can manage only their team’s schedules.
> - Account Owner

## Add or Remove Members from an Existing Schedule

1. Navigate to **People**  →  **Schedules** and select the schedule to update.
2. On the rotation to modify, click **** and select **Edit**.
3. In the **Edit Rotation** modal, configure the following:

| Action/Field      | Description                                                                                                     |
| :---------------- | :-------------------------------------------------------------------------------------------------------------- |
| **Members Tab**   | Click this tab to manage rotation members.                                                                      |
| **Add members**   | Search for and select the members to add. Repeat this step until you add all required members.                  |
| **Sequence**      | Drag and drop names to adjust the sequence if needed. Members move through the rotation in top-to-bottom order. |
| **Remove Member** | Click the **** icon next to a member to remove them from the rotation.                                |

![Edit Rotation modal with a Members tab listing rotation members and a trash icon to remove one](/images/kb/a3d99f21863d1143980f3e2f61a060d556e512b3f1c165a2d012998d07b52bf2-update_rotation_1x.webp)
*Edit Rotation*

4. Click **Update Rotation**.
5. Click **Save Schedule**.

## Deciding Between an Override and a Custom Shift

To determine the best option, ask yourself:

> "Do you want to **replace** or **add** a responder?"

If **Replace**: Use an [**Override**](#create-an-override-in-the-web-app).
If **Add**: Use a [**Custom Shift**](#create-a-custom-shift).

### Use a Custom Shift When

- **Filling Empty Gaps**: You need coverage during a time when no rotations are active, such as a one-off emergency block during a holiday or extending coverage past a rotation's end date.
- **Adding Extra Support**: You want an additional person on call without removing the person already scheduled. A common example is adding a second responder to assist during a high-risk deployment.
- **Handling Irregular Windows**: You need to cover a specific maintenance window that does not align with regular rotation boundaries or has nothing to do with the standard rotation.
- **Expressing "Additive" Intent**: The goal is to add a person to the on-call set rather than replacing whoever is currently scheduled.

### Use an Override When

- **Swapping Responders**: You need to replace a specific member of a rotation who is unavailable (for example, Alice is sick, so Bob covers her specific shift).
- **Performing a Scoped Replacement**: You want to target a specific rotation or custom shift and change who is assigned to it for a set window of time.

> ****Sanity Check**:** - If removing the override leaves the schedule with the **correct** on-call person, **keep it as an override**.
> - If removing the override **leaves a gap**, you require **a custom shift**.

## Create an Override in the Web App

Overrides allow you to make one-time manual adjustments to on-call schedules. Use them when someone is unavailable due to illness, vacation, or when team members need to swap on-call shifts.

1. Navigate to **People**  →  **Schedules** and select the schedule to create the override.
2. Select a member within a rotation to override. You can create an override on any span of time on a schedule.

> ****Override Option Not Visible**:** If you click a member and do not see the **Override** option, the schedule is likely not finalized. To fix this, click **Save Schedule** and click the member again.

3. Click **+ Override**.

![Schedule rotation with a selected member and a plus Override button to add a one-time replacement](/images/kb/a34b33240dd9003498908335184465e119ce95a6edd218f659e817bb146cefa6-override_with_edit_rotation.webp)
*Create an Override*

4. In the **Create an Override** modal, select a member to cover the shift and click **Create Override**.
5. Click **Save Schedule**.

You can also create overrides in [My On-Call Shifts](/incident-management/schedules/my-on-call-shifts#create-overrides-on-my-on-call-shifts) or [via the API](/developer/api/reference/rest/schedules/create-schedule-override).

## Delete an Override in the Web App

1. Navigate to **People**  →  **Schedules** and select the schedule with the override to delete.
2. Click the override within a rotation. Overrides are clearly marked _(Override)_.
3. Click **Remove**.
4. Click **Save Schedule**.

![Override entry on a schedule marked (Override) with a Remove button](/images/kb/94b2c12040e5555a177f717935ba5dae0b680ae31c476c0fe45762d324ef673a-remove_override.webp)
*Remove an Override*

## Create an Open Schedule with Responder Sign-Ups

Open schedules allow responders to select their shifts.

1. Navigate to **People**  →  **Schedules** and click **+ Create Shift-Based Schedule**.
2. Configure your schedule details, then click **+ Create Rotation**. Create a rotation with configured days and times, but do not assign members to the rotation.
3. Create as many rotations as needed without assigning members.
4. Click **Save Schedule**.

Responders can now add themselves to the schedule and choose their rotation.

## Create a Custom Shift

Creating a one-off shift on top of an existing rotation allows you to handle temporary gaps or surge requirements without affecting the logic of your long-term recurring rotations.

1. Navigate to **People**  →  **Schedules** and select the schedule to create a shift.
2. Under the **Create Rotation** dropdown, click **Create Shift**.

![Create Rotation dropdown expanded with a Create Shift option](/images/kb/7be0f39a4e2bcdf80f083623c04ec8bfc62164b2eac68d210a867cb196f05f34-create_shift_button.webp)
*Create Shift Button*

3. In the **Create Shift** modal, enter the shift details. You can add a team member or leave the shift unassigned to keep it open for a team member to claim. Click **Create Shift**.

## Duplicate a Schedule

Copying an existing schedule to make a new one with the same members and settings is an easy way to create new schedules at scale.

There are two places to duplicate a schedule in the web app:

**Schedules List Page**

1. Navigate to **People**  →  **Schedules**.
2. Click **** next to the desired schedule and select **Duplicate**. This action creates a new schedule that copies all members and settings from the original schedule—except for the schedule name and team association.
3. On the next screen, configure the following fields and click **Save Schedule**:

| Field             | Value                              |
| :---------------- | :--------------------------------- |
| **Schedule Name** | Enter a new name for the schedule. |
| **Team**          | Select a team from the dropdown.   |

**Schedule Details Page**

1. Navigate to **People**  →  **Schedules** and click the name of the schedule to duplicate.
2. On the right side, click **Copy this Schedule**. This action creates a new schedule that copies all members and settings from the original schedule—except for the schedule name and team association.
3. On the next screen, configure the following fields and click **Save Schedule**:

| Field             | Value                              |
| :---------------- | :--------------------------------- |
| **Schedule Name** | Enter a new name for the schedule. |
| **Team**          | Select a team from the dropdown.   |

## Duplicate a Rotation

Copying a rotation is an easy way to ensure your settings transfer to another rotation when creating a schedule.

1. Navigate to **People**  →  **Schedules** and click the name of the desired schedule.
2. On the rotation to duplicate, click **** and select **Duplicate**.

![Rotation card overflow menu with a Duplicate option highlighted](/images/kb/ba2b5b20c6c99d369cf184951174dc09bc92d142fc0dfa29ec1943c7af22c0f2-duplicate_rotation.webp)
*Duplicate Rotation*

## Hide or Unhide a Rotation

To remove a rotation without deleting it from a schedule, you can hide the rotation.

1. Navigate to **People**  →  **Schedules** and select the desired schedule.
2. On the rotation to hide, click the **** icon.
3. Click the greyed-out icon again to unhide the rotation.

![Rotation row with an eye icon toggled to hide the rotation from the schedule](/images/kb/9c69270e04eb3ab94f51bc7f57706f215891f3f09e4bca59ad9d783cc942596c-hide_rotation.webp)
*Hide Rotation*

## Pause or Deactivate an On-Call Schedule

### Change the Escalation Policy for the Service

Visit the [Escalation Policies and Schedules](/incident-management/schedules/escalation-policies-and-schedules#deactivate-schedules-via-escalation-policies) article for instructions on how to change a service’s escalation policy. This ensures that incidents triggered for the service do not alert the schedule to deactivate.

### Remove a Schedule from a Team

Before you can remove a schedule from a team, note the following:

- If you manually added a schedule to a team via the instructions in [teams](/account-admin/teams#create-a-team), a person with a base role of Admin or higher can remove the schedule from the team.
- If you manually added an escalation policy with a schedule to a team via the instructions in [escalation-policies](/incident-management/schedules/escalation-policies#add-an-escalation-policy-to-a-team), you must first remove the escalation policy from the team via the instructions in [escalation-policies](/incident-management/schedules/escalation-policies#remove-an-escalation-policy-from-a-team) before removing the schedule.

To remove a schedule from a team:

1. Navigate to **People**  →  **Schedules** and select the desired schedule.
2. Click the **** icon beside the schedule name.
3. Under **Teams**, click the **X** to remove a team.
4. Click **Save Schedule**.

## End a Rotation

Schedule a rotation to end immediately or on a specific date for temporary coverage, such as holidays or short-term projects.

1. Navigate to **People**  →  **Schedules** and select the desired schedule.
2. On the rotation card, select the **** menu and click **End rotation**.
3. In the **End Rotation** modal, select an **End method** (either **End Immediately** or **A specific end time**) and click **End Rotation**.
4. Click **Save Schedule** to apply the changes.
