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

Task Channel Resource


Task Channels provide a mechanism to separate tasks of different types.

You can specify different concurrent capacity for tasks of each type. For example, one Worker might be able to handle 10 SMS Tasks at any given time, but only a single phone call Task. When MultiTasking is enabled, you can specify the task type by passing the Unique Name or SID of the Task Channel. For details on limitations around the Task Channel Unique Name, see the FAQ on the Multitasking page.


TaskChannel Properties

taskchannel-properties page anchor
(warning)

Warning

Task Channel friendlyName and uniqueName values do not support hyphens. Using hyphens may cause a parsing error.

(warning)

Warning

Pagination is not supported under this resource. Please avoid usage of the page query parameter.

Property nameTypePIIDescription
account_sidSID<AC>
Not PII

The SID of the Account that created the Task Channel resource.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

date_updatedstring<date-time>

The date and time in GMT when the resource was last updated specified in ISO 8601(link takes you to an external page) format.


friendly_namestring

The string that you assigned to describe the resource.


sidSID<TC>

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

Pattern: ^TC[0-9a-fA-F]{32}$Min length: 34Max length: 34

unique_namestring

An application-defined string that uniquely identifies the Task Channel, such as voice or sms.


workspace_sidSID<WS>

The SID of the Workspace that contains the Task Channel.

Pattern: ^WS[0-9a-fA-F]{32}$Min length: 34Max length: 34

channel_optimized_routingboolean

Whether the Task Channel will prioritize Workers that have been idle. When true, Workers that have been idle the longest are prioritized.


urlstring<uri>

The absolute URL of the Task Channel resource.


linksobject<uri-map>

The URLs of related resources.


Create a TaskChannel resource

create-a-taskchannel-resource page anchor
POST https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/TaskChannels

Path parameters

path-parameters page anchor
Property nameTypeRequiredPIIDescription
WorkspaceSidSID<WS>required

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

Pattern: ^WS[0-9a-fA-F]{32}$Min length: 34Max length: 34
Property nameTypeRequiredPIIDescription
FriendlyNamestringrequired

A descriptive string that you create to describe the Task Channel. It can be up to 64 characters long.


UniqueNamestringrequired

An application-defined string that uniquely identifies the Task Channel, such as voice or sms.


ChannelOptimizedRoutingbooleanOptional

Whether the Task Channel should prioritize Workers that have been idle. If true, Workers that have been idle the longest are prioritized.

Create a TaskChannel

create-a-taskchannel page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_21
// Download the helper library from https://www.twilio.com/docs/node/install
_21
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_21
_21
// Find your Account SID and Auth Token at twilio.com/console
_21
// and set the environment variables. See http://twil.io/secure
_21
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_21
const authToken = process.env.TWILIO_AUTH_TOKEN;
_21
const client = twilio(accountSid, authToken);
_21
_21
async function createTaskChannel() {
_21
const taskChannel = await client.taskrouter.v1
_21
.workspaces("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_21
.taskChannels.create({
_21
friendlyName: "FriendlyName",
_21
uniqueName: "UniqueName",
_21
});
_21
_21
console.log(taskChannel.accountSid);
_21
}
_21
_21
createTaskChannel();

Output

_14
{
_14
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_14
"workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_14
"sid": "TCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_14
"friendly_name": "FriendlyName",
_14
"unique_name": "UniqueName",
_14
"date_created": "2016-04-14T17:35:54Z",
_14
"date_updated": "2016-04-14T17:35:54Z",
_14
"channel_optimized_routing": true,
_14
"url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/TaskChannels/TCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_14
"links": {
_14
"workspace": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_14
}
_14
}


Fetch a TaskChannel resource

fetch-a-taskchannel-resource page anchor
GET https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}

Property nameTypeRequiredPIIDescription
WorkspaceSidSID<WS>required

The SID of the Workspace with the Task Channel to fetch.

Pattern: ^WS[0-9a-fA-F]{32}$Min length: 34Max length: 34

Sidstringrequired

The SID of the Task Channel resource to fetch.

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_19
// Download the helper library from https://www.twilio.com/docs/node/install
_19
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19
_19
// Find your Account SID and Auth Token at twilio.com/console
_19
// and set the environment variables. See http://twil.io/secure
_19
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19
const authToken = process.env.TWILIO_AUTH_TOKEN;
_19
const client = twilio(accountSid, authToken);
_19
_19
async function fetchTaskChannel() {
_19
const taskChannel = await client.taskrouter.v1
_19
.workspaces("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_19
.taskChannels("Sid")
_19
.fetch();
_19
_19
console.log(taskChannel.accountSid);
_19
}
_19
_19
fetchTaskChannel();

Output

_14
{
_14
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_14
"date_created": "2016-04-14T17:35:54Z",
_14
"date_updated": "2016-04-14T17:35:54Z",
_14
"friendly_name": "Default",
_14
"sid": "Sid",
_14
"unique_name": "default",
_14
"url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/TaskChannels/TCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_14
"workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_14
"channel_optimized_routing": true,
_14
"links": {
_14
"workspace": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_14
}
_14
}


Read multiple TaskChannel resources

read-multiple-taskchannel-resources page anchor
GET https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/TaskChannels

Property nameTypeRequiredPIIDescription
WorkspaceSidSID<WS>required

The SID of the Workspace with the Task Channel to read.

Pattern: ^WS[0-9a-fA-F]{32}$Min length: 34Max length: 34
Property nameTypeRequiredPIIDescription
PageSizeintegerOptional

How many resources to return in each list page. The default is 50, and the maximum is 1000.

Minimum: 1Maximum: 1000

PageintegerOptional

The page index. This value is simply for client state.

Minimum: 0

PageTokenstringOptional

The page token. This is provided by the API.

List multiple TaskChannels

list-multiple-taskchannels page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_18
// Download the helper library from https://www.twilio.com/docs/node/install
_18
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_18
_18
// Find your Account SID and Auth Token at twilio.com/console
_18
// and set the environment variables. See http://twil.io/secure
_18
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_18
const authToken = process.env.TWILIO_AUTH_TOKEN;
_18
const client = twilio(accountSid, authToken);
_18
_18
async function listTaskChannel() {
_18
const taskChannels = await client.taskrouter.v1
_18
.workspaces("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_18
.taskChannels.list({ limit: 20 });
_18
_18
taskChannels.forEach((t) => console.log(t.accountSid));
_18
}
_18
_18
listTaskChannel();

Output

_27
{
_27
"channels": [
_27
{
_27
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_27
"date_created": "2016-04-14T17:35:54Z",
_27
"date_updated": "2016-04-14T17:35:54Z",
_27
"friendly_name": "Default",
_27
"sid": "TCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_27
"unique_name": "default",
_27
"url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/TaskChannels/TCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_27
"workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_27
"channel_optimized_routing": true,
_27
"links": {
_27
"workspace": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_27
}
_27
}
_27
],
_27
"meta": {
_27
"first_page_url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/TaskChannels?PageSize=50&Page=0",
_27
"key": "channels",
_27
"next_page_url": null,
_27
"page": 0,
_27
"page_size": 50,
_27
"previous_page_url": null,
_27
"url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/TaskChannels?PageSize=50&Page=0"
_27
}
_27
}


Update a TaskChannel resource

update-a-taskchannel-resource page anchor
POST https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}

Property nameTypeRequiredPIIDescription
WorkspaceSidSID<WS>required

The SID of the Workspace with the Task Channel to update.

Pattern: ^WS[0-9a-fA-F]{32}$Min length: 34Max length: 34

Sidstringrequired

The SID of the Task Channel resource to update.

Property nameTypeRequiredPIIDescription
FriendlyNamestringOptional

A descriptive string that you create to describe the Task Channel. It can be up to 64 characters long.


ChannelOptimizedRoutingbooleanOptional

Whether the TaskChannel should prioritize Workers that have been idle. If true, Workers that have been idle the longest are prioritized.

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_19
// Download the helper library from https://www.twilio.com/docs/node/install
_19
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19
_19
// Find your Account SID and Auth Token at twilio.com/console
_19
// and set the environment variables. See http://twil.io/secure
_19
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19
const authToken = process.env.TWILIO_AUTH_TOKEN;
_19
const client = twilio(accountSid, authToken);
_19
_19
async function updateTaskChannel() {
_19
const taskChannel = await client.taskrouter.v1
_19
.workspaces("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_19
.taskChannels("Sid")
_19
.update({ friendlyName: "FriendlyName" });
_19
_19
console.log(taskChannel.accountSid);
_19
}
_19
_19
updateTaskChannel();

Output

_14
{
_14
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_14
"workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_14
"sid": "Sid",
_14
"friendly_name": "FriendlyName",
_14
"unique_name": "default",
_14
"date_created": "2016-04-14T17:35:54Z",
_14
"date_updated": "2016-04-14T17:35:54Z",
_14
"url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/TaskChannels/TCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_14
"channel_optimized_routing": true,
_14
"links": {
_14
"workspace": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_14
}
_14
}


Delete a TaskChannel resource

delete-a-taskchannel-resource page anchor
DELETE https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}

Property nameTypeRequiredPIIDescription
WorkspaceSidSID<WS>required

The SID of the Workspace with the Task Channel to delete.

Pattern: ^WS[0-9a-fA-F]{32}$Min length: 34Max length: 34

Sidstringrequired

The SID of the Task Channel resource to delete.

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_17
// Download the helper library from https://www.twilio.com/docs/node/install
_17
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_17
_17
// Find your Account SID and Auth Token at twilio.com/console
_17
// and set the environment variables. See http://twil.io/secure
_17
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_17
const authToken = process.env.TWILIO_AUTH_TOKEN;
_17
const client = twilio(accountSid, authToken);
_17
_17
async function deleteTaskChannel() {
_17
await client.taskrouter.v1
_17
.workspaces("WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_17
.taskChannels("Sid")
_17
.remove();
_17
}
_17
_17
deleteTaskChannel();


Rate this page: