Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Activity Based Routing


TaskRouter gives you the option to evaluate against worker Activity state.


_10
worker.activity_name in ['Generally Available', 'High Value Tasks']

This allows you to target or exclude agents based on the Activity that they are in.

With activity-based routing, you can:

  • Route high-value Tasks to Workers even when they are scheduled to not receive general Tasks.
  • Transfer Tasks to Agents who are in Activities that are excluded from routing.
  • Designate an Activity that allows an agent to only accept a particular type of task.

Expression Syntax

expression-syntax page anchor

You can write TaskRouter Expressions using Activity Name or Activity SIDs, and you can compare against a single value or an array of values.

ActivityDescription
worker.activity_nameThe Friendly Name of the Activity Resource
worker.activity_sidThe SID of the Activity Resource
OperatorDescription
==Compares to a single Activity Name or SID
inChecks if the value is in an array of Activity Names or SIDs

You can mix and match these Activity references and operators to create various expressions, like:

Look for a match in an array of friendly names

look-for-a-match-in-an-array-of-friendly-names page anchor

_10
worker.activity_name in ['Generally Available', 'High Value Tasks']

Check for equality with an activity SID

check-for-equality-with-an-activity-sid page anchor

_10
worker.activity_sid == 'WAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'


This example contains two expressions:

  1. TaskRouter should route general Tasks to generally available Workers.
  2. For high-value Tasks, TaskRouter can route to general workers OR a collection of workers who are available for high-value Tasks only.

_29
{
_29
task_routing: {
_29
filters: [
_29
{
_29
filter_friendly_name: "General Routing",
_29
expression: "high_value == false",
_29
targets: [
_29
{
_29
queue: "WQxyz1",
_29
expression: "worker.activity_name == 'General Avail'",
_29
priority: "50"
_29
}
_29
]
_29
}
_29
{
_29
filter_friendly_name: "High value Tasks",
_29
expression: "high_value == true",
_29
targets: [
_29
{
_29
queue: "WQxyz2",
_29
expression: "worker.activity_name == 'Limited Avail' OR
_29
worker.activity_name == 'General Avail'",
_29
priority: "100"
_29
}
_29
]
_29
},
_29
]
_29
}
_29
}



Rate this page: