Routing Engine
The Routing Engine is the Salesforce mechanism that decides which agent receives a new case, lead, chat, message, or work item the moment it lands in the platform.
Definition
The Routing Engine is the Salesforce mechanism that decides which agent receives a new case, lead, chat, message, or work item the moment it lands in the platform. In modern Service Cloud, the engine is Omni-Channel, which considers agent capacity, skills, presence status, and configurable priority to push the right work to the right agent in real time. Older orgs still use assignment rules and queue-based routing, but the Omni-Channel engine is the canonical name when Salesforce documentation talks about the routing engine.
The Routing Engine sits between the inbound work item (a new case from Email-to-Case, a chat from Embedded Service, a voice call from Service Cloud Voice) and the agent. It reads the work item's attributes, evaluates the configured routing rules, picks an eligible agent, and pushes the work to that agent's Omni-Channel widget. The agent accepts or rejects within a configurable timeout. If they reject or the timeout expires, the engine re-routes to the next eligible agent. The whole loop happens in seconds and is the difference between a queue that piles up and a queue that drains.
How the Omni-Channel Routing Engine decides where every new case goes
Work item lifecycle
The routing engine treats every inbound case, chat, message, lead, or custom object as a Work Item. When the platform creates the work item (an incoming case from Email-to-Case, a chat session from Embedded Service, a voice call from Service Cloud Voice), the engine evaluates the routing configuration tied to that channel and either pushes the item directly to a qualified agent (push routing) or holds it in a queue for the agent to pick up (pull routing). The work item carries a Pending Service Routing record that tracks its status from creation through acceptance.
Skills-based routing
The most powerful routing engine feature is skills-based routing. The configuration says: route a Spanish-language Tier 2 billing case to an agent with Spanish skill, Tier 2 certification, and Billing competency. Salesforce evaluates the work item's required skills against each available agent's skill set and only pushes to a match. If no exact match exists, the engine can fall back to a relaxed skill set after a configurable wait (try Tier 2 first, fall back to Tier 1 after 5 minutes). Skills-based routing is what lets a multilingual, multi-product support operation function without manual triage.
Capacity and presence
Every agent has an Omni-Channel presence status (Available, Busy, Offline) and a configured capacity (typically 3 to 5 concurrent work items). The engine only routes to agents who are Available and have remaining capacity. When the agent's capacity fills, the engine routes to the next available agent. When the agent finishes a work item, capacity frees up and the engine routes the next pending item. This is what produces even workload distribution across the team without manual reassignment.
Routing configurations and priorities
Routing Configurations are the named rules that bundle a routing model (Most Available, Least Active, External), a skill set, a service channel, and a priority value. Multiple configurations can target the same queue with different priorities; the engine routes higher-priority work items first when capacity frees up. This is how a contact center handles SLA tiers: VIP cases get priority 1, standard cases get priority 5, the engine drains the queue accordingly.
Push vs pull routing
Push routing sends the work item directly to an agent's widget; the agent accepts and starts working. Pull routing surfaces the work item in a queue list view and lets the agent pick it up manually. Most enterprise contact centers use push routing because it produces predictable response times and tighter SLA adherence; pull routing works for low-volume specialty queues where the agent's choice of which case to handle next matters more than throughput.
External Routing and partner integrations
For customers running a third-party ACD (Automatic Call Distributor) or contact center platform, Salesforce supports External Routing. The engine in Salesforce passes the work item out to the partner system (Genesys, NICE inContact, Five9), which makes the agent-assignment decision and returns the assigned agent back to Salesforce. This is how customers with significant investment in external ACD platforms integrate Salesforce as the agent workspace without replacing their routing logic.
Routing analytics
The Omni-Channel Supervisor app exposes real-time routing metrics: queue depth, average wait time, agent utilization, skills coverage. Historical analytics flow into the Omni-Channel Reports for trending. Watching these metrics is what tells supervisors whether the routing configuration is producing the desired workload distribution or whether something needs tuning (more agents, different skill weights, different capacity). The metrics close the loop between configuration and operational outcome.
Configure the Omni-Channel Routing Engine for a Service Cloud queue
Set up the routing engine so new cases land with the right agent automatically: define skills, set capacity, create a routing configuration, and turn it on.
- Enable Omni-Channel
Setup, Omni-Channel Settings. Toggle Enable Omni-Channel. The engine becomes available for configuration.
- Define service channels
Setup, Service Channels. Add a channel for each work item type (Cases, Chats, Messaging, Voice). Each channel maps to one or more Salesforce objects.
- Set agent capacity
Setup, Presence Configurations. Define how many concurrent work items each agent can hold. Typical capacities are 3 to 5; voice typically caps at 1.
- Configure skills
Setup, Skills. Define the skills agents have (Spanish, Billing, Tier 2). Assign skills to each user.
- Create routing configurations
Setup, Routing Configurations. Create one per service channel with the routing model, required skills, and priority value.
- Link to queues and test
Associate the routing configuration to the destination queue. Generate a test case. Confirm it pushes to an eligible agent's Omni-Channel widget within seconds.
Most Available, Least Active, External. Most Available is the default; balances workload across the team.
Engine pushes work to an agent or surfaces it in a queue for manual pickup.
Skill set the engine matches against agent skill assignments.
Numeric priority that drives work item ordering when multiple configurations target the same queue.
- Omni-Channel respects agent presence. If no agent is Available, the work item sits in the queue. Misconfigured presence (everyone left Busy at end of day) produces a backlog overnight.
- Skills-based routing produces zero matches if the skill set on the work item does not align with any agent's skill assignments. Audit the skill graph regularly.
- External Routing requires partner system integration. The roundtrip latency can exceed the timeout window if not tuned, leading to work items that get re-routed before the partner system responds.
- Routing configuration changes do not affect in-flight work items. Items already pushed to an agent stay where they are; only new items use the updated configuration.
Trust & references
Cross-checked against the following references.
- Omni-Channel OverviewSalesforce Help
- Routing in Omni-ChannelSalesforce Help
- Skills-Based RoutingSalesforce Help
Straight from the source - Salesforce's reference material on Routing Engine.
- Omni-Channel DocumentationSalesforce Help
- External RoutingSalesforce Help
- Omni-Channel SupervisorSalesforce Help
Hands-on resources to go deeper on Routing Engine.
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Test your knowledge
Q1. What is the Routing Engine?
Q2. What does it consider?
Q3. How should you manage it?
Discussion
Loading discussion…