A Case Assignment Rule auto-routes incoming Cases to the right user or queue based on criteria you define — region, product, severity, channel, account tier. It’s the standard Service Cloud routing layer that runs on Case create or update.
How it works
- One active Case Assignment Rule per org at a time
- Many rule entries ordered by priority
- Each entry has criteria + a destination (user or queue) + an optional email template
- The first entry whose criteria match wins
Example rule
Case Assignment Rule: "Standard Routing"
Entry 1 (order 1):
Criteria: Case.Priority = 'High' AND Case.Account.Tier__c = 'Platinum'
Assigned: Premium Escalation Queue
Notification: "New Premium Case" email template
Entry 2 (order 2):
Criteria: Case.Origin = 'Phone'
Assigned: Phone Support Queue
Entry 3 (order 3):
Criteria: Case.Type = 'Technical'
Assigned: Tier 2 Tech Queue
Default (last):
Assigned: Tier 1 Triage Queue
When the rule fires
Case Assignment Rules fire on:
- Web-to-Case form submissions
- Email-to-Case auto-created cases
- API inserts that include the
AssignmentRuleHeader - Manual creates where the user ticks “Assign using active assignment rule”
- Apex inserts that set
Database.DMLOptions.assignmentRuleHeader.useDefaultRule = true
Important: assignment rules do not fire on every Case save by default — the caller has to opt in.
Queue vs User assignment
| Destination | Behaviour |
|---|---|
| User | Single named owner |
| Queue | Group ownership — any member can take the Case |
Most production setups route to queues, then layer Omni-Channel on top for skills-based assignment to individual agents.
How Omni-Channel fits in
Modern Service Cloud usually uses:
Case Created → Case Assignment Rule (routes to queue)
↓
Omni-Channel (pushes to available agent based on skills, capacity, presence)
↓
Agent works the case
The Assignment Rule does the coarse routing (which team handles this); Omni-Channel does the fine routing (which specific agent on that team takes it next).
Round-robin within a queue
The platform doesn’t natively round-robin within a queue. Options:
- Reps pull cases from the queue manually
- Omni-Channel with skills + capacity for true push-routing
- AppExchange tools (Distribution Engine, LeanData) for advanced round-robin
- Custom Flow / Apex that round-robins on the assignment trigger
Difference vs Lead Assignment Rule
Same mechanism, different object:
| Lead Assignment | Case Assignment | |
|---|---|---|
| Object | Lead | Case |
| Use case | New prospects (Sales) | Customer issues (Service) |
| Active at a time | 1 | 1 |
| Triggered by | Web-to-Lead, API, manual checkbox | Web-to-Case, Email-to-Case, API, manual checkbox |
Common follow-ups
- Multiple active rules? — No, one active Case Assignment Rule per org.
- Why didn’t my Apex insert fire the rule? — Apex needs
Database.DMLOptions.assignmentRuleHeader.useDefaultRule = trueset before insert. - Can the rule send an email to the new owner? — Yes, each rule entry can specify an email template.
Verified against: Salesforce Help — Case Assignment Rules. Last reviewed 2026-05-17 for Spring ‘26.