TaskRouter supports time of day expressions that can be used in the Workflow in both Filter and Target Worker Expressions. When evaluating the expressions TaskRouter will fill in the attributes with appropriate values and continues to evaluate the entire expression.
The supported time of day expressions are as follows:
This attribute contains current time as an integer in HHMM format with the time represented in 24hr clock in UTC.
Use the following expression to check if the current time is between 8 AM UTC to 6:30 PM UTC,
_10taskrouter.currentTime > 0800 AND taskrouter.currentTime < 1830
This attribute contains current hour as string in HH formt with hour represented in 24hr clock in UTC.
Use the following expression to check if the current hour is between 8 AM UTC to 6 PM UTC,
_10taskrouter.currentHour > 8 AND taskrouter.currentHour < 18
This attribute contains current minute with time represented in UTC format.
_10taskrouter.currentMin > 10 AND taskrouter.currentMin < 50
This attribute contains the day of the week as string in time represented in UTC format.
Day of the Week | taskrouter.dayOfWeek |
---|---|
Monday | Mon |
Tuesday | Tue |
Wednesday | Wed |
Thursday | Thu |
Friday | Fri |
Saturday | Sat |
Sunday | Sun |
In this example we are checking for different open and closing hours based on day of the week and if place tasks into appropriate queues
_28{_28 "task_routing": {_28 "filters": [_28 {_28 "targets": [_28 {_28 "queue": "WQ57cab415732dec475f600c75eab44cc9"_28 }_28 ],_28 "filter_friendly_name": "MyFilterName",_28 "expression": "(taskrouter.dayOfWeek IN ['Mon', 'Tue', 'THU'] _28 AND taskrouter.currentTime > 800 _28 AND taskrouter.currentTime < 1730) _28 OR _28 (taskrouter.dayOfWeek IN ['Wed', 'Fri'] _28 AND taskrouter.currentTime > 900 _28 AND taskrouter.currentTime < 1830) _28 OR _28 (taskrouter.dayOfWeek = 'Sat' _28 AND taskrouter.currentTime > 1100 _28 AND taskrouter.currentTime < 1530)"_28 }_28 ],_28 "default_filter": {_28 "queue": "WQ78e472fe73068cf03c533099dbaa453b"_28 }_28 }_28}