> For the complete documentation index, see [llms.txt](https://docs.pagerly.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pagerly.io/oncall-and-rotations/escalations.md).

# Escalations

This section covers what escalations are, how to create one, and how to send alerts to it

An escalation decides who is notified about an incident, in what order, and what happens when nobody responds. If the first person does not acknowledge in time, Pagerly notifies the next layer, and can start over until someone does.

You do not need an on-call rotation to use escalations. A layer can be a team's current on-call, a list of named people, or both.

{% hint style="info" %}
**No rotation?** Choose **People** for each layer, for example Alice in Layer 1 and Bob in Layer 2, and send your alerts to that escalation. No team is required.
{% endhint %}

### Create an Escalation

<details>

<summary>Step 1: Open Escalations</summary>

Open **My Teams → Escalations** in the left sidebar of the Pagerly dashboard. You'll see a table of your existing escalations. Click **+ Add Escalation** to create a new one.

![](https://296040630-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fu15pukNExHWOsjYrdZrh%2Fuploads%2Fgit-blob-7c2c147dfeedec1c954636cbea01d2e7aa616d27%2Fescalations-list-page.png?alt=media)

</details>

<details>

<summary>Step 2: Define the layers</summary>

A side panel opens with the **Create Escalation** form. You build the escalation one layer at a time.

**Escalation Name** — A descriptive name, usually the service it covers (e.g., `Payments`).

**Layer 1** (Required) — First choose who is notified:

* **People** — Named people, notified every time. No rotation needed.
* **A team** — Whoever is currently on call for that Pagerly team. Use **Also notify specific people** to add named people on top.

If your account has no teams yet, you are only asked for people.

Then set **If nobody acknowledges within** — how long the layer has before the escalation moves on (e.g., `10` `Minutes`).

**Add Layer 2**, **Add Layer 3** (Optional) — Each added layer asks the same two things: who to notify, and how long to wait. The wait on the last layer is optional and is 5 minutes when left blank. Use **Remove** to drop the last layer.

**If nobody acknowledges after the last layer** — What happens when the last layer times out:

* **Stop after the last layer** — Each layer is notified once.
* **Start again from Layer 1** — Go through the layers again, up to 9 more times.

**Slack Channel** (Optional) — Where incidents sent to this escalation are posted. If you leave it empty, they are posted in Layer 1's team channel. If Layer 1 has no team either, only the person being notified gets a direct message.

![](https://296040630-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fu15pukNExHWOsjYrdZrh%2Fuploads%2Fgit-blob-8b550f3f3701b374ac97f23ace19e3a4f1c32e74%2Fescalation-form-top.png?alt=media)

![](https://296040630-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fu15pukNExHWOsjYrdZrh%2Fuploads%2Fgit-blob-f60fd8425292e9878c5eb15414babc129cfb7017%2Fescalation-form-bottom.png?alt=media)

</details>

<details>

<summary>Step 3: Save Escalation</summary>

Click **Save Escalation** at the bottom of the form. The new escalation appears in the table, showing its layers, the wait between them, and whether it repeats.

You can edit or delete an escalation from the actions menu in the table. An escalation that an alert integration still sends to cannot be deleted until that integration is pointed somewhere else.

</details>

### Send Alerts to an Escalation

Alerts from your monitoring tools reach an escalation through an [incoming integration](/incidents-and-alerting/integrations/add-incoming-integration.md).

1. Go to **Alert Integrations** in the left sidebar and click **Add Alert Integration**.
2. Under **Send alerts to**, choose **An escalation** and select it.
3. Pick your tool (Datadog, Grafana, Sentry, and others) and add the integration.
4. Paste the webhook URL into your monitoring tool.

To move an existing integration to an escalation, open it and click the pencil next to **Sends Alerts To**. The webhook URL stays the same, so nothing changes in your monitoring tool.

{% hint style="info" %}
An integration that sends alerts to a **team** still uses an escalation when one starts with that team in Layer 1.
{% endhint %}

### How an Incident Moves Through the Layers

1. An alert opens an incident and notifies Layer 1: the team's on-call and the layer's people.
2. If nobody acknowledges within the layer's wait time, the next layer is notified.
3. After the last layer, the escalation stops, or starts again from Layer 1 if you chose to repeat.

Setting the incident to **In Progress** or **Resolved** stops the escalation at any point. You can do this from the incident message in Slack, the dashboard, the mobile app, or the phone call keypad.

People are notified by Slack message, phone call, SMS, email and mobile push, depending on what is set up for them. See [Oncall Paging and Phone Numbers](/incidents-and-alerting/oncall-paging-and-phone-numbers.md).

### Test It

Send a test alert from your monitoring tool to the integration's webhook URL, then leave the incident unacknowledged. Layer 2 should be notified after Layer 1's wait time. Use a short wait, such as 2 minutes, while testing.
