Route Call Block
- 1 Call Routing tab
- 2 Skill Expression tab
- 3 Treatments tab
- 4 Routing Priority tab
- 5 Advanced tab
- 6 Results tab
Use this block to route calls to an agent based on various criteria.
You can use the Route Call block in the Assisted Service phase to route calls to an agent based on various criteria, such as Skills and Agent Groups.
You can sequentially place multiple Route Call blocks with different settings, so that if routing fails in one block, your application proceeds to the next block. When a Route Call block successfully routes the call to an agent, the application moves to the Finalize phase, ignoring any subsequent blocks in the Assisted Service phase.
Call Routing tab
Select Routing Type section
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 RoutingTarget / 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:
ImportantThis option uses the skill level specified in the Use Skill Proficiency level setting (documented below). For example, if you set an initial skill level of 8, Designer only routes the interaction to agents with the specified skills that have a level of 8 or greater. You cannot set an individual level for each specified skill.
- all skills - The application must use all of the selected skills to route the interaction.
- any skill - The application can use any of the selected skills to route the interaction.
- Use Skill Proficiency level - Enter a Skill level. The interaction is routed to an agent that has a skill level equal to or higher to the value you provide. If you enable Reduce skill requirements, the required skill level is gradually decremented by a specified skill level, until it reaches the specified minimum skill level. 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.
Agent Group routing
Route the interaction to a specific Agent Group or a variable that holds the name of an Agent Group at runtime.
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.
Campaign Group routing
Route the interaction to a specific Campaign Group or a variable that holds the name of a Campaign Group at runtime.
Route to another Application
Transfer the interaction to another application. If you select this option, you must first select the target Application. You can then select a Phone Number that is associated with the target application, or a variable that contains the name of a Route Point. If you select a variable, Designer obtains the Route Point from its value, but still requires that a target Application be selected. This is to accommodate chat interactions for applications that are enabled for omni-channel support, even if the application is not yet enabled for this capability.
Direct number routing (voice only)
Transfer a call to a number. You can use a variable to hold the number to use at runtime or add direct number elements. Specify the weight for each number and Designer displays and uses the percentage ranking based on the weightings.
Force route (voice only)
Force the call to route to a direct number. When using this routing type, Designer routes the call in a way that is similar to how an interaction is redirected by Route Point routing. When selected, you can specify the target as a literal value, or as a variable that holds a string, number, or object value.
When using Force Route:
- The Routing Priority tab and the Targeting Options in the Advanced tab (Clear targets from queue if this block times out and Early exit from this block if no agents are logged in) are not applicable.
- The overall timeout for the Route Call block is limited to 30 seconds.
Parking Queue (digital interactions only)
If a digital interaction arrives when the business is closed, send the interaction to a parking queue until the business is open. If selected, you can then specify a variable that tells Designer how long the interaction is to be parked (for example, the variable that holds the number of minutes until the business is open). When regular business hours resume, the interaction is retrieved and processed.
Other Routing Settings section
Select which algorithm is used to choose an agent when more than one agent is available. For more information, see Routing Algorithms.
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.
Skill Expression tab
If you selected the option Skill expression based routing in the Call Routing tab, you must build the skill expression to identify the best agent to handle the call. The skill expression consists of a list of skills for which you must individually set an operator and an integer value.
Arrange individual skill conditions in the conditions sets. You can specify skills by name or variables that contain the name of the skills at runtime.
For example, use this:
"'New iPhone' > 7"
instead of this:
"New iPhone > 7"
If your application supports digital interactions, you can use the Wait setting to specify the number of seconds that will elapse between each treatment iteration (this setting is ignored for voice interactions).
- When routing chat interactions, Designer waits for 100 milliseconds before starting busy treatments for chats (i.e. in-queue messages). This significantly improves the accuracy of Estimated Wait Time (EWT) and Position in Queue (PIQ) values that are typically used by these messages when providing updates to customers, but may also result in the application not sending busy treatment chat messages if routing completes almost immediately (i.e. within 100 ms).
- After a busy treatment has been executed at least 10 times, Designer exits the Route Call block and moves to the next block if the average duration of the treatment is less than 1000 ms (for example, due to a missing audio file). (However, this does not apply if the Force Route option is selected.)
Click Add Message to add a Play Message child block underneath this Route Call block. The collection of audio plays repeatedly until the call is successfully routed or times out. For digital channels, you can specify a text message to send to the customer, and use the Wait setting to specify how long to wait before the message repeats.
Click Add Module to add a Shared Module child block underneath this Route Call block. In the child block, you can select a shared module to execute. For an example, see Example of a Shared Module treatment.
Routing Priority tab
Use Priority during Routing
Enable this check box to use priority-based routing, which prioritizes your calls depending on your business requirements.
To prioritize calls, you must segment calls 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 a call 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, as shown here:
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).
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 can do that:
- Set up the Route Call 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 Call 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.
You might also want to modify skill relaxing settings to run faster on routing blocks that target local agents.
- Skill Expression
- Agent Group
- Campaign Group
- Direct Number
Threshold expressions can contain variables or reference queue-specific values, such as when used with the following functions:
- sdata(target, statistic) - This function applies additional routing criteria based on a statistic. You can use it to specify a target and a predefined statistic, such as StatPositionInQueue, StatCallsWaiting, or StatCallsCompleted. For example, this expression would route an interaction to a particular Agent Group when there are more than two agents ready and available:
- You can also combine multiple sdata functions using a pipe (
|) as an OR operator or an ampersand (
&) as an AND operator. For example:
sdata(VQ_1@.Q,StatServiceFactor)>30 & sdata(VQ_2@.Q,StatServiceFactor)>40
For a list of common statistic types used by Designer, see Statistic Types. Note that when adding a statistic to your expressions, you must use the Stat prefix, such as StatTimeInReadyState, StatAgentsAvailable, StatEstimatedWaitingTime, and so on.
- callage() - This function returns the age of an interaction in seconds. You can use it when building an expression that specifies a time-based routing condition, such as routing an interaction if it is older than 60 seconds:
- For expressions that reference a variable, the callage function is treated as a string. Therefore, you must enclose the function and its operator in single quotes (e.g. 'callage() < ' + variable).
- For routing types that have multiple targets (such as Agent Group or Agent), the script defined in Threshold Expression applies to all targets.
For more information about using ECMAScript in Designer, see ECMAScript Expressions.
Enable the check box beside Customer Greeting and/or Agent Greeting to play an audio file to that person while the call is being connected.
For customers, you might use this feature to play a legal disclaimer, or to announce that the call might be recorded (if you use call recording in your contact center). For agents, you might use a variable to announce the customer name or other relevant information.
After you enable Customer Greeting and/or Agent Greeting, you can select an audio file to play by clicking the icon in the Announcement field. This is useful for customer greetings that play a static disclaimer audio file.
Optionally, enable the Var? check box to use a variable to dynamically select the audio file. This is useful for agent greetings that use a variable to provide call-specific information, such as the customer name.
Things to note:
- Customer Greeting and Agent Greeting are for voice calls only (not supported for chats).
- The Customer Greeting plays continuously until the Agent Greeting finishes playing.
- When the Customer Greeting and Agent Greeting contain different prompt values, each prompt is played to the customer and the agent as specified.
- When only one option contains a value, the same prompt is played to both the customer and the agent.
- If the Customer Greeting or Agent Greeting cannot be played, the customer is immediately connected to the agent. No greetings are played.
Use this section to add an extension as a key-value pair to this block.
Use JSON format
This option allows certain special characters to be used in extensions, such as full stops (.), single quotes ('), double-quotes ("), and At signs (@).
Add Extension Data
Click Add Extension Data to add an extension. The value type can be a string or integer.
If you want to use a variable for the Key or Value, select the Variable checkbox and then select a variable from the drop-down menu. If the Value is an integer, select the Integer checkbox.
You do not need to enclose extension values in quotes. However, if the quote is part of the value, you must escape the quote character by using a preceding backslash. For example:
- Incorrect: Joe's Pizza
- Correct: Joe\'s Pizza
This example shows a few different ways that key-value pairs can be added as extensions:
Post processing application section
Use this section to specify a Digital type application that will apply post-processing after the agent has marked the interaction as done. For example, you could specify an application that provides a survey.
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 Call 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 Call block in this variable drop-down menu to store the result of this Route Call block execution.