Designing Omnichannel Routing with Custom Proficiencies
Executive Summary & Architectural Context
In early-stage contact centers, routing is binary: an agent either possesses the Billing skill or they do not. As the contact center matures into an omnichannel operation, binary routing collapses. A senior agent might be exceptional at Voice (Proficiency 1) but terrible at Live Chat (Proficiency 5). Furthermore, they might be fluent in English (Proficiency 1) but only conversational in Spanish (Proficiency 3).
If you use binary routing, the system will blindly assign that agent complex Spanish Live Chats, ruining both Customer Satisfaction (CSAT) and Average Handle Time (AHT).
The architectural solution is Proficiency-Based Omnichannel Routing. This masterclass details how to structure a dimensional skill matrix in NICE CXone, allowing the routing engine to weight interactions mathematically based on channel type, language fluency, and subject matter expertise.
Prerequisites, Roles & Licensing
- Platform: NICE CXone.
- Roles & Permissions:
Admin > Users,Admin > Skills. - Platform Dependencies:
- Advanced Routing must be enabled on the tenant.
The Implementation Deep-Dive
1. Defining the Proficiency Matrix
In CXone, proficiency is ranked from 1 (Highest/Master) to 20 (Lowest/Trainee).
Before touching the system, you must define the matrix on paper. Do not use all 20 levels; it creates unmanageable complexity. Adopt a 5-tier framework:
- Level 1: Master (Primary target)
- Level 2: Senior (Secondary target)
- Level 3: Generalist (Fallback)
- Level 4: Trainee (Only routes if queue is severely backed up)
- Level 5: Emergency (Only routes if SLAs are breached)
2. Configuring the CXone Skills
- Navigate to ACD > Contact Settings > Skills.
- Create distinct skills separated by Channel and Subject.
IB_Voice_Billing_ENIB_Chat_Billing_EN
- The Anti-Pattern: Do not create a single
Billingskill and attach it to both Voice and Chat channels. You must separate them to allow different proficiencies per channel.
3. Assigning Proficiencies to Users
- Navigate to Admin > Users.
- Select an agent (e.g., “John Doe”).
- Go to the Skills tab.
- Add the skills and assign the math:
IB_Voice_Billing_EN: Proficiency1(John is great on the phone).IB_Chat_Billing_EN: Proficiency4(John types 20 WPM and struggles with chat).
4. Tuning the Routing Engine (The Math)
By default, CXone routes calls to the agent who has been waiting the longest (Longest Available Agent - LAA). When proficiencies are introduced, CXone must balance “Who is the best?” vs. “Who has waited the longest?”.
- Navigate to the specific Skill settings.
- Adjust the Routing Algorithm.
- True Proficiency Routing: If you select a strict proficiency algorithm, the system will always route to a Level 1 agent, even if they just finished a call 5 seconds ago and a Level 2 agent has been sitting idle for 20 minutes.
- Danger: This burns out your top performers. Level 1 agents will take 100 calls a day, while Level 2 agents take 5.
- Blended Routing (Best Practice): CXone allows you to blend Wait Time and Proficiency. You can configure the system to treat 1 level of proficiency as equal to “X minutes of wait time.”
- Example: If 1 Proficiency Level = 5 Minutes. A Level 2 agent who has waited 6 minutes will receive the call before a Level 1 agent who has waited 0 minutes. This ensures fairness while still favoring expertise.
Validation, Edge Cases & Troubleshooting
Edge Case 1: The Proficiency “Black Hole”
A common error occurs when supervisors assign a new agent a Proficiency of 10 so they “don’t get overwhelmed,” but the queue is configured to never cascade past Level 5.
- Troubleshooting: The agent will sit in
Availablestatus all day and never receive a single interaction, despite a queue of waiting customers. - Solution: Always ensure that your Studio routing scripts or queue degradation settings eventually expand the target pool to include all proficiency levels if the wait time breaches SLA.
Edge Case 2: Concurrent Omnichannel Capacities
If an agent is a Level 1 at Chat and a Level 1 at Voice, what happens when a Voice call and a Chat arrive simultaneously?
- Configuration: Navigate to Admin > Users > Delivery Preferences. You must define the concurrent capacity. A standard best practice is:
Voice = 1,Chat = 3. - Interrupts: You must also define whether Voice can interrupt Chat. If an agent is handling 1 chat, can a Voice call ring them? If yes, the agent is forced to put the Chat customer on hold while they speak. This requires strict training and usually results in degraded CSAT on the interrupted channel.
Official References
- Skill Proficiencies: NICE CXone Help: Assign Skills to Users
- Omnichannel Delivery Preferences: NICE CXone Help: Delivery Preferences
- Routing Algorithms: NICE CXone Help: Skill Routing Algorithms