What is an escalation policy?
Escalation Policies define how Rootly notifies responders when an alert requires attention and what happens if that alert is not acknowledged in time. They are the backbone of on-call reliability—ensuring alerts reach a human, escalate predictably, and never fall through the cracks. An escalation policy answers three core questions:- Who should be notified first?
- What should happen if no one responds?
- How long should Rootly keep escalating before stopping?
Create an Escalation Policy
Escalation policies are created from the On-Call section of the web app. To create a new escalation policy:- Navigate to On-Call → Escalation Policies
- Click + Add Escalation Policy
- Enter an Escalation Policy Name (required) and an optional description
Step 1: Who Do We Notify?
This step defines who is initially responsible for responding when an alert is triggered. Rootly supports notifying:- Individual users
- On-call schedules
- Team members or team admins
- Slack channels (for visibility)
- Escalating to other Teams or Services
Paging Strategies
Each escalation level has a paging strategy that controls which pageable responders are notified and in what order when the level triggers. You can configure the strategy when adding targets to a level.Step 2: Add Escalation Steps
Escalation steps define what happens next if an alert is not acknowledged. Each step includes:- A delay (in minutes)
- One or more notification targets
Step 3: Configure Repeat Behavior
If an alert remains unacknowledged after all steps complete, you can choose to repeat the escalation policy. When enabled, Rootly restarts escalation from the beginning and continues until:- The alert is acknowledged, or
- The repeat limit is reached
Step 4: Save and Assign the Policy
Saving the policy does not activate it. Escalation policies only run once they are assigned to a Service or Team: when the Service or Team are paged, their assigned escalation policy will trigger.- Assign the escalation policy to a Team using the Owning team field.
- Note: Any admin of an Owning Team of an Escalation Policy will also inherit edit permissions for that Escalation Policy.
- Assign the escalation policy to a Service from the Service Configuration section of the dashboard.
Dynamic paths
Escalation policies can contain multiple paths, each with its own rules and steps, allowing you to set up unique paging logic for different scenarios. Dynamic Paths allow you to model scenarios such as:- Business hours vs after hours
- High vs low urgency alerts
- Deferring pages on weekends vs. weekdays
Escalation Paths
Build Dynamic Escalation Paths when you want to have different paging logic for different types of alerts: for example, you may want to page different schedules depending on the time of day, or different users depending on the alert’s urgency. Set up your Escalation Path by:- Give your path a detailed Name. Make sure to use a descriptive name: when the path is executed for an alert, the path name will show on the alert’s timeline.
- Add conditions for when the path should be executed. You can build conditions around alert details:
- Alert Urgency
- Alert Fields
- Services on the Alert
- Alert’s Payload (represented as a JSONPath).
- Add any time restrictions: time restrictions limit the times of day for when the path can execute. The path has a single time zone that applies to every time restriction on it — Rootly evaluates each window in that zone.
- Select if the path will be executed if
AnyorAllof the conditions are true: note that this logic applies to both the Conditions and Time Restrictions. - Set the notification type for the Path. See Audible vs. Quiet Notifications below to learn more about notification types.
- Click Done, and begin adding the paging logic following the same process as your Default Path.
Audible vs Quiet Notifications
Each Escalation Path is either Audible or Quiet:- Audible paths are designed to wake responders and trigger critical notifications
- Quiet paths respect Do Not Disturb and are used for lower-urgency alerts
Limits and Constraints
Escalation Paths have a few important limits:- Maximum escalation levels: 20 per path
- Maximum targets per level: 25
- Repeat count: 1–9 cycles
- Maximum delay per step: 10,080 minutes (1 week)
Deferral Paths
Build Deferral Paths when you want to hold off on paging until a later time. Rootly recommends using Deferral Paths for low-urgency alerts only, so your responders never miss an urgent page. When a Deferral Path is executed, it will hold off on triggering the Alert until the time window closes: once it closes, Rootly will trigger the alert and begin paging based on a matching Escalation Path. Set up your Deferral Path by:- Give your path a detailed Name. Make sure to use a descriptive name: when the path is executed for an alert, the path name will show on the alert’s timeline.
- Add conditions for the types of Alerts that the path can map to. You can build conditions around alert details:
- Alert Urgency
- Alert Fields
- Services on the Alert
- Alert’s Payload (represented as a JSONPath).
- Add a time interval: this is the window of time the path can match to an alert. Once the interval concludes, Rootly will trigger the alert.
- Note: All Deferral Paths must have a time interval.
- Note: Selecting All day covers the selected day from 12:00 AM to 12:00 AM — the window ends at midnight, not at the start of your next working day. For example, a weekend deferral set to All day on Saturday and Sunday closes at 12:00 AM on Monday: deferred alerts trigger at midnight, and alerts arriving between midnight and the start of business on Monday are not deferred. To hold alerts until Monday morning, add a Monday time block from 12:00 AM to your working start time (for example, 12:00 AM – 9:00 AM).
- Define the ‘After Deferral’ logic. Once the time interval lapses, this determines which Escalation Path gets triggered:
- Re-evaluate the alert: Rootly will review all Escalation Paths (in the priority order) and execute the first matching path.
- Choose path: Rootly will execute the defined path.
- Rootly recommends choosing a specific path if you do not want to follow your standard paging logic like the alert came in during regular hours. For example, you may want to defer low-urgency alerts on weekends, and then come Monday start paging on the alert as if it was high-urgency.
- Click Done. You can edit the path’s details at any time.
Frequently Asked Questions
Are all alerts deferred?
Are all alerts deferred?
Can deferred alerts be grouped?
Can deferred alerts be grouped?
Edit or Delete an Escalation Policy
To edit or delete a policy:- Navigate to On-Call → Escalation Policies
- Click the
…menu next to the policy - Select Edit or Delete
Best Practices
- Use short delays for high-severity alerts
- Assign policies to services whenever ownership is clear
- Avoid overly complex escalation trees
- Test policies with non-critical alerts before production use
- Use escalation paths to model time-based or urgency-based behavior
FAQs
What happens if no one acknowledges an alert?
What happens if no one acknowledges an alert?
Can escalation continue after acknowledgment?
Can escalation continue after acknowledgment?
Can one alert trigger multiple escalation policies?
Can one alert trigger multiple escalation policies?
Can I use the same Slack channel across multiple escalation policies?
Can I use the same Slack channel across multiple escalation policies?
Do escalation policies create incidents automatically?
Do escalation policies create incidents automatically?
What happens if no one is on call when an alert reaches a step?
What happens if no one is on call when an alert reaches a step?
- Build one Escalation Path with a working-hour rule (or a time restriction) that matches your business-hours coverage. Put the business-hours schedule as Step 1 and the 24/7 fallback schedule as Step 2.
- Build a second Escalation Path for the inverse window (no working-hour match) that goes straight to the 24/7 fallback as Step 1.
Can I export my escalation policies for backup or audit?
Can I export my escalation policies for backup or audit?
- API.
GET /v1/escalation_policiesreturns every policy on your account. Walk into each policy withGET /v1/escalation_policies/{id}/escalation_pathsandGET /v1/escalation_paths/{id}/escalation_levelsto capture the full structure including paths and per-step targets. JSON output is the most flexible source for backups, audits, or feeding into other tools. - Terraform. Use the Terraform provider with the
rootly_escalation_policy,rootly_escalation_path, androotly_escalation_levelresources. The Importing Existing Resources workflow pulls existing policies into Terraform state so they live in source control going forward.
What time zone do Slack alert timestamps use?
What time zone do Slack alert timestamps use?