What you get
AI deflects before a rep ever sees the task
AI deflects before a rep ever sees the task
Tasks arrive with summary, sentiment, and reason
Tasks arrive with summary, sentiment, and reason
handedOff: true, a one-paragraph summary, the reason
for handoff, the detected sentiment, and the conversation language. Your
workflow filter on handedOff == true routes it to the right human queue.One conversation from first message to close
One conversation from first message to close
Flex task attributes usable in Autopilot
Flex task attributes usable in Autopilot
flex_* fields.actions can read them straight out of custom_data.Consistent logging across every task
Consistent logging across every task
Supported channels
Twilio Flex funnels every inbound channel through one Conversations + TaskRouter pipeline. Pick the channel you’re wiring in first — each page covers the implementation details on top of the shared Flex setup.Web Chat
Voice
SMS
Observability
Every conversation OpenCX hands to Flex is traceable in both directions. Reps read the AI’s work on the Flex task; admins trace a Flex task back to the exact OpenCX session.Task and conversation IDs on every session
Task and conversation IDs on every session
task SID, reservation SID, and conversation SID on the session. Search the Inbox by any of them to open the session that produced the task.Handoff summary and sentiment on task attributes
Handoff summary and sentiment on task attributes
handedOff, handoffReason, handoffSummary,
handoffSentiment, handoffLanguage, and handoffTimestamp into the Flex
task’s attributes. Your workflow filter reads them; your rep sees them in the
task panel.`flex_*` fields on OpenCX `custom_data`
`flex_*` fields on OpenCX `custom_data`
session.custom_data as flex_<attribute_name> — e.g. flex_order_id, flex_user_id, flex_customer_name. Usable in Autopilot actions without extra configuration.Handoff note visible to the rep in Flex
Handoff note visible to the rep in Flex
Setup path
Connect credentials
Register the webhook on both Twilio surfaces
Add the workflow filters
handedOff == true
tasks to your human queue.Understand the handoff contract