Twilio Signal 2016 Omni-channel Routing Bots
-
Upload
twilio-inc -
Category
Technology
-
view
63 -
download
0
Transcript of Twilio Signal 2016 Omni-channel Routing Bots
Task Router is the beating heart of a contact center, made available in the cloud as an API for developers. Tasks are defined in JSON with a set of customizable attributes such as skills required, skill level required and priority.
{
”task-type”: ”Voice”,
“task-skills-required”: “sales”,
“recent-problems”: “false”,
}
1
2
3
4
5
TASK
VOICESMS CHATCRM
A task can be a phone call, SMS, support ticket, lead or machine data.
Everything can be queued, routed and assigned through the same unified business logic.
A task can be a phone call, SMS, support ticket, lead or machine data.
Everything can be queued, routed and assigned through the same unified business logic.
VOICESMS CHATCRM
WORKFLOW
TargetWorkers=' (skill HAS "support") OR (skill HAS "sales")'
ESCALATIONSUPPORT
TargetWorkers='
(skill HAS "support")'
1TargetWorkers='
(skill HAS "sales")'
1
SALES
WORKFLOW The Workflow is the brain of TaskRouter.
The Workflow inspects the task to understand how to route it, based on Task attributes assigned at creation.
WORKFLOW
TargetWorkers=' (skill HAS "support") OR (skill HAS "sales")'
ESCALATIONSUPPORT
TargetWorkers='
(skill HAS "support")'
1TargetWorkers='
(skill HAS "sales")'
1
SALES
WORKFLOW
{ "task_routing":{ "filters":[ { "friendly_name":"Sales Enquiries", "expression":"task-skill-required == 'sales'", "targets":[ { "queue":"Sales QueueSid", "timeout":"15" }, { "queue":"Escalation QueueSid" "priority":"1", } ] }, { "friendly_name":"Support Enquiries", "expression":"task-skill-required == 'support'", "targets":[ { "queue":"Support QueueSid", "timeout":"15" }, { "queue":"Escalation QueueSid" "priority":"1", } ] } ], "default_filter":{ "queue":"Sales QueueSid" }
WORKFLOW
TargetWorkers=' (skill HAS "support") OR (skill HAS "sales")'
ESCALATIONSUPPORT
TargetWorkers='
(skill HAS "support")'
1TargetWorkers='
(skill HAS "sales")'
1
SALES
WORKFLOW
Dynamic Worker Expressions
"targets":[ { "queue":"WQbbb", "priority":"10", "timeout": 300, "expression":"task.requested_agent==worker.agent_name" }, { "queue":"WQccc" } ]
"targets":[ { "queue":"WQbbb", "priority":"10", "timeout": 300, "expression":"task.required_language IN worker.spoken_languages" }, { "queue":"WQccc" } ]
WORKFLOW
SUPPORT
TargetWorkers='
(skill HAS "support")'
1TargetWorkers='
(skill HAS "sales")'
1
SALES
WORKFLOWPredefined Attributes
"filter_friendly_name": "MyFilterName", "expression": "(taskrouter.dayOfWeek IN ['Mon','Tue','Thu'] AND taskrouter.currentTime > 800 AND taskrouter.currentTime < 1730) OR (taskrouter.dayOfWeek IN ['Wed','Fri'] AND taskrouter.currentTime > 900 AND taskrouter.currentTime < 1830) OR (taskrouter.dayOfWeek = 'Sat' AND taskrouter.currentTime > 1100 AND taskrouter.currentTime < 1530)"
TargetWorkers=' (skill HAS "support") OR (skill HAS "sales")'
ESCALATION
WORKFLOW
TargetWorkers=' (skill HAS "support") OR (skill HAS "sales")'
ESCALATIONSUPPORT
TargetWorkers='
(skill HAS "support")'
1TargetWorkers='
(skill HAS "sales")'
1
SALES
WORKFLOWWorkflow Objects don’t just route and forget, but monitor tasks as they’re in the queue.
If a task exceeds a defined timeout period without being handled, the Workflow can define how to escalate the task.
WORKFLOW
TargetWorkers=' (skill HAS "support") OR (skill HAS "sales")'
ESCALATIONSUPPORT
TargetWorkers='
(skill HAS "support")'
1TargetWorkers='
(skill HAS "sales")'
1
SALES
WORKFLOW
21345
Workflow Objects don’t just route and forget, but monitor tasks as they’re in the queue.
If a task exceeds a defined timeout period without being handled, the Workflow can define how to escalate the task.
WORKFLOW
TargetWorkers=' (skill HAS "support") OR (skill HAS "sales")'
ESCALATIONSUPPORT
TargetWorkers='
(skill HAS "support")'
1TargetWorkers='
(skill HAS "sales")'
1
SALES
WORKFLOW
Workers are dynamically matched to queues based on the skills they have and the skills each queue needs to handle those task types. Once a worker is available, the highest priority, longest waiting task will be and allocated to the worker.
Allocation can be done over WebSocket or Webhook.
TargetWorkers=' (skill HAS "support") OR (skill HAS "sales")'
ESCALATIONSUPPORT
TargetWorkers='
(skill HAS "support")'
1TargetWorkers='
(skill HAS "sales")'
1
SALES
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
Workers are dynamically matched to queues based on the skills they have and the skills each queue needs to handle those task types. Once a worker is available, the highest priority, longest waiting task will be allocated to the worker.
Allocation can be done over WebSocket or Webhook.
TargetWorkers=' (skill HAS "support") OR (skill HAS "sales")'
ESCALATIONSUPPORT
TargetWorkers='
(skill HAS "support")'
1TargetWorkers='
(skill HAS "sales")'
1
SALES
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
TaskRouter provides comprehensive statistics by agent, queue or workspace.
Everything needed to build complete historical reporting packages as well as real-time dashboards.
HIGH LEVEL ARCHITECTURE
AL COOK | @CALOZPOM
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
TWILIO
MY APP SERVER
MEYA.AI
TASK CREATED AS UNIQUE RECORD
HIGH LEVEL ARCHITECTURE
AL COOK | @CALOZPOM
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
TWILIO
MY APP SERVER
MEYA.AI
CONVERSATION FLOWS BACK AND FORTH
FIREBASE PROVIDES CONVERSATION RECORD
HIGH LEVEL ARCHITECTURE
AL COOK | @CALOZPOM
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
TWILIO
MY APP SERVER
MEYA.AI
TASK UPDATED
BOT QUALIFIES
HIGH LEVEL ARCHITECTURE
AL COOK | @CALOZPOM
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
{"skill":"support",}
{"skill":"sales",}
123
123
TWILIO
MY APP SERVER
MEYA.AI
MESSAGE IN TO ME:1-855-22-BOT-11
(1-855-222-6811)
FACEBOOK.COM/BRITISHEXPORTS