Omni-Channel is Service Cloud's routing engine. When configured correctly, it automatically assigns incoming cases, chats, and calls to the right agent based on skills, availability, and capacity. When configured incorrectly — or not configured at all — cases sit in a general queue until someone manually grabs one, your best agents cherry-pick easy cases, and response times are unpredictable.
Most orgs we work with have Service Cloud but haven't turned on Omni-Channel. They're using basic queues with manual assignment, which means their routing is essentially "whoever notices the case first." That's not a system — that's hope.
Before You Start
Confirm: you have Service Cloud Enterprise, Unlimited, or Performance edition. Omni-Channel is included but needs to be enabled. You need System Administrator access.
Also decide upfront: are you routing Cases only, or also Live Chat and Phone? Start with Cases only and add other channels later.
Step 1: Enable Omni-Channel
Setup → Omni-Channel Settings. Check "Enable Omni-Channel." Save. That's it for the global setting — but enabling it doesn't mean it's routing anything yet.
Step 2: Create Service Channels
Service Channels define what type of work gets routed. Setup → Service Channels → New.
- Name: "Cases"
- Salesforce Object: Case
- Save
If you also route Live Chat, create a second channel for Chat. Same for Phone (if using CTI).
Step 3: Create Routing Configurations
Routing configurations define HOW work gets distributed to agents. Setup → Routing Configurations → New.
- Name: "Standard Case Routing"
- Routing Priority: 1 (lower number = higher priority)
- Routing Model: Most Available (assigns to the agent with the most remaining capacity) or Least Active (assigns to the agent who's been idle longest). Most Available is generally better.
- Capacity: Set the Units of Capacity — how much capacity each case consumes. Default is 1. If you want agents handling max 10 cases at a time, set each agent's total capacity to 10.
Step 4: Create Queues with Routing
Setup → Queues → New. Create one queue per team or skill area.
- Name: e.g., "Billing Support" or "Technical Support"
- Supported Objects: Case
- Routing Configuration: select the one you just created
- Queue Members: add the agents who handle this type of case
Common structure: General Support (catch-all), Billing Support, Technical Support, Escalation (for SLA-critical cases).
Step 5: Create Assignment Rules (Optional but Recommended)
Assignment Rules automatically route new cases to the right queue based on criteria. Setup → Case Assignment Rules → New.
Add Rule Entries:
- Entry 1: Case Reason = "Billing" → assign to "Billing Support" queue
- Entry 2: Case Reason = "Technical Issue" → assign to "Technical Support" queue
- Entry 3: Default → assign to "General Support" queue
Step 6: Set Agent Capacity
Setup → Presence Configurations → New.
- Name: "Standard Agent"
- Capacity: 10 (max cases at once — adjust based on your team's throughput)
- Assign to the relevant profiles or permission sets
Capacity guidelines: Email cases: 8–12 per agent. Live chat: 3–4 simultaneous conversations. Phone: 1.
Step 7: Add Omni-Channel to the Service Console
Setup → App Manager → find your Service Console app → Edit → Utility Items → Add "Omni-Channel." Save.
This is the most common point of failure. If agents don't log into Omni-Channel (or forget to set themselves as Available), they don't receive routed cases. Make Omni-Channel login part of the daily routine.
Step 8: Skills-Based Routing (Advanced)
Setup → Omni-Channel Settings → Enable Skills-Based Routing. Then:
- Create Skills: Setup → Skills → New. Examples: "Billing Expert," "API Troubleshooting," "Enterprise Tier," "Spanish Language."
- Assign Skills to Agents: Assign relevant skills to each agent's user record or through Permission Sets.
- Create Skill Requirements on cases: Use a Flow to set skill requirements based on case attributes.
The Mistakes That Kill Response Time
- Single general queue for everything. Billing questions, technical issues, and account changes all in one queue = chaos.
- Agents cherry-picking easy cases. Omni-Channel's push routing eliminates this — the system assigns the next case, agents don't choose.
- Capacity set too high. Start low (8–10 for email), measure actual throughput, then adjust.
- Not accounting for agent schedules. If agents forget to go "Offline" at end of day, cases route to them at 11pm.
- No triage for complex cases. Add a "Triage" status and a triage queue staffed by senior agents who set priority and route to the right team.