WhatsApp

将 WhatsApp 商业账户连接到 ElevenLabs Agents

概述

你可以将 WhatsApp 商业账户连接到 ElevenLabs 智能体。智能体随后可以处理:

  • 消息对话——文本、语音消息、媒体和互动消息
  • 通话——呼入和呼出

其他渠道的智能体也可以通过 WhatsApp 工具发送 WhatsApp 消息。

刚开始在 ElevenLabs 上使用 WhatsApp?请参阅入门指南。

导入 WhatsApp 商业账户

1

导入账户

前往 WhatsApp 页面,点击 导入账户 按钮:

WhatsApp 页面
2

授权 ElevenLabs

这将打开授权流程,你可以在其中选择账户并授予 ElevenLabs 管理权限:

WhatsApp 授权流程
3

分配智能体

完成账户导入后,系统会跳转到账户设置页面,你可以在此为其分配智能体:

WhatsApp 账户页面

如果未为账户分配智能体,呼入消息将被忽略,呼入电话将被拒接。不过,你仍可拨打呼出电话。

4

配置 WhatsApp Manager

前往 WhatsApp Manager 进行以下操作:

  • 配置头像等:打开 Phone numbers 页面,选择一个电话号码,然后前往 Profile 标签页
  • 允许语音通话:打开 Phone numbers 页面,选择一个电话号码,然后前往 Call settings 标签页
  • 如需拨打呼出电话,添加付款方式:打开 Overview 页面,点击 Add payment method 按钮

账户设置

每个导入的号码都有用于控制智能体行为的设置:

  • 启用消息功能——智能体是否回复消息。关闭后,ElevenLabs 仅处理通话,而消息由你的应用处理。
  • 启用语音消息回复——开启时(默认),智能体会用语音消息回复语音消息;关闭时,始终使用文本回复。
  • 启用正在输入指示器——开启时(默认),智能体会将收到的消息标记为已读,并在撰写回复时显示正在输入指示器。

消息对话

当智能体使用结束对话 系统工具、配置的 最长对话时长 到期,或智能体最近一次回复后的默认非活动超时到期时,WhatsApp 消息对话将结束。

WhatsApp 消息对话的默认非活动超时时间为 15 分钟,从智能体最近一次回复开始计算。详细了解对话超时。

呼入

你可以向 WhatsApp 商业账户发送消息,智能体会回复:

WhatsApp 文本对话

任一超时到期时,ElevenAgents 会在关闭对话前发送配置的 最长对话时长消息。如果该消息为空,对话将直接关闭,不发送告别消息。

智能体不仅能理解纯文本:

  • 引用回复——当用户长按一条消息并回复时,智能体知道用户正在回复哪条消息。
  • 回应——用户对智能体消息添加的表情回应会传递给智能体。
  • 模板按钮点击——当用户点击模板中的快速回复按钮时,智能体可以识别所选按钮。
  • 互动回复——点击互动按钮和列表后,智能体会收到所选选项。

智能体会分别回复每条传入消息。连续快速发送的消息不会合并为一次回复。

呼出

你可以通过控制台或 API 发送经 Meta 批准的消息模板来发起对话,也可以通过通话权限请求安排呼出电话。有关创建模板、代码示例、收件人格式规则和批量营销活动,请参阅呼出消息和模板。

消息类型

除了文本外,还可以发送:

  • 音频
    • 呼入语音消息会先转录为文本,再传递给智能体。
    • 默认情况下,智能体会使用配置的音色生成语音消息来回复语音消息——任意音色、任意语言。在账户设置中关闭 启用语音消息回复,即可始终使用文本回复。如果音频生成失败,智能体会改用文本回复。
    • 音频消息会产生额外的语音转文本和文本转语音费用。定价与 STT 和 TTS API 相同。
  • 图片
  • 文档
  • 贴纸
  • 位置
  • 联系人
WhatsApp 音频对话
WhatsApp 图片对话
WhatsApp 文档对话
WhatsApp 位置对话
WhatsApp 联系人对话

通话

呼入

你可以呼叫 WhatsApp 商业账户,智能体会接听。通话期间,也可以发送文本消息,这些消息会纳入对话。

呼出

呼出电话需要获得用户许可,并通过模板请求许可。有关流程、代码示例和批量呼叫,请参阅安排呼出电话。

个性化

我们会将 {{system__caller_id}} 和 {{system__called_number}} 动态变量设置为 WhatsApp 用户 ID 和你的 WhatsApp 电话号码 ID(或反过来,取决于由谁发起对话)。你可以在工具或对话发起 webhook中使用这些变量,以获取对话中用户的相关信息。

你可以前往 WhatsApp 页面,点击账户旁的菜单,然后选择 Copy phone number ID,以查找 WhatsApp 电话号码 ID。

初始化上下文

如果智能体除了上述系统变量外还使用动态变量,需要规划这些变量值的来源。如果智能体未使用动态变量,则无需考虑这些内容。

呼入对话开始时没有用户提供的动态变量。支持的值提供方式是使用对话发起 webhook:当 WhatsApp 消息发起对话时,ElevenAgents 会使用 WhatsApp 用户 ID 作为 caller_id、WhatsApp 电话号码 ID 作为 called_number 调用你的端点,并应用响应返回的动态变量。Webhook 应始终返回智能体所需的每个变量——如果有 CRM 值则使用该值,否则使用备用常量。

智能体编辑器中 Dynamic Variables 下输入的值,仅用于预览智能体的测试占位符。它们不会用于生产环境,也不会作为呼入对话的默认值。

呼出对话从呼出消息或通话请求的 conversation_initiation_client_data.dynamic_variables 字段获取值。这些值会在整个对话期间保留,用户回复时仍然可用。模板参数是独立字段,不会填充动态变量。

没有值的必填变量会导致对话失败。请参阅故障排除指南中的缺失动态变量。

system__called_number 的值是 WhatsApp 电话号码 ID,而不是电话号码本身。WhatsApp 用户标识符也正在迁移至 Business-Scoped User IDs (BSUIDs);ElevenAgents 支持 BSUID,因此即使 Meta 提供的是 ID 而非用户电话号码,对话也能正常运行。

限制

目前不支持以下功能:

  • WhatsApp Flows——无法发送互动表单,Flow 回复也不会传递给智能体。
  • 视频消息——呼入视频不会传递给智能体。
  • 消息批处理——智能体会逐条回复消息,而不会合并连续快速发送的消息。
  • 由其他服务商管理的号码——无法导入已注册其他 WhatsApp 服务商或正在 WhatsApp Business 应用中使用的号码。我们正与 Meta 合作启用 Multi-Solution Conversations;仅语音设置可能已可通过 SIP 实现(参阅 FAQ)。
  • 在开发者应用下创建的 WABA——无法通过标准流程导入。
  • 广告引荐元数据——智能体无法获取点击 WhatsApp 广告的归因数据(参阅 FAQ)。
  • 人工转接——即将推出(参阅 FAQ)。

常见问题

有关定价、多服务商设置、人工转接、零保留模式、OTP 和合规性的常见问题,请参阅故障排除和常见问题。