Migrating Legacy CXone Central Routing to modern Omnichannel Routing with Skill-Priority logic
What This Guide Covers
This guide provides a technical roadmap for migrating contact center routing logic from legacy NICE CXone “Central” ACD skill groups to the modern Omnichannel Routing (OCR) engine. By the end of this guide, you will be able to implement multi-dimensional skill-priority logic that dynamically balances agent proficiency against interaction age, ensuring that your highest-value contacts are always handled by your most capable agents without over-burdening them.
Prerequisites, Roles & Licensing
Migration to Omnichannel Routing requires specific feature enablement and administrative access within the CXone platform.
- Licensing: NICE CXone Advanced or Ultimate package. The “Omnichannel Routing” feature must be enabled by your account manager.
- Permissions:
ACD > Skills > View/EditACD > Users > View/EditACD > ACD Settings > Omnichannel Routing > Manage
- OAuth Scopes:
acd:skills:write,acd:users:write. - Dependencies: Access to CXone Studio for modifying existing routing scripts to support OCR-specific attributes.
The Implementation Deep-Dive
1. Understanding the Fundamental Shift: Groups vs. Skills
In legacy “Central” routing, agents were typically assigned to ACD Groups. Routing was often a binary “In Group” or “Out of Group” decision. In modern Omnichannel Routing, the paradigm shifts to a Skill-Proficiency Matrix. Every agent is assigned a skill with a proficiency score (typically 1-20, where 1 is the highest).
The Trap:
Continuing to use a proficiency of “1” for all agents in a skill. This effectively reverts OCR back to legacy “Longest Available Agent” (LAA) routing, negating the intelligence of the engine.
The Solution: Implement a tiered proficiency model. New hires should be at 10-15, experienced agents at 5-10, and subject matter experts at 1-5. This allows the engine to “hunt” for the best agent before settling for the first available one.
2. Configuring Skill-Priority Logic
Omnichannel Routing introduces the concept of Priority Weighting. This allows you to define how much weight the system should give to the “Skill Proficiency” versus the “Time in Queue.”
In the CXone ACD settings, you define a Priority Strategy:
- Skill-Dominant: Proficiency is the primary driver. An agent with proficiency 1 will get the call even if an agent with proficiency 5 has been waiting 10 minutes.
- Time-Dominant: Interaction age is the primary driver.
- Balanced: Proficiency is weighted for a specific duration (e.g., the first 30 seconds), after which the system relaxes the proficiency requirement to reduce wait times.
Architectural Reasoning:
For technical support or high-net-worth sales, use a Skill-Dominant strategy for the first 45 seconds. This ensures your best people get the most important calls. For general inquiries, a Balanced strategy prevents “Proficiency Starvation” where high-skilled agents are constantly hammered while low-skilled agents sit idle.
3. Studio Script Refactoring for OCR
To leverage OCR, your Studio scripts must be updated. Legacy scripts used REQAGENT or PLACE actions that pointed to Groups. Modern OCR scripts use the SKILL attribute within the REQAGENT action and often involve GETSKILL or SETSKILL variables to pass proficiency requirements.
// CXone Studio Snippet: Setting Dynamic Proficiency Requirements
ASSIGN PROFICIENCY_THRESHOLD = 5
IF (isHighValueCustomer == 1) {
PROFICIENCY_THRESHOLD = 2
}
// Pass this to the REQAGENT action
The Trap:
Neglecting to update the Skill Requirements property in the REQAGENT action. If you leave it as “Any,” the OCR engine will ignore your carefully crafted proficiency matrix and deliver the call to the first available agent with the skill, regardless of their proficiency level.
4. Handling Omnichannel Concurrency
One of the biggest advantages of OCR is Single-Pane-of-Glass Concurrency. You can define that an agent can handle 2 chats and 1 email simultaneously, but if a voice call arrives, all digital channels are “interrupted” or “locked” until the voice call ends.
Configuration Step:
Navigate to ACD > Users > Delivery Settings. Define the “Maximum Concurrent Interactions” per channel and the “Interruptible” flags.
Validation, Edge Cases & Troubleshooting
Edge Case 1: Proficiency Starvation (The “Burnout” Scenario)
- The failure condition: High-proficiency agents (Level 1) are taking 30% more calls than Level 5 agents, leading to burnout and high turnover.
- The root cause: The “Skill-Dominant” strategy is too aggressive, never allowing calls to flow to lower-skilled agents if a high-skilled agent is available.
- The solution: Implement Dynamic Proficiency Relaxation. In the Studio script, use a
WAITloop. Start theREQAGENTwithProficiency <= 3. After 20 seconds, re-request withProficiency <= 10. After 60 seconds, open it toProficiency <= 20.
Edge Case 2: Ghost Calls in OCR Transition
- The failure condition: Agents receive a “delivery” notification in MAX but no call arrives.
- The root cause: The agent is assigned to a legacy “Group” and a modern “Skill” simultaneously. The two engines are competing for the same agent state.
- The solution: During the migration window, agents must be completely removed from legacy Groups before being enabled for OCR Skills. Hybrid configurations are notoriously unstable.