Activities describe the current status of your Workers, which determines whether they are eligible to receive task assignments. Workers are always set to a single Activity.
(information)
Info
TaskRouter pre-populates new Workspaces with "Offline", "Unavailable", and "Available" Activities. Add your own Activities to the list to get a more granular understanding of the way your Workers are spending their time!
Each Activity has:
A FriendlyName, which describes the Worker's state in human-readable terms, and
An Availability, which is a boolean that determines whether Workers are available for task assignment. The value cannot be changed after the Activity is created.
If a Worker is performing an Activity that has an availability of "true", it means that Worker is ready to have Tasks assigned to it. If a Worker is set to an Activity with an availability of "false", it means the Worker is not able to accept new Tasks and will not be considered for assignment.
By moving Workers from unavailable to available Activities you signal to TaskRouter that the Worker can be assigned new Tasks. When TaskRouter assigns the Worker a Task, it will automatically move the Worker to an unavailable Activity, so that the Worker is not assigned new Tasks while they are occupied. On completion of their work, the Worker can be moved to an available Activity to begin accepting new Tasks again.
Configuring Default Activities for Worker State Transitions
The current Activity for a given Worker is changed in the following operations:
Your application can
update a Worker's Activity
by posting to the Worker instance resource and providing the SID if any of the Activities in the Workspace.
If a Reservation times out, the Worker is placed in the
TimeoutActivity
identified by the Workspace. By default this is
Offline
.
When a new Worker is created, the Worker is placed in the
DefaultActivity
identified by the Workspace, unless a specific ActivitySid is passed. By default, this is
Offline
.
In addition, a single-tasking Workspace supports two additional automatic state transitions:
When the Worker is assigned a Task, the Worker is placed in the
ReservationActivity
identified by the TaskQueue that assigns the Worker the Task. By default this is the
Reserved
Activity.
When a Worker accepts a Task, the Worker is placed in the
AssignmentActivity
identified by the TaskQueue that assigns the Worker the Task. By default this is the
Busy
Activity.
In a multitasking Workspace, a Worker's state does not automatically update when a Task is assigned or accepted.
Activity Properties
(warning)
Warning
Pagination is not supported under this resource. Please avoid usage of the page query parameter.
Whether the Worker is eligible to receive a Task when it occupies the Activity. A value of true, 1, or yes indicates the Activity is available. All other values indicate that it is not. The value cannot be changed after the Activity is created.
A descriptive string that you create to describe the Activity resource. It can be up to 64 characters long. These names are used to calculate and expose statistics about Workers, and provide visibility into the state of each Worker. Examples of friendly names include: on-call, break, and email.
Whether the Worker should be eligible to receive a Task when it occupies the Activity. A value of true, 1, or yes specifies the Activity is available. All other values specify that it is not. The value cannot be changed after the Activity is created.
Create a new Activity
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl
_14
// Download the helper library from https://www.twilio.com/docs/node/install
_14
// Find your Account SID and Auth Token at twilio.com/console
_14
// and set the environment variables. See http://twil.io/secure
Whether return only Activity resources that are available or unavailable. A value of true returns only available activities. Values of '1' or yes also indicate true. All other values represent false and return activities that are unavailable.
A descriptive string that you create to describe the Activity resource. It can be up to 64 characters long. These names are used to calculate and expose statistics about Workers, and provide visibility into the state of each Worker. Examples of friendly names include: on-call, break, and email.
Update an Activity
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl
_11
// Download the helper library from https://www.twilio.com/docs/node/install
_11
// Find your Account SID and Auth Token at twilio.com/console
_11
// and set the environment variables. See http://twil.io/secure