# Escalation policies

### Escalation policy overview

An escalation policy is a custom set of rules for incident alerting, ideal for creating advanced incident alerting processes. It defines who will be alerted and in what order, continuing until the incident is acknowledged.

<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
  <iframe 
    style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" 
    src="https://www.youtube.com/embed/OOnkpVC6VnU" 
    title="YouTube video player" 
    frameborder="0" 
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 
    referrerpolicy="strict-origin-when-cross-origin" 
    allowfullscreen>
  </iframe>
</div>

## Creating an escalation policy

1. Navigate to **[Escalation policies](https://uptime.betterstack.com/team/0/policies)**.
2. Click **Create escalation policy**.
3. Name your escalation policy.
4. Configure the settings as outlined below.
5. Click **Create escalation policy**.

## Escalation policy settings

### Alerting
Choose who to alert, including options like:

- Specific team members
- Current on-call team
- Slack or Microsoft Teams integrations
- Zapier and Webhook integrations

### Severities
Severities are customizable and allow for preset alerting methods applicable across multiple escalation policies. Severities require at least one escalation policy, so create your policy first. To create a new severity:

- Navigate to **Escalation policies** → **Severities** tab.
- Click **Create severity**.

### Time-based rules
Specify conditions to stop the escalation policy or escalate to another policy at specific times.

![escalations_time_based_rules.png](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/e0e3b497-a64c-45e9-9c8e-3b6d02a5b700/md1x =688x487)

### Delay
Set a time delay using **Wait for [ ] minutes before escalating to**. The alerting flow will begin after the defined period.

Delay the escalation step until a specific time by clicking **... -> Wait until…**

![escalations_wait_until.png](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/833e11ff-c5dd-48ce-5d68-0e7b23f1e900/md2x =684x358)

### Metadata-based rules
Use metadata to define custom notification flows. This allows incidents to be routed based on metadata like severity or ownership, providing greater flexibility.

![escalations_metadata_rules.png](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/72e506a4-f629-4485-ed8f-21e0d6027200/md2x =690x504)

You can find more details [in the Metadata in escalation policies](https://betterstack.com/docs/uptime/incident-metadata/#use-metadata-in-escalation-policies).

### Instructions & todo list
Insert a custom text with a list of tasks as a comment into the incident timeline automatically. This allows you to share a specific set of instructions or links, providing immediate context for on-call.

![Instructions & todo list](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/6b87f28c-21b6-4057-bcc2-00a84072b600/md2x =2034x1716)

You can read more details in [the Runbooks guide](https://betterstack.com/docs/uptime/runbooks/).

### Multi-step policy
Add steps with the buttons below the last step. Each button adds a step of that type:

- **+ Escalate & alert** to alert another schedule, team member, or integration if the previous step is not acknowledged.
- **+ Instructions & todo list** to post instructions into the incident timeline.
- **+ Time-based rule** to stop the escalation or hand it over to another policy at specific times.
- **+ Metadata rule** to route the escalation based on incident metadata.
- **+ Resolve or remove** to mark the incident as resolved or permanently remove it.

Rearrange steps by dragging them to a new position. Remove a step by clicking the **x** in its top-right corner.

### Repeating policy
Set what happens when the policy runs out of steps at the bottom of the editor: **If no one acknowledges,** choose **don't repeat** or how many times to repeat, **then escalate to** a fallback policy.

## Assigning an escalation policy

Creating an escalation policy does not apply it on its own. You need to assign it to the monitors, heartbeats, or integrations whose incidents it should handle.

### Assign a policy to a monitor

1. Open the monitor and scroll to its on-call and escalation settings.
2. Select **Escalation policy**.
3. Choose the policy you created, or create a new one.
4. Save the monitor.

![Selecting an escalation policy on a monitor](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/6ff9340f-ec1f-49f1-68c7-ce6525a6b500/md1x =1448x832)

### Assign a policy to several monitors at once

Select the monitors you want in the monitors list, then choose **Configure on-call escalation** from the bulk actions and pick your policy.

![Configure on-call escalation in the monitors bulk-edit menu](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/e5fc7415-8d47-4f51-e44e-e04abf63ad00/public =2344x1486)

### Heartbeats and integrations

The same **Escalation policy** option is available when you edit heartbeats, incoming webhooks, and email integrations. Assign a policy there the same way you do for a monitor.

[info]
#### What happens without an escalation policy?

If you leave a monitor on **Notify the primary responder**, Better Stack uses a simple escalation. It notifies the current primary on-call by e-mail, escalates to the rest of the team if the incident is not acknowledged, and triggers all of your integrations. This is why integrations such as Slack still notify you even when no policy is selected.
[/info]