The smarter way to route leads in Salesforce.

Test it for free for 30 days or get in touch if you’d prefer to chat.

Talk to us
Free trial

Fancy giving Distribution Engine a try?

Have a play around for free, or get in touch if you’d prefer to chat.

Install in Production
Free trial

Skills-Based Routing in Salesforce: How to Match Cases and Leads to the Right Rep Every Time

Toms Krauklis
RevOps & Customer Success
September 9, 2026

Key takeaways:

🧠

‍Skills-based routing asks a better question than territory: not "whose patch is this?" but "who can actually handle this?" - matching the record's requirements against what each rep or agent can genuinely do.

πŸ“Š

‍Proficiency levels matter more than skill flags: "speaks German" and "handles German-language enterprise escalations" are not the same capability, and a binary yes/no forces you to pretend they are.

πŸͺ€

‍Over-specification is the failure mode nobody predicts: require four skills at high proficiency and you'll create records exactly one person can take. Every skill requirement needs a fallback ladder.

πŸ—‚οΈ

‍The matrix is a living document, not a setup task: people are hired, trained, promoted and lost. A skills matrix nobody owns is stale within two quarters and actively misrouting within three.

‍

‍

‍

‍

πŸ•³οΈ

‍Salesforce's native skills-based routing is built for work items, not Leads: Omni-Channel covers Cases and other routed work well. Applying the same skill logic to Lead assignment is where most orgs hit the wall.

‍

Territory routing asks where a record came from. Round robin asks whose turn it is. Both are reasonable, both are easy to build, and both share a blind spot: they say nothing at all about whether the person receiving the record can handle it.

‍

That's fine when your product is simple and your reps are interchangeable. It stops being fine the moment you have three product lines, four languages, an enterprise tier with a different sales motion, and a technical escalation path - at which point "whose turn is it?" starts producing assignments that waste everyone's time, most of all the customer's.

What is skills-based routing?

Skills-based routing is an assignment method that matches each record's requirements - product area, language, technical complexity, customer tier, industry, certification - against a defined set of capabilities held by each rep or agent, and routes only to people who meet the requirement, usually at or above a specified proficiency level.

‍

It's a capability filter applied before, not instead of, your distribution logic. Skills-based routing narrows the eligible pool; round robin, weighting or capacity rules then choose within it. Teams that treat skills as a replacement for distribution end up with their most-skilled people overloaded and everyone else idle.

Skills-based routing in Salesforce vs helpdesk platforms.

If you've used skills-based routing in Zendesk, Intercom or a contact-centre platform, the concept transfers directly but the scope doesn't. Helpdesk implementations are typically ticket-only and self-contained: skills, agents and routing live in one system. In Salesforce, skills-based routing runs through Omni-Channel and covers Cases and other routed work items well - but it sits inside a much larger object model, and it doesn't extend natively to Lead assignment. That asymmetry is the single most common surprise for teams arriving from a helpdesk background.

The skill types worth modelling.

Most orgs need three or four of these. Modelling all seven is how matrices become unmaintainable.

‍

Product or module. The most common and usually the most valuable. Which part of your product can this person actually support or sell?

‍

Language. Concrete, verifiable, and high-impact for both Cases and Leads. Also the dimension where proficiency levels earn their keep - conversational and business-fluent are meaningfully different.

‍

Industry or vertical. Matters where regulation or workflow differs sharply: healthcare, financial services, public sector. Doesn't matter much in horizontal SaaS, where it's often modelled out of habit rather than need.

‍

Technical depth. API and integration questions, data modelling, performance issues. Usually a two- or three-tier ladder rather than a flat skill.

‍

Customer tier or deal size. Enterprise motions differ from SMB motions in pace, process and stakeholder count. Treating tier as a skill is legitimate and often more accurate than treating it as a territory.

‍

Certification or compliance. Non-negotiable where it applies - regulated markets, security clearance, licensed products. These are hard constraints, not preferences, and should never be part of a fallback ladder.

‍

Seniority. Escalation handling, executive conversations, save calls. Useful as a routing input, though it overlaps heavily with technical depth in practice.

Proficiency levels, and why binary skills fail.

A yes/no skill flag forces a bad choice: set the bar low and route complex work to people who can't handle it, or set the bar high and shrink your eligible pool to the specialists. Proficiency levels dissolve that trade-off.

‍

A workable three-level model:

Level 1 - Working. Can handle routine records in this area. Acts as the default pool for standard records.

Level 2 - Proficient. Handles complex records independently. Required for complex or high-value records.

Level 3 - Expert. Escalation point, trains others. Reserved for escalations and edge cases.

‍

Then attach a minimum proficiency to the record rather than just a skill. A P1 case on your billing module might require billing at level 2; a routine query requires level 1. Same skill, different bar, dramatically different eligible pool.

‍

One refinement worth knowing about: skill dropping (Omni-Channel supports this) progressively relaxes requirements as a record waits. Start by requiring all three skills at level 2; after five minutes drop the least important requirement; after ten, drop to level 1. It converts a hard filter into a graceful degradation, which is exactly what you want when the alternative is a record sitting in a queue nobody is watching.

The over-specification trap.

This is the failure that catches nearly everyone, and it looks like diligence while it's happening.

‍

You model seven skill dimensions because all seven feel relevant. You attach four required skills to each record because precision seems good. And you have now created a routing requirement that, in a team of thirty, exactly two people satisfy - one of whom is on annual leave and the other of whom is at capacity. The record sits in the queue. Nobody is alerted, because as far as the system is concerned, routing is working correctly: it simply hasn't found a match yet.

‍

Three defences:

‍

  1. Model the minimum viable skill set. Three dimensions that genuinely change outcomes beat seven that feel thorough. Add dimensions only when you can point at records that were misrouted for want of them.
  2. Build a fallback ladder for every requirement. Ideal match β†’ acceptable match β†’ any qualified person β†’ general queue with escalation. Write the ladder down at the same time you write the requirement.
  3. Alert on non-match, not just on breach. A record that has failed to find any eligible owner for more than a defined window should raise an alert immediately. This is the single highest-value monitor in a skills-based system and it's almost never built.

Governing the matrix.

A skills matrix is a model of your team, and your team changes constantly. Left alone it decays in predictable ways: new starters have no skills and receive nothing, leavers keep skills and create phantom capacity in your routing calculations, people who've been trained up are still flagged at their old proficiency, and someone who covered a product line temporarily two years ago is still receiving that work.

‍

Four practices keep it honest:

‍

  • Name an owner. One person, usually in RevOps or service ops, accountable for the matrix. Shared ownership means no ownership.
  • Tie it to your joiners/movers/leavers process. Skill assignment on day one, skill removal on exit, proficiency review on promotion. If it isn't in the HR workflow it will be done retrospectively, if at all.
  • Review quarterly. Managers confirm their team's proficiency levels. Twenty minutes per manager, four times a year, and it prevents most of the decay.
  • Instrument the drift. Track match rate and fallback rate by skill. A skill whose fallback rate is climbing is telling you the people who hold it have left, changed role or hit capacity - usually before anyone notices in any other way.

Skills plus capacity plus availability.

Skills alone are not a routing decision; they're one of three filters, and using any one in isolation produces a specific pathology.

‍

Skills only β†’ your best people are permanently overloaded because they qualify for everything. Capacity only β†’ work goes to whoever is free, regardless of whether they can do it. Availability only β†’ work goes to whoever is at their desk, which is round robin with extra steps.

‍

The actual decision is: of the people who are qualified (skills), currently working (availability), and not already at their limit (capacity), who is next in the rotation (distribution)? Every one of those clauses is doing real work, and dropping any of them creates a routing system that fails in a way the others can't compensate for. Our guide to routing by availability covers the second clause in depth.

Building it in Salesforce.

For Cases and work items: Omni-Channel's skills-based routing is the native answer and it's genuinely capable - skills, proficiency, skill dropping and capacity all supported. The configuration spans several objects and setup areas, which makes it expressive and makes it a lot of surface to maintain, but it works.

‍

For Leads: this is the gap. Lead Assignment Rules evaluate lead fields and have no concept of a skill or a user attribute at all. Building skills-based lead routing natively means a Flow that queries user records, evaluates a skills model you've built yourself in custom objects, checks capacity you're also tracking yourself, and then assigns - and then maintaining that as your team, product and skill taxonomy all change. It is a substantial engineering commitment for something that is a configuration screen on the Case side.

‍

Distribution Engine applies the same skills model across both objects. Skills and proficiency levels are defined once and used in Lead routing and Case routing alike, combined with working hours, weighted capacity and standard distribution logic inside a single rule set - with fallback ladders, non-match alerting and an audit log showing which skill requirement sent each record where. For teams running both a sales motion and a service motion, maintaining one skills model rather than two is most of the value.

Measuring skills-based routing.

  • Skill match rate - percentage of records routed to an ideal match. Your headline number.
  • Fallback rate by level - how often you're dropping to acceptable, qualified, or general queue. A rising fallback rate at any level is an early warning of a coverage gap.
  • Non-match incidents - records that found no eligible owner. Should be near zero, and each one should be investigated rather than counted.
  • Reassignment rate - records that changed owner before first response. High reassignment despite a high match rate means your skill taxonomy doesn't describe what actually makes records difficult.
  • Resolution or conversion by match quality - the validation metric. If ideal matches don't outperform fallback matches, your skills model isn't measuring anything real, and you should simplify it.
  • Load concentration among experts - the percentage of records going to level 3. Climbing means your requirements are set too high or your training pipeline has stalled.

The bottom line: capability first, then fairness.

Skills-based routing works when it's treated as a filter rather than a whole system: narrow to the people who can genuinely handle the record, then let capacity, availability and fair distribution choose among them. Model the three or four dimensions that actually change outcomes, use proficiency levels instead of binary flags, build a fallback ladder behind every requirement, alert when nothing matches, and give the matrix a named owner who keeps it honest. Do that and every record reaches someone equipped to deal with it - which is, after all, the only reason to route anything.

Fancy giving Distribution Engine a try?

You can trial Distribution Engine for free, or get in touch if you'd prefer to chat.

Related articles

Frequently asked questions.

What is skills-based routing in Salesforce?

Skills-based routing matches each record's requirements - product area, language, technical complexity, customer tier or certification - against the capabilities held by each user, and routes only to people who meet the requirement at or above a specified proficiency. In Salesforce it's configured through Omni-Channel for Cases and other work items, using skills, proficiency levels and optional skill dropping.

Can you use skills-based routing for Salesforce Leads?

Not natively. Omni-Channel's skills-based routing is built for Cases and routed work items, and Lead Assignment Rules evaluate lead fields only - they cannot read user attributes such as skills. Applying skills to lead assignment means either a substantial custom Flow build with your own skills data model, or a routing tool that supports skills across both the Lead and Case objects.

What's the difference between skills-based routing and round robin?

They answer different questions and work best together. Skills-based routing filters for who is capable of handling the record; round robin decides whose turn it is within that group. Using skills alone overloads your most qualified people, and using round robin alone sends complex records to whoever happens to be next.

How many skills should you assign to a record?

As few as genuinely change the outcome - usually one or two required skills plus a minimum proficiency. Attaching four or more required skills typically shrinks the eligible pool to one or two individuals, and the record then sits unrouted whenever those people are unavailable. Always define a fallback ladder that relaxes requirements progressively rather than leaving records stranded.

How do you keep a skills matrix up to date?

Give it a single named owner, tie skill assignment and removal to your joiners, movers and leavers process, and run a quarterly review where managers confirm their team's proficiency levels. Then monitor fallback rate by skill - a rising fallback rate is usually the first visible sign that the people holding a skill have left, changed role or hit capacity.

‍

Fancy giving Distribution Engine a try?

Have a play around for free, or get in touch if you’d prefer to chat.

Install in Production
Free trial

Take us for a spin with a 30 day Free Trial

Have a play around for free, or get in touch if you’d prefer to chat.