A Case Escalation Rule auto-escalates Cases that sit too long without resolution — by reassigning them, raising priority, notifying a manager, or running a workflow. It’s the safety net that catches SLA breaches before the customer does.
Anatomy
- One active escalation rule per org at a time
- Many rule entries ordered by priority — first match wins
- Each entry has criteria (filter or formula) plus one or more Escalation Actions
Each Escalation Action defines:
- Age over — how long since case created (or last modified) before it fires
- Business Hours respect — count only working hours, or wall-clock
- Auto-reassign — to a user / queue
- Notify — email a template to a recipient
- Notify case owner — yes/no
Example rule
Case Escalation Rule: "SLA Backstop"
Entry 1 (P1 cases):
Criteria: Case.Priority = 'High' AND Case.Status != 'Closed'
Action 1: Age 30 min → email Tier 2 Manager + notify owner
Action 2: Age 60 min → reassign to Escalation Queue + email VP Support
Entry 2 (Standard cases):
Criteria: Case.Status != 'Closed' AND Case.IsEscalated = false
Action: Age 8 business hours → set IsEscalated = true, email manager
Default: (none — covered by Entry 2)
How it fires
The escalation engine runs on a schedule in the background, evaluating open cases against active rules. It is not a real-time trigger like assignment rules — there can be a few-minute lag between hitting the criteria and the action firing.
Business Hours and Holidays
Each Escalation Action can pick Business Hours to count against:
- “Age 4 business hours” using India BH → pauses overnight and on Holidays
- “Age 30 minutes wall-clock” → counts real time, fires even on weekends
This matters for SLAs that promise “first response in 4 business hours” vs P1 incidents that need 24×7 response.
Stopping escalation
Once a Case meets exit criteria (status changes, priority drops, gets closed), the rule stops firing for it. You can also flag Case.IsEscalated = true from a rule action so subsequent rules can skip already-escalated cases.
Common escalation patterns
| Pattern | Rule shape |
|---|---|
| Tier escalation | After N hours unresolved → reassign from Tier 1 to Tier 2 queue |
| Manager notification | After M hours → email the case owner’s manager |
| Priority bump | Status = “On Hold” for too long → bump priority |
| VIP escalation | Tier = “Platinum” + age > 30 min → page support director |
| Pending customer reminder | Status = “Waiting on Customer” 5 days → auto-close |
Escalation vs Entitlements / Milestones
Both can drive SLA actions, with overlap. Common split:
- Entitlements / Milestones — drive the SLA timer and primary milestone actions (first response, resolution)
- Escalation Rules — drive the broader “case is stuck” remediation (reassignment, manager notice) and apply to cases without explicit entitlements
Modern orgs tend to favour Entitlement-based SLA enforcement; Escalation Rules act as a backstop and for non-entitled cases.
Common follow-ups
- How quickly does it fire? — Background scheduler — typically within a few minutes of the criteria being met.
- Can I escalate Cases in Apex? — Yes, but the standard Escalation Rule mechanism is preferred for transparency.
- Why didn’t my escalation fire? — Common causes: criteria didn’t match, Business Hours excluded the time window, rule isn’t active, Case Closed before the deadline.
Verified against: Salesforce Help — Case Escalation Rules. Last reviewed 2026-05-17 for Spring ‘26.