Skip to main content

What a policy is

An escalation policy decides what happens between an incident being raised and a human acknowledging it. It is an ordered chain of levels. Each level names who to notify and how long to wait for an acknowledgement before giving up on them and moving to the next one. If the chain runs out and the incident is still unacknowledged, the policy can repeat from the top a configurable number of times.

Levels

Each level has three things: A typical three-level policy:
Escalating the channel as well as the person is the point. Level 1 on Slack respects people’s attention during the day; by level 3 the incident has gone unacknowledged for half an hour and SMS is the right amount of rude.

Targets

A level can point at three kinds of target, and mix them freely:

A user

A specific person, named directly. Useful for a service owner who should always know, regardless of the rotation.

A schedule

An entire on-call schedule. WHAWIT resolves it at the moment of escalation, so it always reaches whoever is genuinely on call — including any active override.

An escalation team

A named group notified as a unit. Useful when a whole team should be pulled in at once rather than one person at a time.
Targeting a schedule rather than a person is almost always what you want. A policy that names individuals goes stale the moment someone changes teams; a policy that names a schedule stays correct as the rotation evolves.

Acknowledgement and timeouts

When an incident enters a level, WHAWIT notifies that level’s targets and starts a timer for the level’s timeout. Two things can happen:
  • Someone acknowledges — from the link in the notification. Escalation stops immediately.
  • The timeout expires — WHAWIT moves to the next level and notifies its targets. This is automatic; nobody has to be watching.
When the last level times out, the policy either repeats from level 1, if a repeat count is set and not yet exhausted, or the escalation ends.
Timeouts are the whole mechanism. A policy whose first level waits 60 minutes will let an incident sit for an hour before the secondary hears about it. Set them to how long you are genuinely willing to wait.

Which policy an incident uses

More than one policy can apply, so WHAWIT resolves them in order of specificity:
1

The agent's policy

A policy attached to the on-call agent that raised the incident wins. This is how a noisy low-severity check escalates differently from the checkout API. The agent’s card shows this policy in its Escalation panel.
2

The client's policy

Otherwise, a policy attached to the client the incident belongs to.
3

The organization default

Otherwise, the organization-wide default policy. Mark exactly one policy as the default so nothing is ever raised with no escalation path.
4

Derived from on-call rotations

If none of the above exist but the on-call agent has rotations configured, WHAWIT derives a chain from them so the incident still reaches someone.
Set an organization default first. It is the safety net that catches every incident nobody thought to configure a policy for.

Preview before you need it

A policy can be previewed: WHAWIT resolves it as if an incident had just fired and shows you exactly who would be notified at each level, right now, with the current rotations and overrides applied. This is the check that catches the mistakes worth catching — a schedule with a coverage gap, a level pointing at someone who left, an override you forgot was active. Run it after any change to a policy or the schedules it targets.

Next

Notifications

What the page contains and which channels it goes out on.

Migrating

Mapping your existing PagerDuty or Opsgenie escalation onto this model.