Menu

Expand
Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Task Resource

A Task represents a single item of work waiting to be processed. Tasks can represent whatever type of work is important for your team. Twilio applications can create tasks from phone calls or SMS messages. Your CRM or ticketing system can generate tasks from emails or chat messages sent in by your customers. Your own applications can create custom tasks representing whatever unique work your users handle.

Task properties

Task Attributes

Every Task has attributes, allowing you to pass along whatever data is required for your application to route the task and take the appropriate action on assignment. Attributes are expressed in JSON data, for example:

{ 
    "type": "call", 
    "contact": "+15558675309", 
    "customer-value": "gold", 
    "task-reason": "support", 
    "callSid": "CA42ed11..." 
}

Task Lifecycle

A Task does not have an explicit Lifecycle property, but it's an important concept for understanding how Tasks work. A Task's lifecycle is controlled by a Workflow, which will manage the Task's priority and find matching Workers to handle the Task. The Task State page and Workflows and Assignment page provide more detail on the Task lifecycle.

Names in PHP format
accountSid
sid<AC> Not PII

The SID of the Account that created the Task resource.

age
integer Not PII

The number of seconds since the task was created.

assignmentStatus
enum:status Not PII

The current status of the Task's assignment. Can be: pending, reserved, assigned, canceled, or completed.

attributes

The JSON string with custom attributes of the work. Note If this property has been assigned a value, it will only be displayed in FETCH action that returns a single resource. Otherwise, it will be null.

addons
string Not PII

An object that contains the addon data for all installed addons.

dateCreated
date_time<iso8601> Not PII

The date and time in GMT when the resource was created specified in ISO 8601 format.

dateUpdated
date_time<iso8601> Not PII

The date and time in GMT when the resource was last updated specified in ISO 8601 format.

priority
integer Not PII

The current priority score of the Task as assigned to a Worker by the workflow. Tasks with higher priority values will be assigned before Tasks with lower values.

reason
string Not PII

The reason the task was canceled or completed, if applicable.

sid
sid<WT> Not PII

The unique string that we created to identify the Task resource.

taskQueueSid
sid<WQ> Not PII

The SID of the TaskQueue.

taskQueueFriendlyName
string Not PII

The friendly name of the TaskQueue.

taskChannelSid
sid<TC> Not PII

The SID of the TaskChannel.

taskChannelUniqueName
string Not PII

The unique name of the TaskChannel.

timeout
integer Not PII

The amount of time in seconds that the task is allowed to live.

workflowSid
sid<WW> Not PII

The SID of the Workflow that is controlling the Task.

workflowFriendlyName
string Not PII

The friendly name of the Workflow that is controlling the Task.

workspaceSid
sid<WS> Not PII

The SID of the Workspace that contains the Task.

url
url Not PII

The absolute URL of the Task resource.

links
uri_map Not PII

The URLs of related resources.

Create a Task resource

post
https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Tasks
Parameters
Names in None format
workspace_sid
Required
post sid<WS> Not PII

The SID of the Workspace that the new Task belongs to.

timeout
Optional
post integer Not PII

The amount of time in seconds the new task is allowed to live. Can be up to a maximum of 2 weeks (1,209,600 seconds). The default value is 24 hours (86,400 seconds). On timeout, the task.canceled event will fire with description Task TTL Exceeded.

priority
Optional
post integer Not PII

The priority to assign the new task and override the default. When supplied, the new Task will have this priority unless it matches a Workflow Target with a Priority set. When not supplied, the new Task will have the priority of the matching Workflow Target.

task_channel
Optional
post string Not PII

When MultiTasking is enabled, specify the TaskChannel by passing either its unique_name or sid. Default value is default.

workflow_sid
Optional
post sid<WW> Not PII

The SID of the Workflow that you would like to handle routing for the new Task. If there is only one Workflow defined for the Workspace that you are posting the new task to, this parameter is optional.

attributes
Optional
post string PII MTL: 30 DAYS

A URL-encoded JSON string with the attributes of the new task. This value is passed to the Workflow's assignment_callback_url when the Task is assigned to a Worker. For example: { "task_type": "call", "twilio_call_sid": "CAxxx", "customer_ticket_number": "12345" }.

Example 1
        
        
        
        

        The maximum amount of in-flight Tasks allowed for any given Workspace is 500,000. Please contact us if your use case will require more.

        Fetch a Task resource

        get
        https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}
        Parameters
        Names in None format
        workspace_sid
        Required
        get sid<WS> Not PII

        The SID of the Workspace with the Task to fetch.

        sid
        Required
        get sid<WT> Not PII

        The SID of the Task resource to fetch.

        Example
              
              
              
              

              Read multiple Task resources

              get
              https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Tasks
              Parameters
              Names in None format
              workspace_sid
              Required
              get sid<WS> Not PII

              The SID of the Workspace with the Tasks to read.

              priority
              Optional
              get integer Not PII

              The priority value of the Tasks to read. Returns the list of all Tasks in the Workspace with the specified priority.

              assignment_status
              Optional
              get string[] Not PII

              The assignment_status of the Tasks to read. Can be: pending, reserved, assigned, canceled, and completed. Returns all Tasks in the Workspace with the specified assignment_status.

              workflow_sid
              Optional
              get sid<WW> Not PII

              The SID of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this SID.

              workflow_name
              Optional
              get string Not PII

              The friendly name of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this friendly name.

              task_queue_sid
              Optional
              get sid<WQ> Not PII

              The SID of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this SID.

              task_queue_name
              Optional
              get string Not PII

              The friendly_name of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this friendly name.

              evaluate_task_attributes
              Optional
              get string Not PII

              The attributes of the Tasks to read. Returns the Tasks that match the attributes specified in this parameter.

              ordering
              Optional
              get string Not PII

              How to order the returned Task resources. y default, Tasks are sorted by ascending DateCreated. This value is specified as: Attribute:Order, where Attribute can be either Priority or DateCreated and Order can be either asc or desc. For example, Priority:desc returns Tasks ordered in descending order of their Priority. Multiple sort orders can be specified in a comma-separated list such as Priority:desc,DateCreated:asc, which returns the Tasks in descending Priority order and ascending DateCreated Order.

              has_addons
              Optional
              get boolean Not PII

              Whether to read Tasks with addons. If true, returns only Tasks with addons. If false, returns only Tasks without addons.

              Example 1
                    
                    
                    
                    
                    Example 2
                          
                          
                          
                          
                          Fetches all Tasks which have a language attribute of "en" or "fr" and a "skill_rating" attribute with value greater than 5.1

                          List Tasks with Filters

                          Fetches all Tasks which have a language attribute of "en" or "fr" and a "skill_rating" attribute with value greater than 5.1

                          Tasks are deleted 5 minutes after either they are canceled or completed. You can still query events that occurred for a Task via the Events API.

                          You may use the following operators in your EvaluateTaskAttributes:

                          • Equality: ==, =
                          • Inequality: !=
                          • Greater than: >
                          • Less than: <
                          • Greater than or equal to: >=
                          • Less than or equal to: <=
                          • Use parentheses to indicate precedence of operations: ( )
                          • Use brackets to indicate lists/arrays: [ ]
                          • HAS, >- for determining whether the value of the Task attribute on the left-hand side of the expression contains the string on the right side of the comparison.
                          • IN, <- for determining whether the value of the Task attribute on the left-hand side of the expression is * contained in the list on the right-hand side.
                          • AND if both the left and right subexpressions are true, resolves to true, otherwise false
                          • OR - if one or both of the left or right subexpressions are true, resolves to true, otherwise false

                          By default, this will return the first 50 Tasks. Supply a PageSize parameter to fetch more than 50 Tasks. See paging for more information.

                          Update a Task resource

                          post
                          https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}
                          Parameters
                          Names in None format
                          workspace_sid
                          Required
                          post sid<WS> Not PII

                          The SID of the Workspace with the Task to update.

                          sid
                          Required
                          post sid<WT> Not PII

                          The SID of the Task resource to update.

                          attributes
                          Optional
                          post string PII MTL: 30 DAYS

                          The JSON string that describes the custom attributes of the task.

                          assignment_status
                          Optional
                          post enum:status Not PII

                          The new status of the task. Can be: canceled, to cancel a Task that is currently pending or reserved; wrapping, to move the Task to wrapup state; or completed, to move a Task to the completed state.

                          reason
                          Optional
                          post string Not PII

                          The reason that the Task was canceled or completed. This parameter is required only if the Task is canceled or completed. Setting this value queues the task for deletion and logs the reason.

                          priority
                          Optional
                          post integer Not PII

                          The Task's new priority value. When supplied, the Task takes on the specified priority unless it matches a Workflow Target with a Priority set.

                          task_channel
                          Optional
                          post string Not PII

                          When MultiTasking is enabled, specify the TaskChannel with the task to update. Can be the TaskChannel's SID or its unique_name, such as voice, sms, or default.

                          Example 1
                                
                                
                                
                                

                                When a pending Task's attributes are updated, the Task will be re-driven through the Workflow identified by the WorkflowSid associated with the task. Depending on the Workflow's filters, TaskRouter may move the Task into a different TaskQueue. The age of the Task will remain the same. If the Task is moved to a new TaskQueue, its TaskQueue position relative to other tasks will be determined by its age and priority, as usual.

                                Delete a Task resource

                                delete
                                https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}

                                Deletes the Task identified by {TaskSid}. For all pending reservations associated with the deleted Task, these will also be deleted at task deletion time.

                                Parameters
                                Names in None format
                                workspace_sid
                                Required
                                delete sid<WS> Not PII

                                The SID of the Workspace with the Task to delete.

                                sid
                                Required
                                delete sid<WT> Not PII

                                The SID of the Task resource to delete.

                                Example
                                      
                                      
                                      
                                      
                                      Rate this page:

                                      Need some help?

                                      We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.