TaskRouter gives you the option to evaluate against worker Activity state.
_10worker.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:
You can write TaskRouter Expressions using Activity Name or Activity SIDs, and you can compare against a single value or an array of values.
Activity | Description |
---|---|
worker.activity_name | The Friendly Name of the Activity Resource |
worker.activity_sid | The SID of the Activity Resource |
Operator | Description |
---|---|
== | Compares to a single Activity Name or SID |
in | Checks 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:
_10worker.activity_name in ['Generally Available', 'High Value Tasks']
_10worker.activity_sid == 'WAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
This example contains two expressions:
_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}