Jump to: navigation, search

Route Digital Block

If your application is a Digital type, you can use the Route Digital 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 Digital blocks with different settings, so that if routing fails in one block, your application proceeds to the next block.

When a Route Digital 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.

Routing Tab

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.
This option uses the skill level specified in the 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.
  • 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.

Application/Queue routing

Route the interaction to a specific application or queue.

Agent Group routing

Route the interaction to an Agent Group.

Agent routing

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

Routing Algorithm

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.)

Overall timeout

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.

System variables SelectedTarget, SelectedVirtualQueue, SelectedComponent, SelectedTargetObject, SelectedAgent, and Access are automatically set when the interaction is routed to an agent and can be used later in the application. Refer to the Initialize phase's System Variables tab to read a detailed description for each of these variables.
Des route routing.png

Treatments tab

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.

Des route treatments.png

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.

Des route routing priority.png

Advanced tab


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).

Threshold Expression

This option enables you to use an ECMAScript (or JavaScript) expression to further refine a routing threshold for the specified target(s). Threshold expressions for the Route block can be used for the following routing types:

  • Skill
  • Skill Expression
  • Agent Group
  • Agent
  • 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:

Des route call thresh exp.png

For more information about using ECMAScripts in Designer, see Assigning values to variables.

For routing types that have multiple targets (such as Agent Group or Agent), the script defined in Threshold Expression applies to all targets.

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.

If you want to route to local agents as the preferred option, but then route to all agents if there are no local agents available with the required skill, you can set up cascaded routing.

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.

If the purpose of your post-processing application is to only send a Chat Transcript, Genesys recommends that you use a Terminate block in the post-processing application to prevent it from sending of multiple copies of the transcript.

Des route advanced.png

Results tab

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.

This page was last edited on September 11, 2020, at 13:06.
blog comments powered by Disqus