Alert delays & escalation ladders
Not every contact should hear about a Down the instant it happens. Escalation lets you delay a contact’s alert and, for a longer outage, bring in further contacts only if the problem persists.
What it is and when to use it
Section titled “What it is and when to use it”Give your fastest-reacting contact (a team chat channel, an on-call phone) no delay, and give slower or more disruptive channels (a manager’s phone call) a delay - so only an outage that’s actually serious enough to matter reaches them. This turns a flat list of contacts into a ladder that escalates on its own.
Settings reference
Section titled “Settings reference”| Setting (UI label) | API field (v2) | Type / allowed values | Default | Plan limits | What it does for you |
|---|---|---|---|---|---|
| Alert delay | alertDelay (on the contact) |
Minutes - one of exactly ten values: 0, 3, 5, 15, 30, 60, 180, 360, 720, 1440 |
0 (instant) |
- | How long a confirmed Down must persist, continuously, before this contact is notified |
The ten values read as: instant, 3 minutes, 5 minutes, 15 minutes, 30 minutes, 1 hour, 3 hours, 6 hours, 12
hours, and 24 hours. This is a fixed, closed list - it’s not a slider with arbitrary minutes; sending any
other number is refused with 422 invalid_alert_delay (the legacy door’s equivalent is WrongAlertDelay).
There’s no value between 30 minutes and 1 hour, or above 24 hours.
How a delay works
Section titled “How a delay works”Each contact has its own alert delay - it lives on the contact, not on the subscription or the monitor, so the same behavior applies everywhere that contact is subscribed:
- Contacts with a delay of
0are notified the moment a Down is confirmed. - A contact with a delay only gets notified once the outage has lasted that long, continuously. If the monitor recovers before the delay elapses, that contact never hears about the Down at all - which is the point: a delay filters out outages too short to matter to that contact.
Building an escalation ladder
Section titled “Building an escalation ladder”Give contacts increasing delays, chosen from the ten allowed values, to build a ladder - for example:
| Tier | Contact | Delay |
|---|---|---|
| 1 | Team Slack channel | Instant (0) |
| 2 | On-call engineer (SMS) | 5 minutes |
| 3 | Engineering manager (voice call) | 30 minutes |
A short blip only reaches tier 1. An outage that drags on pulls in tier 2, then tier 3 - each later tier is a sign the problem is getting more serious.
Repeat alerts while it’s still down
Section titled “Repeat alerts while it’s still down”Combine a delay with a still-down (repeatedly down) subscription to have a contact re-notified at intervals - roughly once per monitoring interval - for as long as the outage continues, instead of a single Down alert followed by silence. The alert delay only gates the first Down alert to that contact; it does not throttle how often still-down repeats afterward.
How recovery is handled
Section titled “How recovery is handled”When the monitor comes back up, HostTracker sends the Up alert only to the tiers that had already elapsed - that is, contacts that were actually notified of the Down. A tier whose delay never elapsed (because the outage was too short to reach it) never received the Down alert, so it isn’t sent the Up alert either. This keeps the “how bad did this get” story consistent for every contact: you only hear the resolution for problems you were told about.
Set it up in the app
Section titled “Set it up in the app”- Open the contact and expand Main Settings.
- Drag the Alert delay slider - the track is marked at 5 minutes, 30 minutes and 3 hours, with instant at one end and 24 hours at the other.
- Save.
Do it with the API or MCP
Section titled “Do it with the API or MCP”PATCH /contact/{id}{ "alertDelay": 30 }MCP: update_contact(id, alertDelay=30), or set it at creation with create_contact(..., alertDelay=180).
There’s no separate escalation-ladder resource to create - a ladder is just several contacts, each with its own
alertDelay, subscribed to the same monitor.
Limits and gotchas
Section titled “Limits and gotchas”- Sending a value outside the ten-item ladder is refused, not rounded - there is no 45-minute or 2-hour option; pick the nearest allowed value.
- A contact’s delay applies per subscription implicitly - since the delay lives on the contact, you can’t give the same contact a different delay for two different monitors. Create a second contact (same address, different delay) if you need that.
- Active hours and alert delay are independent and both apply: a contact outside its active window still won’t receive the alert even once its delay has elapsed - see Active hours.

