申请抢先体验

请输入您的名字和公司电子邮箱地址。我们会发送确认 Tajo 访问申请的链接。

Twilio Flex 连接器

连接器状态: 计划中 尚未构建。Tajo 目前不运行此连接器。

示意图 · 示例数据

同步示例

检查一条记录

来源

Twilio Flex

连接器状态: 计划中

目标

您的另一款工具

连接器状态: 自定义工具

来源字段目标字段示例值
record.id source_id record_1042
record.updated_at updated_at 2026-10-18T08:00:00Z
record.value value sample_value
  1. 起草
  2. 检查一条记录
  3. 批准此版本

状态仅针对各个连接器,不保证此同步已就绪。 字段仅供示意。运行同步前,请检查实际架构和权限。

通过 Tajo 将您的 Twilio Flex 联络中心连接到 Brevo,实现统一的客户互动历史、会话后营销流程和支持驱动的互动分析。

概览

属性值
平台Twilio Flex
类别自定义
设置复杂度高级
官方集成否
同步数据用户、会话、事件
使用的 APIFlex API、Conversations API、TaskRouter API
认证方式Account SID + Auth Token / API 密钥
基础 URLhttps://flex-api.twilio.com

功能

  • 会话同步 - 将语音、短信、WhatsApp 和聊天互动转发到 Brevo 时间线
  • 客户档案富化 - 将 Flex 客户数据同步到 Brevo 联系人属性
  • 会话后活动 - 支持会话结束后触发 Brevo 工作流
  • CSAT 事件跟踪 - 将满意度调查结果作为 Brevo 事件同步
  • 坐席活动数据 - 追踪坐席绩效指标,用于运营报告
  • 队列分析 - 转发等待时间和放弃数据,用于体验优化

前提条件

开始之前,请确保您已具备:

  1. 已启用 Flex 的 Twilio 账户
  2. Twilio Account SID 和 Auth Token
  3. 具有活跃频道(语音、短信、聊天或 WhatsApp)的 Flex 实例
  4. 已配置 TaskRouter 工作区
  5. 具有 API 访问权限的 Brevo 账户
  6. 具有有效订阅的 Tajo 账户

认证

Twilio Flex 使用 Twilio 的标准认证方式。

账户凭据

Terminal window
# Basic Auth: Account SID as username, Auth Token as password
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \
-u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"

API 密钥(推荐用于生产环境)

  1. 前往 Twilio 控制台 > 账户 > API 密钥和令牌
  2. 点击创建 API 密钥
  3. 选择标准密钥类型
  4. 安全存储 SID 和密钥
Terminal window
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \
-u "$TWILIO_API_KEY_SID:$TWILIO_API_KEY_SECRET"

Auth Token 与 API 密钥

您的 Auth Token 具有完整账户访问权限。生产环境请使用范围化的 API 密钥。API 密钥可单独撤销,不会影响其他集成。

连接到 Tajo

Terminal window
tajo connectors install twilio-flex \
--account-sid $TWILIO_ACCOUNT_SID \
--auth-token $TWILIO_AUTH_TOKEN \
--flex-flow-sid $TWILIO_FLEX_FLOW_SID

配置

基础设置

connectors:
twilio_flex:
enabled: true
account_sid: "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
flex_flow_sid: "FOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
sync:
conversations: true
tasks: true
customers: true
csat: true
agent_activity: false
lists:
support_contacts: 32
csat_respondents: 33
channels:
- voice
- sms
- whatsapp
- webchat

字段映射

将 Flex 客户和互动数据映射到 Brevo 属性:

field_mapping:
# Customer fields
identity: FLEX_IDENTITY
friendly_name: FIRSTNAME
attributes.email: email
attributes.phone: SMS
# Interaction metrics
last_conversation_date: LAST_SUPPORT_DATE
total_conversations: SUPPORT_TICKET_COUNT
avg_wait_time: AVG_WAIT_TIME
last_csat_score: CSAT_SCORE
preferred_channel: PREFERRED_CHANNEL
# Custom attributes
customer_tier: VIP_TIER
account_id: ACCOUNT_ID

事件映射

event_mapping:
task.created: SUPPORT_REQUESTED
task.completed: SUPPORT_RESOLVED
task.canceled: SUPPORT_ABANDONED
conversation.ended: CONVERSATION_ENDED
survey.completed: CSAT_SUBMITTED

API 端点

Tajo 集成以下 Twilio Flex 及相关 API 端点:

端点方法API用途
/v1/ConfigurationGETFlex获取 Flex 配置
/v1/InteractionsGETFlex列出互动
/v1/ChannelsGETFlex列出 Flex 频道
/v1/WebChannelsPOSTFlex创建网页聊天频道
/v1/ConversationsGETConversations列出会话
/v1/Conversations/{sid}/MessagesGETConversations列出会话消息
/v1/Conversations/{sid}/ParticipantsGETConversations列出参与者
/v1/Workspaces/{sid}/TasksGETTaskRouter列出任务
/v1/Workspaces/{sid}/WorkersGETTaskRouter列出工作人员(坐席)
/v1/Workspaces/{sid}/TaskQueuesGETTaskRouter列出任务队列
/v1/Workspaces/{sid}/EventsGETTaskRouter列出工作区事件

代码示例

初始化连接器

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
await tajo.connectors.connect('twilio-flex', {
accountSid: process.env.TWILIO_ACCOUNT_SID,
authToken: process.env.TWILIO_AUTH_TOKEN,
flexFlowSid: process.env.TWILIO_FLEX_FLOW_SID
});

同步会话历史

await tajo.connectors.sync('twilio-flex', {
type: 'incremental',
resources: ['conversations'],
since: '2024-01-01',
channels: ['voice', 'sms', 'whatsapp']
});
const status = await tajo.connectors.status('twilio-flex');
console.log(status);
// {
// connected: true,
// lastSync: '2024-03-15T16:00:00Z',
// conversationsTracked: 12400,
// customersLinked: 8900,
// agentsMonitored: 45
// }

会话后活动触发

// Trigger a Brevo follow-up after a support conversation ends
app.post('/webhooks/flex/task-complete', async (req, res) => {
const task = req.body;
await tajo.connectors.handleEvent('twilio-flex', {
type: 'task.completed',
payload: {
taskSid: task.TaskSid,
customerEmail: task.TaskAttributes?.email,
channel: task.TaskChannelUniqueName,
duration: task.Age,
queueName: task.TaskQueueFriendlyName
}
});
res.status(200).send('OK');
});

Flex 插件集成

// Inside a Flex UI Plugin - send data to Tajo
import { FlexPlugin } from '@twilio/flex-plugin';
class TajoPlugin extends FlexPlugin {
init(flex, manager) {
flex.Actions.addListener('afterCompleteTask', async (payload) => {
await fetch('https://api.example.com/webhooks/flex/task-complete', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
TaskSid: payload.task.sid,
TaskAttributes: payload.task.attributes,
TaskChannelUniqueName: payload.task.taskChannelUniqueName,
Age: payload.task.age
})
});
});
}
}

Caution

上面的 example.com 地址是占位值,在 Tajo 端点可用之前仅作示例。

速率限制

Twilio 跨其 API 实施速率限制:

API速率限制说明
Flex API100 请求/秒每账户
Conversations API100 请求/秒每账户
TaskRouter API30 读取请求/秒每工作区
TaskRouter 事件20 请求/秒每工作区

事件流

对于高流量事件处理,考虑使用 Twilio 事件流而非轮询 TaskRouter 事件。事件流通过 Webhook 或 Kinesis 实时推送事件。

故障排除

常见问题

问题原因解决方案
401 UnauthorizedSID 或令牌无效在 Twilio 控制台中验证 Account SID 和 Auth Token
403 ForbiddenFlex 未启用确保您的 Twilio 账户已激活 Flex
会话缺失日期范围错误扩展同步日期范围或检查会话状态
任务未追踪TaskRouter 工作区不匹配验证正确的工作区 SID
插件未触发事件监听器未注册检查 Flex 插件是否已部署并激活

调试模式

connectors:
twilio_flex:
debug: true
log_level: verbose
log_api_calls: true

测试连接

Terminal window
tajo connectors test twilio-flex
# ✓ Flex API connection successful
# ✓ Conversations API accessible
# ✓ TaskRouter workspace found
# ✓ Agent list readable
# ✓ Queue configuration loaded

最佳实践

  1. 使用 API 密钥而非 Auth Token - API 密钥可范围化且可单独撤销
  2. 利用事件流 - 基于推送的事件比轮询 TaskRouter 更高效
  3. 构建 Flex 插件 - 使用 UI 插件实时捕获任务完成事件
  4. 一致映射频道 - 将语音、短信和聊天数据规范化为统一的 Brevo 事件
  5. 追踪 CSAT 评分 - 将满意度数据同步到 Brevo 用于体验驱动的细分
  6. 监控队列指标 - 使用等待时间数据触发主动客户通信

安全

  • Account SID + Auth Token - Twilio 标准认证
  • API 密钥 - 可撤销的非根凭据,用于生产环境
  • 仅 HTTPS - 所有 API 通信通过 TLS 1.2+ 加密
  • Webhook 验证 - 使用 X-Twilio-Signature 验证 Twilio Webhook 签名
  • PCI 合规 - Twilio Flex 通过 PCI DSS Level 1 合规
  • 加密存储 - 凭据在 Tajo 中静态加密

相关资源

申请抢先体验

请输入您的名字和公司电子邮箱地址。我们会发送确认 Tajo 访问申请的链接。

AI 助手

你好!关于文档有任何问题都可以问我。

本页的 Markdown: twilio-flex.md

正在加载 Markdown…