---
title: "Policies"
description: "An escalation policy is the ordered set of tiers that decides who gets paged when an incident opens, how many times, and when to move to the next tier."
---

An **escalation policy** belongs to exactly one [team](/monitoring/incident-management/teams) and decides what happens when one of that team's incidents opens: who gets paged, in what order, and when the engine gives up waiting and escalates further.

## Tiers

A policy is an ordered list of **tiers** (`tierOrder`). Tier 1 fires after its own `delayMinutes` from the incident opening (`0` means immediately); if nobody acknowledges in time, the engine advances to tier 2, then tier 3, and so on.

Each tier has:

| Field | Meaning |
|---|---|
| `delayMinutes` | How long to wait, from the previous tier firing, before this tier fires. |
| `targetType` | What this tier pages: `schedule` (whoever is currently on call for a given [schedule](/monitoring/incident-management/schedules)), `user` (a specific person), `team` (every member of a team), or `channel` (a notification channel, e.g. a Slack webhook). |
| `repeatCount` / `repeatIntervalMinutes` | How many times, and how often, this tier re-pages its target before escalating onward — a repeat is a second (or third) attempt at the *same* tier, not a new one. |
| `conditions` | An optional time-window restriction (recurring, wall-clock, IANA-zone-aware) — a tier can be scoped to fire only during specific hours or weekdays, evaluated at the moment it would fire. `null` means the tier always fires. |

## Defaults

A team can mark one policy `isDefault: true`. An incident created without an explicit policy — whether ingested from an alert source or created manually — resolves to the team's default policy. A team with no default policy configured pages nobody until one is set or a policy is chosen explicitly per incident.

## Acknowledgment timeout and reminders

Two policy-level settings shape what happens after paging starts:

- **`ackTimeoutMinutes`** — if set, an incident that was acknowledged but sees no further progress for this long resumes escalating from its current tier, rather than staying quiet indefinitely because someone tapped "acknowledge" and then walked away.
- **`reminderIntervalMinutes`** — if set, an unresolved incident gets a recurring reminder notification at this interval, independent of the tier chain, so a long-running incident doesn't fade from view.

Both are `null` (off) unless configured.

## Quota-aware paging

SMS and voice tiers are subject to the organization's shared [SMS/voice quota](/monitoring/incident-management/quota-and-overage). When that quota is exhausted, a paid tier is skipped in favor of the next tier immediately rather than waiting out its delay, and free channels (push, email) keep notifying regardless.
