Implementing Skill-Based Outbound Routing for Language-Matched Agent Campaign Assignment

Implementing Skill-Based Outbound Routing for Language-Matched Agent Campaign Assignment

What This Guide Covers

This guide details the architectural implementation of skill-based outbound routing in Genesys Cloud CX to ensure language-matched agent assignment for predictive and progressive dialer campaigns. You will configure agent skills, media channels, and campaign settings to create a deterministic routing flow where outbound calls are offered only to agents possessing the specific language proficiency required by the lead data.

Prerequisites, Roles & Licensing

  • Licensing: Genesys Cloud CX 1, 2, or 3 with Outbound add-on licenses for agents and supervisors.
  • Roles:
    • Routing > Campaign > Edit
    • Routing > Skill > Edit
    • Routing > Media Channel > Edit
    • Routing > Queue > Edit
    • Routing > User > Edit
  • External Dependencies:
    • A configured SIP trunk or PSTN connection.
    • A data source (CRM, CSV, or API) containing lead records with a distinct language identifier field (e.g., preferred_language).
    • Agents provisioned with the appropriate language skills.

The Implementation Deep-Dive

1. Defining the Skill Taxonomy and Agent Proficiency

The foundation of skill-based routing is the correct definition of skills and their assignment to users. In outbound contexts, skills function as filters rather than just priority queues. If an agent lacks the skill, the system treats them as unavailable for that specific media type, regardless of their general online status.

Configuring Language Skills

Navigate to Routing > Skills. Create distinct skills for each language you support. Do not use a single “Language” skill with sub-skills; Genesys Cloud treats skills as flat identifiers. Create Spanish, French, and English as separate top-level skills.

The Trap: Assigning a default high-priority skill to all agents.
Many architects assign a generic General_Outbound skill to every agent to ensure they are routable. While this works for single-language campaigns, it creates a catastrophic failure mode in multi-language environments. If the campaign logic defaults to this general skill when a specific language skill is missing on the lead, an English-only agent will receive a Spanish call. This results in immediate hang-ups, compliance violations (TCPA/Do-Not-Call implications if the interaction is deemed harassing due to language barrier), and degraded quality scores.

Architectural Reasoning:
We enforce a strict “zero-default” policy for language skills. An agent must explicitly possess the target language skill to be considered for the campaign. If the lead data does not specify a language, the system should route to a fallback queue or reject the call, rather than guessing.

Assigning Skills to Agents

Navigate to Routing > Users. Select an agent and go to the Skills tab. Add the relevant language skills. Ensure the Priority is set consistently (e.g., Priority 1 for all language skills). In outbound routing, priority determines the order in which agents are selected when multiple agents match the criteria. For language matching, priority should be equal across languages to ensure fair distribution, or weighted if one language requires higher seniority.

2. Configuring the Media Channel for Outbound Campaigns

Outbound campaigns in Genesys Cloud require a dedicated Media Channel. This channel acts as the container for the dialer logic and the routing rules.

Creating the Outbound Media Channel

Navigate to Routing > Media Channels > Outbound. Click Add Media Channel.

  1. Name: Outbound_Language_Matched
  2. Description: Primary outbound channel for multi-language predictive dialing
  3. Outbound Campaigns: Enable Predictive, Progressive, and Power dialing modes as required by your business logic.

The Trap: Enabling “Automatic” routing on the Media Channel without specific campaign overrides.
The Media Channel has a global routing policy. If you set this to “Automatic” (skill-based) at the channel level, it applies to all campaigns using this channel. However, outbound campaigns have their own internal routing logic that can override this. The danger arises when you mix skill-based and non-skill-based campaigns on the same channel. If a non-skill-based campaign runs on a channel configured for skill-based routing, agents without the implicit “default” skill may be excluded entirely, causing campaign stalls.

Architectural Reasoning:
We configure the Media Channel with Skill-Based routing enabled. This ensures that the platform respects the agent’s skill profile. However, the critical configuration happens at the Campaign level, where we map specific lead attributes to these skills. The Media Channel setting is a safety net; the Campaign setting is the directive.

3. Mapping Lead Attributes to Skills via Campaign Configuration

This is the core of the implementation. We must instruct the dialer to read a specific field from the lead data and map it to the corresponding skill.

Setting Up the Campaign

Navigate to Routing > Outbound > Campaigns. Create a new campaign or edit an existing one.

  1. Campaign Name: Global_Support_Language_Matched
  2. Media Channel: Select Outbound_Language_Matched.
  3. Dialer Mode: Select Predictive or Progressive.

Configuring the Routing Rules

In the campaign settings, locate the Routing section.

  1. Routing Type: Select Skill-Based.
  2. Skill Mapping: You must define how the lead data translates to skills. Genesys Cloud allows you to map a lead field to a skill.

The Trap: Hardcoding skill names in the campaign configuration.
A common mistake is creating separate campaigns for each language (e.g., Campaign_ES, Campaign_FR) and hardcoding the skill in each. This leads to operational bloat. If you add a new language, you must create a new campaign, new lists, and new reporting views.

Architectural Reasoning:
We use a dynamic skill mapping approach. We configure the campaign to look for a field in the lead data (e.g., preferred_language) and map the value of that field to the corresponding skill. This requires the lead data to be normalized.

Implementation Steps:

  1. In the Campaign Routing settings, enable Dynamic Skill Routing.
  2. Specify the Lead Field that contains the language code (e.g., preferred_language).
  3. Define the Mapping Table:
    • Value ES maps to Skill Spanish
    • Value FR maps to Skill French
    • Value EN maps to Skill English

If the lead field is empty or contains an unmapped value, the call will fail to route. This is intentional. We prefer a failed call over a mismatched one.

4. Handling Fallback and Unmatched Skills

Not all leads will have a language preference, or the preference may not match an available agent skill. We must define a fallback mechanism to prevent calls from being orphaned.

Configuring the Fallback Queue

Navigate to Routing > Queues. Create a queue named Outbound_Fallback_No_Language.

  1. Media Type: Voice.
  2. Skills: Add a generic skill, e.g., Outbound_Fallback.
  3. Agents: Add a small team of multilingual agents or supervisors who can handle exceptions.

Linking Fallback in the Campaign

In the Campaign Routing settings:

  1. Enable Fallback Routing.
  2. Set the Fallback Queue to Outbound_Fallback_No_Language.
  3. Set the Timeout to 0 seconds (immediate fallback) if no agent with the required skill is available within the initial ring group.

The Trap: Setting a long fallback timeout.
If you set a 30-second timeout before falling back, the dialer will continue to attempt to match the specific language skill. If no Spanish agents are available, the call sits in the dialer queue, wasting dialer capacity and increasing wait times for the lead. In outbound, speed to lead is critical. If the specific skill is not available immediately, the fallback should trigger instantly to either drop the call (if strict language matching is required) or route to a generalist.

Architectural Reasoning:
For strict compliance environments (e.g., healthcare), we set the fallback to Drop Call. If the language cannot be matched, the call is not made. This prevents inadvertent disclosure of information to an agent who does not speak the patient’s language. For general retail, we route to the fallback queue.

5. Validating Agent Availability and Status

Skill-based routing relies on the agent’s presence status. An agent must be Available and have the Skill Enabled for the media channel.

Checking Agent Status

Navigate to Routing > Users. Select an agent.

  1. Ensure the agent is Licensed for Outbound.
  2. Ensure the agent has the Language Skill assigned.
  3. In the Agent Desktop, the agent must be in the Available state.

The Trap: Agents being “Busy” or “In Call” with internal transfers.
If an agent is on an internal transfer or a conference call, their status may appear as “Busy” or “Unavailable” to the outbound dialer, even if they have the skill. The dialer will not offer the call. This reduces the effective capacity of your campaign.

Architectural Reasoning:
We configure the Media Channel to Allow Outbound Calls During Internal Calls if the business logic permits. However, for language-matched campaigns, it is often better to exclude agents who are already on a call to ensure they can give full attention to the new language-specific interaction. We monitor the Agent Utilization metric to balance this.

Validation, Edge Cases & Troubleshooting

Edge Case 1: Lead Data Mismatch

The Failure Condition:
The campaign is running, but calls are being dropped immediately or routed to the fallback queue at a high rate, despite agents having the correct skills.

The Root Cause:
The value in the lead’s preferred_language field does not exactly match the key in the Dynamic Skill Mapping table. For example, the lead data contains Spanish (full word) but the mapping expects ES (code). Genesys Cloud performs exact string matching.

The Solution:

  1. Check the Campaign Logs in Analytics > Outbound > Campaign Performance.
  2. Filter by Call Disposition: Failed.
  3. Inspect the Lead Data column to see the actual value passed.
  4. Update the Mapping Table in the campaign configuration to match the lead data format, or normalize the lead data upstream in the CRM or data warehouse.

Edge Case 2: Skill Priority Conflicts

The Failure Condition:
Agents with the correct language skill are not receiving calls, while agents with a different skill (but higher priority) are receiving them instead.

The Root Cause:
The agent has multiple skills assigned, and the generic General_Outbound skill has a higher priority (lower number) than the language skill. If the campaign is not strictly enforcing the language skill, the dialer may select the agent based on the higher-priority generic skill.

The Solution:

  1. Verify the Skill Priority for all agents. Ensure language skills have the same priority as each other.
  2. In the Campaign configuration, ensure that Dynamic Skill Routing is the primary routing method, and that no static skill overrides are active.
  3. Remove the generic General_Outbound skill from agents if it is not needed for other campaigns, or set its priority to be lower (higher number) than the language skills.

Edge Case 3: Time Zone and Language Correlation

The Failure Condition:
Calls are being routed to agents with the correct language skill, but the agents are offline because the campaign is running in a time zone that does not match the agent’s shift.

The Root Cause:
The campaign is configured to run in UTC, but the agents are in EST. The dialer considers the agents available, but they are not logged in. Alternatively, the lead data includes a time zone, and the dialer is skipping leads because it is not a valid calling time for that lead, regardless of agent skill.

The Solution:

  1. Configure Time Zone Awareness in the Campaign settings.
  2. Map the lead’s time zone field to the campaign’s Calling Hours configuration.
  3. Ensure that the Agent Availability is checked against the agent’s local time zone, not the campaign’s time zone. Genesys Cloud handles this automatically if the user’s time zone is correctly set in their profile.

Official References