名称: ringg-voice-agent
描述: >
将 Ringg AI 语音助手与 OpenClaw 集成,用于通过 Ringg 的 Voice OS 拨打电话、接听电话和管理通话。
当用户希望执行以下操作时,请使用此技能:(1) 通过 Ringg AI 助手拨打外呼语音电话;(2) 从 OpenClaw 触发 Ringg AI 呼叫活动;(3) 从 Ringg 检查通话状态或获取通话历史记录/分析;(4) 管理 Ringg AI 助手(列出、创建、更新);(5) 将 OpenClaw 连接到 Ringg 语音平台,实现潜在客户筛选、反馈收集、预约提醒或订单确认等自动化电话交互;(6) 将 Ringg AI 设置为 OpenClaw 代理的语音提供商。触发词包括:"ringg"、"voice call"、"phone call via ringg"、"ringg agent"、"ringg campaign"、"voice AI call",或任何通过 Ringg AI 平台发起/管理通话的请求。
此技能将 OpenClaw 连接到 Ringg AI —— 一个面向企业的 Voice OS,提供低延迟(<337ms)、多语言(20+ 种语言)的 AI 语音助手,用于潜在客户筛选、反馈收集、确认等电话交互。
RINGG_API_KEY 环境变量(从 Ringg AI 仪表板获取)RINGG_WORKSPACE_ID 环境变量RINGG_DEFAULT_ASSISTANT_ID(用于指定默认语音助手)RINGG_DEFAULT_FROM_NUMBER(用于外呼电话)在 openclaw.json 文件的 skills.entries 下添加:
{
"skills": {
"entries": {
"ringg-voice-agent": {
"enabled": true,
"apiKey": "RINGG_API_KEY",
"env": {
"RINGG_API_KEY": "<您的-ringg-api-key>",
"RINGG_WORKSPACE_ID": "<您的工作空间-id>",
"RINGG_DEFAULT_ASSISTANT_ID": "<可选-默认助手-id>",
"RINGG_DEFAULT_FROM_NUMBER": "<可选-默认号码>"
}
}
}
}
}
通过 Ringg AI 助手向电话号码拨打电话。
# 基本外呼
curl -X POST "https://api.ringg.ai/v1/calls/outbound" \
-H "Authorization: Bearer $RINGG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"assistant_id": "<助手-id>",
"to_number": "+919876543210",
"from_number": "+918001234567",
"dynamic_variables": {
"customer_name": "Rahul",
"order_id": "ORD-12345"
}
}'
参数说明:
- assistant_id — 要使用的 Ringg 语音助手 ID(若未提供,则回退到 RINGG_DEFAULT_ASSISTANT_ID)
- to_number — 目标电话号码,需使用 E.164 格式
- from_number — 主叫号码(若未提供,则回退到 RINGG_DEFAULT_FROM_NUMBER)
- dynamic_variables — 传入助手对话上下文的键值对
当用户说“拨打 +91XXXXXXXXXX”或“给 [姓名/号码] 打电话”时,使用此操作。
如果未指定 assistant_id,则使用 RINGG_DEFAULT_ASSISTANT_ID。如果未指定 from_number,则使用 RINGG_DEFAULT_FROM_NUMBER。
为多个联系人触发批量呼叫活动。
curl -X POST "https://api.ringg.ai/v1/campaigns/launch" \
-H "Authorization: Bearer $RINGG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"campaign_id": "<活动-id>",
"contacts": [
{"phone": "+919876543210", "name": "Rahul", "custom_field": "value"},
{"phone": "+919876543211", "name": "Priya", "custom_field": "value"}
]
}'
当用户要求“启动活动”、“开始呼叫列表”或“为 [列表/细分群体] 运行外呼”时,使用此操作。
curl -X GET "https://api.ringg.ai/v1/calls/{call_id}/status" \
-H "Authorization: Bearer $RINGG_API_KEY"
返回:通话状态(振铃中、进行中、已完成、失败)、持续时间、通话记录摘要和结果分类。
# 最近的通话历史
curl -X GET "https://api.ringg.ai/v1/calls/history?limit=20" \
-H "Authorization: Bearer $RINGG_API_KEY"
# 指定时间范围内的分析数据
curl -X GET "https://api.ringg.ai/v1/analytics?from=2026-02-01&to=2026-02-06" \
-H "Authorization: Bearer $RINGG_API_KEY"
当用户询问“通话情况如何”、“显示通话分析数据”或“昨天的通话发生了什么”时,使用这些端点。
curl -X GET "https://api.ringg.ai/v1/assistants" \
-H "Authorization: Bearer $RINGG_API_KEY"
当用户询问“我有哪些助手”、“列出我的 Ringg 助手”,或在拨打电话前需要选择助手时,使用此操作。
curl -X GET "https://api.ringg.ai/v1/calls/{call_id}/transcript" \
-H "Authorization: Bearer $RINGG_API_KEY"
当用户询问“通话中说了什么”或“获取通话记录文本”时,使用此操作。
Ringg AI 可以通过 Webhook 将实时通话事件推送到 OpenClaw。要接收通话状态更新、记录文本和结果分类:
暴露 OpenClaw 的 Webhook 端点:
bash
ngrok http 18789
在 Ringg AI 仪表板中或通过 API 配置 Webhook URL:
bash
curl -X POST "https://api.ringg.ai/v1/webhooks" \
-H "Authorization: Bearer $RINGG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-ngrok-url.ngrok.io/webhook/ringg",
"events": ["call.completed", "call.failed", "call.transcript_ready"]
}'
OpenClaw 将收到包含通话事件的 POST 负载,这些事件可以触发代理操作。
自然语言触发词 → 操作:
| 用户表述 | 对应操作 |
|---|---|
| “拨打 +919876543210 联系 Rahul” | 使用默认助手发起外呼 |
| “使用 PolicyBazaar 助手呼叫此潜在客户” | 使用特定助手发起外呼 |
| “启动反馈收集活动” | 启动呼叫活动 |
| “最近 10 通电话情况如何?” | 获取通话历史记录 |
| “获取通话 XYZ 的记录文本” | 获取通话记录文本 |
| “我在 Ringg 中有哪些助手?” | 列出助手 |
| “显示今天的通话分析数据” | 获取分析数据 |
RINGG_API_KEY 是否有效assistant_id、call_id 或 campaign_id 是否存在完整的 API 详情,请参阅此技能目录中的 references/api_reference.md,或访问 Ringg AI API 文档。