Ringg Voice Agent Skill for OpenClaw
This skill connects OpenClaw to Ringg AI — a Voice OS for enterprises
that provides low-latency (<337ms), multilingual (20+ languages) AI voice agents for phone
interactions including lead qualification, feedback collection, confirmations, and more.
Prerequisites
- - A Ringg AI account with API access
- INLINECODE0 environment variable set (obtain from Ringg AI dashboard)
- INLINECODE1 environment variable set
- Optional:
RINGG_DEFAULT_ASSISTANT_ID for a default voice agent - Optional:
RINGG_DEFAULT_FROM_NUMBER for outbound calls
Configuration
Add to openclaw.json under skills.entries:
CODEBLOCK0
Available Actions
1. Make an Outbound Call
Initiate a call from a Ringg AI assistant to a phone number.
CODEBLOCK1
Parameters:
- -
assistant_id — ID of the Ringg voice agent to use (falls back to RINGG_DEFAULT_ASSISTANT_ID) - INLINECODE8 — Destination phone number in E.164 format
- INLINECODE9 — Caller ID number (falls back to
RINGG_DEFAULT_FROM_NUMBER) - INLINECODE11 — Key-value pairs passed into the agent's conversation context
When the user says "call +91XXXXXXXXXX" or "make a call to [name/number]", use this action.
If no assistantid is specified, use RINGG_DEFAULT_ASSISTANT_ID. If no fromnumber is specified,
use RINGG_DEFAULT_FROM_NUMBER.
2. Launch a Campaign
Trigger a batch calling campaign for multiple contacts.
CODEBLOCK2
When the user asks to "launch a campaign", "start calling a list", or "run outbound calls for
[list/segment]", use this action.
3. Check Call Status
CODEBLOCK3
Returns: call status (ringing, in-progress, completed, failed), duration, transcript summary,
and disposition.
4. Get Call History & Analytics
CODEBLOCK4
When the user asks "how did the calls go", "show me call analytics", or "what happened on
yesterday's calls", use these endpoints.
5. List Assistants
CODEBLOCK5
When the user asks "which agents do I have", "list my ringg assistants", or needs to select
an assistant before making a call, use this.
6. Get Call Transcript
CODEBLOCK6
When the user asks "what was said on the call" or "get the transcript", use this.
Webhook Integration (Inbound Events)
Ringg AI can push real-time call events to OpenClaw via webhooks. To receive call status
updates, transcripts, and dispositions:
- 1. Expose OpenClaw's webhook endpoint:
CODEBLOCK7
- 2. Configure the webhook URL in Ringg AI dashboard or via API:
CODEBLOCK8
- 3. OpenClaw will receive POST payloads with call events that can trigger agent actions.
Usage Patterns
Natural language triggers → actions:
| User says | Action |
|---|
| "Call Rahul at +919876543210" | Outbound call with default assistant |
| "Use the PolicyBazaar agent to call this lead" |
Outbound call with specific assistant |
| "Launch the feedback campaign" | Campaign launch |
| "How did the last 10 calls go?" | Call history |
| "Get the transcript for call XYZ" | Call transcript |
| "What agents do I have in Ringg?" | List assistants |
| "Show me today's call analytics" | Analytics |
Error Handling
- - 401 Unauthorized: Check
RINGG_API_KEY is valid - 404 Not Found: Verify assistantid, callid, or campaign_id exists
- 429 Rate Limited: Back off and retry after the indicated interval
- Phone number format: Always use E.164 format (e.g., +919876543210 for India)
API Reference
For full API details, see references/api_reference.md in this skill directory, or
visit the Ringg AI API Docs.
OpenClaw的Ringg语音助手技能
该技能将OpenClaw连接到Ringg AI——一个面向企业的语音操作系统,提供低延迟(<337毫秒)、多语言(20+种语言)的AI语音助手,用于电话交互,包括潜在客户筛选、反馈收集、确认等。
前提条件
- - 具有API访问权限的Ringg AI账户
- 设置RINGGAPIKEY环境变量(从Ringg AI控制面板获取)
- 设置RINGGWORKSPACEID环境变量
- 可选:RINGGDEFAULTASSISTANTID用于默认语音助手
- 可选:RINGGDEFAULTFROMNUMBER用于外呼电话
配置
在openclaw.json的skills.entries下添加:
json
{
skills: {
entries: {
ringg-voice-agent: {
enabled: true,
apiKey: RINGGAPIKEY,
env: {
RINGGAPIKEY: <你的ringg-api密钥>,
RINGGWORKSPACEID: <你的工作区ID>,
RINGGDEFAULTASSISTANT_ID: <可选的默认助手ID>,
RINGGDEFAULTFROM_NUMBER: <可选的默认号码>
}
}
}
}
}
可用操作
1. 发起外呼
从Ringg AI助手向电话号码发起通话。
bash
基本外呼
curl -X POST https://api.ringg.ai/v1/calls/outbound \
-H Authorization: Bearer $RINGG
APIKEY \
-H Content-Type: application/json \
-d {
assistant_id: <助手ID>,
to_number: +919876543210,
from_number: +918001234567,
dynamic_variables: {
customer_name: Rahul,
order_id: ORD-12345
}
}
参数:
- - assistantid — 要使用的Ringg语音助手ID(回退到RINGGDEFAULTASSISTANTID)
- tonumber — 目标电话号码,采用E.164格式
- fromnumber — 主叫号码(回退到RINGGDEFAULTFROMNUMBER)
- dynamicvariables — 传入助手对话上下文的键值对
当用户说拨打+91XXXXXXXXXX或给[姓名/号码]打电话时,使用此操作。
如果未指定assistantid,则使用RINGGDEFAULTASSISTANTID。如果未指定from_number,
则使用RINGGDEFAULTFROM_NUMBER。
2. 启动营销活动
为多个联系人触发批量呼叫活动。
bash
curl -X POST https://api.ringg.ai/v1/campaigns/launch \
-H Authorization: Bearer $RINGGAPIKEY \
-H Content-Type: application/json \
-d {
campaign_id: <活动ID>,
contacts: [
{phone: +919876543210, name: Rahul, custom_field: value},
{phone: +919876543211, name: Priya, custom_field: value}
]
}
当用户要求启动营销活动、开始呼叫列表或为[列表/细分]运行外呼时,使用此操作。
3. 检查通话状态
bash
curl -X GET https://api.ringg.ai/v1/calls/{call_id}/status \
-H Authorization: Bearer $RINGGAPIKEY
返回:通话状态(振铃中、进行中、已完成、失败)、持续时间、通话摘要和处置结果。
4. 获取通话历史和分析
bash
最近通话历史
curl -X GET https://api.ringg.ai/v1/calls/history?limit=20 \
-H Authorization: Bearer $RINGG
APIKEY
时间范围分析
curl -X GET https://api.ringg.ai/v1/analytics?from=2026-02-01&to=2026-02-06 \
-H Authorization: Bearer $RINGG
APIKEY
当用户询问通话情况如何、显示通话分析或昨天的通话发生了什么时,使用这些端点。
5. 列出助手
bash
curl -X GET https://api.ringg.ai/v1/assistants \
-H Authorization: Bearer $RINGGAPIKEY
当用户询问我有哪些助手、列出我的Ringg助手或在拨打电话前需要选择助手时,使用此操作。
6. 获取通话记录
bash
curl -X GET https://api.ringg.ai/v1/calls/{call_id}/transcript \
-H Authorization: Bearer $RINGGAPIKEY
当用户询问通话中说了什么或获取通话记录时,使用此操作。
Webhook集成(入站事件)
Ringg AI可以通过Webhook将实时通话事件推送到OpenClaw。要接收通话状态更新、通话记录和处置结果:
- 1. 暴露OpenClaw的Webhook端点:
bash
ngrok http 18789
- 2. 在Ringg AI控制面板或通过API配置Webhook URL:
bash
curl -X POST https://api.ringg.ai/v1/webhooks \
-H Authorization: Bearer $RINGG
APIKEY \
-H Content-Type: application/json \
-d {
url: https://你的ngrok-url.ngrok.io/webhook/ringg,
events: [call.completed, call.failed, call.transcript_ready]
}
- 3. OpenClaw将接收带有通话事件的POST负载,这些事件可以触发助手操作。
使用模式
自然语言触发 → 操作:
| 用户说 | 操作 |
|---|
| 拨打Rahul的电话+919876543210 | 使用默认助手外呼 |
| 使用PolicyBazaar助手拨打这个潜在客户 |
使用特定助手外呼 |
| 启动反馈活动 | 启动营销活动 |
| 最近10次通话情况如何? | 通话历史 |
| 获取通话XYZ的通话记录 | 通话记录 |
| 我在Ringg中有哪些助手? | 列出助手 |
| 显示今天的通话分析 | 分析 |
错误处理
- - 401未授权:检查RINGGAPIKEY是否有效
- 404未找到:验证assistantid、callid或campaign_id是否存在
- 429请求过多:等待指示的时间间隔后重试
- 电话号码格式:始终使用E.164格式(例如,印度号码为+919876543210)
API参考
有关完整的API详情,请参阅此技能目录中的references/apireference.md,或访问Ringg AI API文档。