Workflow Resource
Workflows control how tasks will be prioritized and routed into Queues, and how Tasks should escalate in priority or move across queues over time. Workflows are described in a simple JSON format and can be modified through the REST API or through the account portal. You can learn more about Workflows here.
You specify which Workflow should control a Task when you add the Task to the Workspace. The Workflow will manage the Task's queue and priority until it is either assigned to a Worker, removed from the queue, or modified.
When a Task is assigned to a Worker, your application will receive a callback to the Workflow's AssignmentCallbackUrl
, and your application can then do whatever is required to deliver the Task to the worker (for example, instructing Twilio to dial the phone number of the Worker selected to receive the call). Read more about Task assignment here.
複数のWorkflow
1つのWorkspaceに複数のWorkflowを設定できます。 これにより、さまざまなタイプのアプリケーションや状況に応じて異なるルーティングルールを設定できます。
For example, a call center has one group of Workers that handles both phone and chat tasks. These two Task types have different service-level targets and agent requirements. They will also originate from separate external applications. To separate application concerns, the call center creates a single Workspace with two separate Workflows, one for phone calls and the other for chat requests.
Taskの作成と割り当て
TaskをWorkspaceに追加するたびに、どのWorkflowでこのTaskをルーティングする必要があるかを指定します。 Workflowは、Taskに優先度を付けてQueueに入れます。QueueにあるTaskは、必要なケイパビリティを備えた使用可能なWorkerに割り当てられます。 詳細については、Taskリソースをご覧ください。
AssignmentCallbackUrl によるTask割り当ての処理
Every Workflow has an AssignmentCallbackURL
property, as well as a FallbackAssignmentCallbackUrl
in case requests to the first URL fail. When a Worker is assigned a Task, TaskRouter will make an HTTP request to this URL. Your application must handle this request to then do whatever is required to connect the Task to the Worker in your application. For example, this might mean pushing a case to an instance of an agent's web application, or dialing an agent's phone number using Twilio. See this section for more information on handling Task Assignment callbacks.
The AssignmentCallbackUrl is not required if you are planning on using just the JS SDK. In that case, simply leave the value blank.
If we cannot hit your AssignmentCallbackUrl
or FallbackAssignmentCallbackUrl
, TaskRouter will automatically change your Reservation status to canceled
. To get a better sense of how assignment callbacks work, use a tool like Beeceptor to ensure that the assignment callback is firing correctly and to examine the contents of the post.
Workflow properties
Pagination is not supported under this resource. Please avoid usage of the page
query parameter.
Resource Properties in REST API format | |
---|---|
account_sid
|
The SID of the Account that created the Workflow resource. |
assignment_callback_url
|
The URL that we call when a task managed by the Workflow is assigned to a Worker. See Assignment Callback URL for more information. |
configuration
|
A JSON string that contains the Workflow's configuration. See Configuring Workflows for more information. |
date_created
|
The date and time in GMT when the resource was created specified in RFC 2822 format. |
date_updated
|
The date and time in GMT when the resource was last updated specified in RFC 2822 format. |
document_content_type
|
The MIME type of the document. |
fallback_assignment_callback_url
|
The URL that we call when a call to the |
friendly_name
|
The string that you assigned to describe the Workflow resource. For example, |
sid
|
The unique string that we created to identify the Workflow resource. |
task_reservation_timeout
|
How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker. Can be up to |
workspace_sid
|
The SID of the Workspace that contains the Workflow. |
url
|
The absolute URL of the Workflow resource. |
links
|
The URLs of related resources. |
Create a Workflow resource
https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Workflows
パラメーター
Parameters in REST API format | |
---|---|
workspace_sid
Path
|
The SID of the Workspace that the new Workflow to create belongs to. |
friendly_name
必須
|
A descriptive string that you create to describe the Workflow resource. For example, |
configuration
必須
|
A JSON string that contains the rules to apply to the Workflow. See Configuring Workflows for more information. |
assignment_callback_url
オプション
|
The URL from your application that will process task assignment events. See Handling Task Assignment Callback for more details. |
fallback_assignment_callback_url
オプション
|
The URL that we should call when a call to the |
task_reservation_timeout
オプション
|
How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker. Can be up to |
例 1
Fetch a Workflow resource
https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Workflows/{Sid}
パラメーター
Parameters in REST API format | |
---|---|
workspace_sid
Path
|
The SID of the Workspace with the Workflow to fetch. |
sid
Path
|
The SID of the Workflow resource to fetch. |
例 1
Read multiple Workflow resources
https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Workflows
パラメーター
Parameters in REST API format | |
---|---|
workspace_sid
Path
|
The SID of the Workspace with the Workflow to read. |
friendly_name
オプション
|
The |
例 1
Update a Workflow resource
https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Workflows/{Sid}
Workflowを変更します。Workflowを変更するたびに、次の処理が行われます。
- TaskRouter validates your Workflow configuration to ensure it is syntactically correct and that all queues referenced in the document exist. If any problems are found, the update will fail, and the active Workflow will remain in place.
- 指定された構成に問題がない場合、TaskRouterは、変更前に保留中だったTaskをすべて変更前のWorkflowでルーティングします。変更直後から、新しいTaskは変更後のWorkflowを使い始めます。
パラメーター
Parameters in REST API format | |
---|---|
workspace_sid
Path
|
The SID of the Workspace with the Workflow to update. |
sid
Path
|
The SID of the Workflow resource to update. |
friendly_name
オプション
|
A descriptive string that you create to describe the Workflow resource. For example, |
assignment_callback_url
オプション
|
The URL from your application that will process task assignment events. See Handling Task Assignment Callback for more details. |
fallback_assignment_callback_url
オプション
|
The URL that we should call when a call to the |
configuration
オプション
|
A JSON string that contains the rules to apply to the Workflow. See Configuring Workflows for more information. |
task_reservation_timeout
オプション
|
How long TaskRouter will wait for a confirmation response from your application after it assigns a Task to a Worker. Can be up to |
re_evaluate_tasks
オプション
|
Whether or not to re-evaluate Tasks. The default is |
例 1
Delete a Workflow resource
https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Workflows/{Sid}
Workflowを削除します。 指定されたWorkflowで制御されている、保留中のTaskまたは予約されているTaskが存在する場合はエラーを返します。
パラメーター
Parameters in REST API format | |
---|---|
workspace_sid
Path
|
The SID of the Workspace with the Workflow to delete. |
sid
Path
|
The SID of the Workflow resource to delete. |
例 1
ヘルプが必要ですか?
We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.