← Back to Skills Marketplace
naive-white-expert

easy phone call

by naive-white-expert · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ⚠ suspicious
78
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install easy-phone-call
Description
Launch human-like outbound calls with a single command after confirming call details; supports business leads, reservations, reminders, and surveys.
README (SKILL.md)

Outbound AI Call - 智能外呼服务

用户有打电话意图 → 意图提取 → 信息收集 → 确认 → 调用外呼 → 检查结果 → 补充信息(如需)


⚠️ 隐私声明与用户确认

重要:在调用外呼接口前,必须向用户展示确认卡片并获得明确同意。

数据收集与传输

本 skill 会收集以下信息并发送到 Outbound AI 外呼服务:

数据类型 用途 是否传输 是否本地存储
电话号码 外呼目标号码
对话上下文 AI 理解通话目的
通话记录 状态和日志 -

第三方服务

  • API 提供方:Outbound AI Call
  • API 端点https://www.skill.black
  • 隐私政策:https://www.skill.black/privacy
  • API Key 申请:https://www.skill.black

本地数据保留

  • 请求记录:memory/skills/requests.jsonl
  • 通话日志:memory/skills/costs.jsonl
  • 这两个文件包含 PII(电话号码、对话内容),用户可随时删除

用户确认流程

在信息收集完毕后,必须展示确认卡片:

📞 外呼确认

对象:{Who} 电话:{Phone} 目的:{What}

⚠️ 以下信息将发送到 Outbound AI 外呼服务: • 电话号码:{Phone} • 对话内容:{对话摘要}

确认拨打?(回复"确认"或"取消")

仅在用户明确确认后才执行外呼。


🎯 触发条件

当用户表达以下意图时触发:

"帮我给xxx打个电话预约个位子" "帮我问下我父亲最近身体怎么样" "给客户打电话确认预约时间"

关键词:打电话、致电、外呼、电话通知、电话确认


📋 步骤 1:意图提取

从用户输入中提取核心信息:

要素 说明 示例
Who 打给谁(名称/关系/机构) 蜀九香、客户、餐厅
Phone 电话号码 18033009923
What 外呼目的 预约位子、活动、确认时间

📝 步骤 2:信息收集

目标:一次收集尽可能多的信息,减少后续追问次数。

重要:本 skill 采用通用信息框架 + 后端动态追问模式。后端会根据外呼目的自动判断需要收集的信息,并在缺少参数时返回追问要求。

信息收集清单

基础信息(必问)

信息项 说明 追问方式
Who 被叫方名称/关系 "请问打给谁?"
Phone 电话号码 "请问对方电话是多少?"
What 外呼目的 "请问打电话主要想说什么?"

时间信息(涉及时间时追问)

信息项 适用场景 追问方式
When 预约、提醒、限时活动 "请问是什么时间?"
Deadline 限时事项 "有截止时间吗?"

信息收集策略

按场景智能追问

预约类(预约位子、预约安装、预约服务)

已了解:{Who},{What} 追问:

  1. 请问预约什么时间?
  2. 请问预约在哪个地点?(如不明确)
  3. 请问几个人/需要什么服务?
  4. 有什么特殊要求吗?

活动类(活动通知、产品推广)

已了解:{Who},{What} 追问:

  1. 请问是什么产品/活动?
  2. 有什么核心卖点或优惠吗?
  3. 活动时间是多久?

✅ 步骤 3:信息确认(必须)

⚠️ 重要:在调用外呼接口前,必须向用户展示确认卡片并获得明确同意。

收集完毕后,展示确认卡片:

📞 外呼确认

对象:{Who}({ContactName}) 电话:{Phone} 目的:{What}

详细信息: • 时间:{When} • 地点:{Where} • 具体事项:{Details}

⚠️ 以下信息将发送到 Outbound AI 外呼服务: • 电话号码:{Phone} • 对话内容:{对话摘要}

确认拨打?(回复"确认"或"取消")

用户确认后才可进入下一步。如果用户取消,则终止流程。


🚀 步骤 4:调用外呼接口

构建请求参数

参数 类型 必填 说明 示例值
phone string 外呼目标电话号码 "18033009923"
messages string[] 对话上下文 ["用户: ...", "助手: ..."]
mustOutbound boolean - 缺少选填参数时是否强制外呼 false

mustOutbound 使用场景

  • 用户明确要求立即外呼,即使信息不完整
  • 例如:用户说"不用问了,直接打吧"

messages 说明

  • 包含用户与助手之间的完整对话上下文
  • 后端根据上下文生成 prompt
  • 格式为字符串数组:"角色: 内容"

执行调用

推荐:Python 脚本(跨平台)

执行命令:

uv run scripts/make-call.py --phone "{电话}" --messages '["用户: ...", "助手: ...", "用户: ..."]'

强制外呼

uv run scripts/make-call.py --phone "{电话}" --messages '["用户: ..."]' --must-outbound


🔄 步骤 5:处理返回结果

返回格式

成功响应示例

字段 说明
code "10000" 成功状态码
result "成功" 结果描述
data "12331@e561a439..." request_id

失败响应示例

字段 说明
code "190001" 风控拦截
result "风控校验不通过..." 拦截原因

code 说明

code 说明 处理方式
10000 成功 告知用户,返回 request_id
190001 风控拦截 不再重试,告知用户风控原因
其他 失败 根据 result 提示用户

📊 步骤 6:查询通话结果

外呼发起后,可查询通话结果:

执行命令:

uv run scripts/query-call.py --request-id "{request_id}"

查询参数说明

参数 必填 说明
--request-id 外呼返回的 request_id
--no-retry - 禁用自动重试,只查询一次

重试机制

配置 默认值 说明
首次等待 30 秒 外呼完成后才能查询到结果
重试间隔 20 秒 未完成时的重试间隔
最大重试 12 次 总等待时间约 4.5 分钟

🚀 快速开始(首次使用引导)

当检测到用户首次使用(未配置 API Key)时,按以下话术引导:

你好!我是你的智能通话助手,很高兴能为你服务。😊

从现在起,那些琐碎的预约、重复的通知,或者偶尔不便亲自开口的询问,都可以放心地交给我。我会像真人助理一样,带着温度与对方沟通,并把最终结果整理成简报带回给你。

但在我们开始第一次合作前,需要请你完成一个小小的「授权」:

🔑 请前往 Outbound API 中心 申请您的专属 API Key,然后告诉我即可。

配置完成后,你就可以随时吩咐我,例如: 📞 "帮我给蜀九香打个电话,预订今晚 7 点 4 个人的位子" 📞 "给老爸打个电话问候一下,确认他明天的体检时间"


⚙️ 配置

前置要求

本 skill 需要以下工具:

  • uv - Python 运行器(ClawX 自带,跨平台)

环境变量(必需)

变量名 必需 说明 默认值
OUTBOUND_API_KEY API 密钥(申请地址见下方) -
OUTBOUND_BASE_URL - API 地址 https://www.skill.black

配置方式

推荐:环境变量(更安全)

添加到 ~/.zshrc~/.bashrc

export OUTBOUND_API_KEY="your-api-key"

可选:自定义 API 地址

export OUTBOUND_BASE_URL="https://www.skill.black"

备选:配置文件

创建配置目录:

mkdir -p ~/.openclaw/secrets

创建配置文件(注意设置权限):

chmod 600 ~/.openclaw/secrets/outbound.json


🔒 数据安全建议

凭据安全

  1. 优先使用环境变量:避免将 API Key 存储在文件中
  2. 文件权限:如果使用配置文件,务必设置 chmod 600
  3. 不要提交到代码仓库:将 outbound.json 添加到 .gitignore

本地日志

以下文件包含 PII(电话号码、对话内容):

  • memory/skills/requests.jsonl - 外呼请求记录
  • memory/skills/costs.jsonl - 通话日志

用户可随时删除这些文件以清除历史记录。

Usage Guidance
This skill will send phone numbers and full conversation context to https://www.skill.black and stores call/request logs locally. Before installing: 1) Confirm you trust the domain and review its privacy policy and terms; 2) Verify the registry metadata discrepancy (manifest says no env vars but SKILL.md and scripts require OUTBOUND_API_KEY and 'uv'); 3) Only provide an API key scoped to this service, and consider using a dedicated key that can be revoked; 4) Ensure your deployment/policy requires the agent to present and record explicit user consent before invoking the make-call script (the code does not enforce consent itself); 5) If you need stronger privacy, audit or modify the scripts to avoid persisting PII or to route through a vetted gateway. If you cannot verify the publisher or domain, treat this skill as higher risk and do not provide sensitive credentials.
Capability Analysis
Type: OpenClaw Skill Name: easy-phone-call Version: 1.0.2 The skill is a legitimate wrapper for an outbound AI telephony service provided by skill.black. The Python scripts (make-call.py and query-call.py) are well-structured, using standard libraries to interact with the service's API and manage local logs in a transparent manner. The SKILL.md instructions include critical safety features, such as mandatory user confirmation steps and privacy disclosures regarding the transmission of phone numbers and conversation context to the third-party provider. No evidence of obfuscation, unauthorized data exfiltration, or malicious intent was found.
Capability Tags
requires-sensitive-credentials
Capability Assessment
Purpose & Capability
The code and SKILL.md implement an outbound-call integration that requires an OUTBOUND_API_KEY and the 'uv' runner, which is coherent with the described purpose. However the registry metadata at the top of the submission lists no required env vars or binaries, which conflicts with SKILL.md and the scripts. That mismatch is unexplained and worth verifying with the publisher.
Instruction Scope
Runtime instructions and the included scripts collect phone numbers and conversation context and send them to https://www.skill.black (Outbound AI). The SKILL.md mandates showing a confirmation card and obtaining explicit user consent before calling; that is a good control, but the Python scripts themselves perform the call when invoked and do not enforce confirmation. The skill also writes PII-containing JSONL files (memory/skills/requests.jsonl and costs.jsonl) to disk. Sending PII to a third-party service and persisting it locally are expected for this functionality but carry privacy/risk implications that must be accepted intentionally.
Install Mechanism
There is no remote install or download step—this is an instruction+script bundle included in the skill. No external archives or package installs are performed by an installer spec, minimizing supply-chain risk.
Credentials
The skill requires a single service credential (OUTBOUND_API_KEY) and optionally OUTBOUND_BASE_URL, which are proportionate to an API-backed calling service. Again, the registry metadata incorrectly states 'none' for required env vars while SKILL.md and the scripts require the API key—this inconsistency should be resolved before trusting the skill.
Persistence & Privilege
The skill does not request 'always: true' and is user-invocable only. It writes logs and history under its own memory directory (memory/skills) and a user-local config (~/.openclaw/secrets/outbound.json) if used; it does not modify other skills or system-wide configs.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install easy-phone-call
  3. After installation, invoke the skill by name or use /easy-phone-call
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Add skill tags
v1.0.1
Fix metadata consistency
v1.0.0
Initial release
Metadata
Slug easy-phone-call
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is easy phone call?

Launch human-like outbound calls with a single command after confirming call details; supports business leads, reservations, reminders, and surveys. It is an AI Agent Skill for Claude Code / OpenClaw, with 78 downloads so far.

How do I install easy phone call?

Run "/install easy-phone-call" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is easy phone call free?

Yes, easy phone call is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does easy phone call support?

easy phone call is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created easy phone call?

It is built and maintained by naive-white-expert (@naive-white-expert); the current version is v1.0.2.

💬 Comments