name: opencawl description: 该技能允许您为您的 Claw 设定一个电话号码,并通过 OpenCawl 进行电话通话的管理。当用户需要您拨打电话、预约通话、检查通话状态、设置来电处理方式,或查看通话记录或结果时,都可以使用此技能。 homepage: https://opencawl.com metadata: {"openclaw": {"emoji": "📞", "requires": {"env": ["OPENCAWL_API_KEY"]}, "primaryEnv": "OPENCAWL_API_KEY"}}
OpenCawl
该技能允许您为您的Claw设置一个电话号码,并通过OpenCawl API发起和管理出站及入站电话呼叫。实际的通话服务由ElevenLabs和Twilio提供。
安全性说明:
该技能仅使用您配置的凭据和URL(OPENCAWL_API_KEY,可选)以及Webhook地址。它不会读取您机器上的其他文件。所有出站HTTPS请求都会发送到您配置的OpenCawl API地址以及您提供的Webhook地址。
设置步骤
- 访问 https://opencawl.com 注册账户。
- 复制入门指南中的设置命令,并在您的OpenCawl终端中执行:
openclaw skills install opencawl --key <您的OpenCawl API密钥>。 - 等待OpenCawl控制台显示您的Claw已成功连接。
- 如果您更喜欢手动配置,请将
OPENCAWL_API_KEY设置到您的环境变量中,或通过~/.openclaw/openclaw.json文件中的skills.entries.opencawl.apiKey进行配置。 - 当您需要获取详细的电话号码、入站呼叫配置以及Webhook/工具配置报告时,运行
/opencawl setup命令。
呼叫架构
OpenCawl主要围绕以下模式进行优化:
出站和入站呼叫:自动化处理
OpenCawl会将呼叫任务和上下文信息发送给ElevenLabs,随后ElevenLabs负责处理实际的通话过程,而Twilio则负责拨打电话。通话结束后,系统会通过Webhook发送结果;您也可以选择使用轮询方式获取结果(作为备用方案)。
适用场景:
预约安排、潜在客户评估、外展联系、跟进电话、收款等——任何具有可预测通话流程的场景。
命令说明
call — 发起出站呼叫
该命令用于发起基于特定目标的出站呼叫。系统会立即返回一个call_id,并异步执行呼叫。您可以使用status命令来跟踪呼叫的进展情况。
参数:
to(必填):E.164格式的电话号码(例如:+15551234567)goal(必填):呼叫的具体目标(用通俗语言描述)context(可选):代理需要了解的背景信息(如潜在客户的来源、之前的互动记录、可能遇到的异议等)persona(可选):语音/性格配置(例如:professional-friendly、direct-confident)voice_id(可选):直接指定使用的语音库中的语音(例如:rachel、thomas)max_duration_seconds(可选):呼叫时间的最大限制(默认:300秒,最大值:1800秒)on_completion_webhook(可选):OpenCawl将呼叫结果发送到的HTTPS URL
示例:
(命令示例略)
返回值:call_id、status: "ringing"(表示呼叫正在拨出中)
status — 查询呼叫状态
该命令用于查询呼叫的当前状态和结果。
参数:
call_id(必填):由call命令返回的呼叫ID
返回值:
(返回呼叫的当前状态,例如:initiated、queued、ringing、in_progress、completed、failed、no_answer、voicemail、busy等)
calls — 列出最近发生的呼叫
该命令用于列出所有呼叫记录,支持可选的过滤条件。
参数:
status(可选):按状态筛选呼叫from(可选):呼叫的开始日期范围(ISO格式)to(可选):呼叫的结束日期范围(ISO格式)limit(可选):返回的结果数量上限(默认:20条,最大值:100条)cursor(可选):从上一次查询结果开始的页码
hangup — 结束正在进行的呼叫
该命令用于终止正在进行的呼叫。
参数:
call_id(必填):需要终止的呼叫IDreason(可选):结束呼叫的原因(例如:goal_achieved、no_answer_threshold)
voicemail — 查看语音邮件
该命令用于列出并读取存储在您的OpenCawl电话号码上的语音邮件。
参数:
limit(可选):返回的语音邮件数量上限(默认:10条)unread_only(可选):仅显示未阅读的语音邮件(true)
credits — 查看账户余额
该命令用于显示您的账户余额、套餐名称、剩余通话时间以及下一次余额重置的日期。
setup — 首次初始化
该命令用于获取您的当前电话号码、入站呼叫配置、网关配置以及ElevenLabs的Webhook/工具端点信息。建议在安装该技能后运行一次。
语音配置
“Personas”(角色配置)决定了OpenCawl在通话中的语音表现。每个角色对应ElevenLabs语音库中的特定语音文件。
| 角色名称 | 语音文件 | 适用场景 |
|---|---|---|
professional-friendly |
Emily | 适用于B2B外展、产品演示等正式场合 |
direct-confident |
Thomas | 适用于高管外展、跟进电话等自信场合 |
empathetic-support |
Serena | 适用于客服、新员工入职引导等需要同情心的场景 |
energetic-sales |
Freya | 适用于中小企业销售、产品推广等需要积极态度的场景 |
neutral-informational |
Adam | 适用于发送预约提醒、进行调查等信息性通话 |
您可以在call命令中指定所需的语音角色;如果省略该参数,系统将使用默认的语音设置。您也可以直接提供voice_id来指定具体的语音文件。
更多关于语音库和ElevenLabs角色配置的详细信息,请参阅references/personas.md文件。
入站呼叫功能
为了让共享的ElevenLabs代理在通话中执行具体任务,您需要在OpenCawl设置中配置每个用户对应的Webhook地址。代理会通过OpenCawl提供的工具来处理任务分配和状态更新。
配置文件参考
配置文件位于~/.openclaw/openclaw.json。
相关文档
references/inbound.md:入站呼叫的自动化设置及网关任务分配方案references/personas.md:语音/角色配置及ElevenLabs语音文件映射references/api.md:OpenCawl REST API的完整参考文档(包含所有端点及请求/响应格式)