You can use the Route block in the Assisted Service phase to route interactions to an agent based on various criteria, such as skills.
You can sequentially place multiple Route blocks with different settings, so that if routing fails in one block, your application proceeds to the next block.
When a Route block successfully routes the interaction to an agent, the application moves to the Finalize phase, ignoring any subsequent blocks in the Assisted Service phase.
Click here to watch a video showing an example of skill-based routing for chat interactions.
Select Routing type
Choose between the following routing options:
Skill based routing with relaxing criteria
Routes the interaction to an agent that has the required skills. If selected, you can choose from the following options:
- Use system variables RoutingSkills and RoutingVirtualQueue set already in Menu Options - Use system variables that were set in a Menu Option block.
- Specify Skills in this block - Specify one or more skills and a Virtual Queue to use to route this interaction. If you specified more than one skill, you can choose whether the routing engine considers any or all of the selected skills.
- Skill Proficiency level - Enter the initial and minimum skill levels. The interaction is routed to an agent that has a skill level equal to or higher to the values provided. If you enable Reduce skill requirements every, you can have the skill level decremented by a certain amount every x number of seconds, until the minimum skill level is reached. This option allows you to expand the group of agents that can receive this interaction if other agents are busy.
Skill expression based routing
Enter a skill expression in the Skill Expression tab, or click the drop-down menu to select a variable that specifies a skill expression.
Route the interaction to a specific application or queue.
Agent Group routing
Route the interaction to an Agent Group.
Route the interaction to agents by using a variable that holds the ID of an agent at runtime. You must use the following format: agentid@optional_statserver.A. Example: 1001@StatServer.A.
Other Routing Settings
Select which algorithm is used to choose an agent when more than one agent is available. (For more information about the routing algorithms, see Statistic Types on the Statistic block page.)
Enter the maximum time (in seconds) to wait for an agent to be available before moving to the next block. Optionally, you can enable the check box to specify a variable.
Use this tab to specify a busy treatment to execute while waiting for an agent to become available. The busy treatment can be a Chat message that you can set to repeat at regular intervals.
Routing Priority tab
Use Priority during Routing
Enable this check box to use priority-based routing, which prioritizes your interactions depending on your business requirements.
To prioritize interactions, you must segment interactions and assign the name of that segment to a variable. You must select this variable in the Lookup Priority table based on this variable drop-down menu.
You can customize this table with your own segment definitions to fit your business needs. If the specific segment is not found, then the value specified for Initial priority is used. Enter a value in Increment size to increase the priority of an interaction that remains in a queue over time. The priority increment is defined for each segment, but a default increment is configurable with the Increment Size property.
Increment Priority every ___ seconds
Enable this check box to specify the time interval between priority increments. If you enable the other check box beside the field, you can select a variable that specifies the overall Routing Timeout and Priority Increment Interval properties.
Limit Priority to
If the Increment Priority every ___ seconds option is enabled, you can use this option to set a maximum priority value. For example, if the initial priority is 50, you can use this option to not let the priority value increase beyond 100.
If you enable the other check box beside the field, you can select a variable for this option.
Clear targets from queue if this block times out
Enable this check box to specify whether the pending request for a target should be kept active or not after exiting this block on timeout. When the request is kept active (check box is disabled), an agent may be selected after the block times out if, for example, an agent with the matching criteria is ready after the block was exited.
Early exit from this block if no agents are logged in
Enable this check box to exit the block if no agents are logged in for the selected routing target (such as Agent or Agent Group, skill expression based, or skill based routing with relaxing criteria).
- Skill Expression
- Agent Group
- Last Called Agent
Threshold expressions can contain variables or reference queue-specific values, such as sdata(target, statistic) or callage(). Strings must be enclosed in single quotes. For example:
For more information about using ECMAScripts in Designer, see Assigning values to variables.
Route only to local agents
If you have selected Skill based routing with relaxing criteria or Skill expression based routing, you can enable this option. When enabled, the call is routed to a local agent who matches the target skill.
Here's a way you could do that:
- Set up the Route block with Route only to local agents enabled, a short Overall timeout property value, and Clear targets from queue if this block times out deselected.
- Then, set up any Route blocks that are further down the application flow with Route only to local agents not selected.
You can watch this video to see a short demonstration of how to set this up. (The video demonstrates this using a Route Call block, but the steps are the same.)
You might also want to modify skill relaxing settings to run faster on routing blocks that target local agents.
In the Post processing application section, you can specify the digital application (queue) that will be used for post-processing logic. This application will be executed after the agent marks the chat as done.
Post-processing logic may include, for example, HTTP REST or Chat Transcript blocks.
Select a variable in the Store selected agent ID in this variable drop-down menu to keep track in a specific variable the ID of the agent selected as a result of this Route block execution. The SelectedAgent system variable is transparently assigned this same agent ID value.
You can also select a variable in the Store the outcome of the Route block in this variable drop-down menu to store the result of this Route block execution.
This video shows an example of using skill-based routing to route chat interactions.