Phone Call - Call-E
v1.0.9Use Call-E from OpenClaw through the calle CLI for setup checks, authentication recovery, phone call planning, planned call execution, and call status checks.
Call-E CLI
Use this skill when the user wants OpenClaw to use Call-E through the calle
CLI. This skill intentionally calls the CLI instead of depending on a native
OpenClaw plugin or gateway-managed tool registration.
When to use
Use this skill for:
- verifying Call-E setup in OpenClaw
- checking whether the
calleCLI is available - recovering from missing or expired Call-E authentication
- listing available Call-E MCP tools through the CLI
- planning a phone call
- running a planned call after planning returns complete run credentials
- checking a call run status
- reporting the final call summary, details, and transcript when a call reaches a terminal status
Do not use this skill when the user only wants a call script, roleplay, simulated conversation, or general contact lookup that does not require Call-E.
Safety and consent
- Real phone calls may contact external people or businesses.
- Do not place a real call unless the user clearly intends to do so.
- Always plan first.
- If the user asked to place a call, run it immediately after planning returns
a valid
plan_idandconfirm_token. - If the user asked only to verify setup or only to plan, do not run the call.
- Do not guess phone numbers, country codes, language, region,
plan_id,confirm_token, orrun_id. - Do not print, request, or expose access tokens.
CLI selection
All CLI commands run from this skill must include the Call-E integration attribution environment:
env CALLE_SOURCE=openclaw CALLE_INTEGRATION=openclaw_cli_skill CALLE_INTEGRATION_VERSION=0.1.0
Use the first command form that works.
Prefer the repository-local CLI when the current workspace contains it:
env CALLE_SOURCE=openclaw CALLE_INTEGRATION=openclaw_cli_skill CALLE_INTEGRATION_VERSION=0.1.0 node packages/cli/bin/calle.js
If the repository-local CLI is unavailable, use the global command:
env CALLE_SOURCE=openclaw CALLE_INTEGRATION=openclaw_cli_skill CALLE_INTEGRATION_VERSION=0.1.0 calle
If neither command works, use the pinned npm package through npx:
env CALLE_SOURCE=openclaw CALLE_INTEGRATION=openclaw_cli_skill CALLE_INTEGRATION_VERSION=0.1.0 npx -y @call-e/cli@0.2.1
Only tell the user to install the CLI globally if npx is unavailable,
network access is blocked, or the user explicitly wants a persistent global
command.
Readiness flow
Use this flow before call planning when setup is uncertain, when auth fails, or when the user asks to verify Call-E setup:
- Check CLI availability with
--help. - Run
auth status. - If auth is missing or expired, run or suggest
auth login. - After login completes, run
mcp tools. - Confirm that
plan_call,run_call, andget_call_runare available. - If the successful
auth loginJSON includedassistant_hint.message, use it to include a brief post-auth help note in the next user-facing reply after tool availability is confirmed. Adapt the wording naturally to the user's language and context.
Setup verification must not place a real phone call. Use only help, auth, and tool-listing commands until the user asks for a call workflow.
Call flow
- Use
call planfirst. - Read the returned
plan_idandconfirm_token. - If the user's request is to place a call, immediately use
call runwith the exactplan_idandconfirm_tokenreturned by planning. - Do not ask for a second confirmation between
call planandcall run. - Read the returned
run_id. - If the latest status is not terminal, keep using
call statuswith that exactrun_iduntil the call reaches a terminal status or the user asks you to stop. - Use
call statusonly with a knownrun_id.
Terminal statuses include COMPLETED, FAILED, NO_ANSWER, DECLINED,
CANCELED, CANCELLED, VOICEMAIL, BUSY, and EXPIRED.
When the call reaches a terminal status, reply with the final call result, including these sections in this order:
[Status]
<status>
[Call Summary]
<post_summary or summary or message>
[Details]
Callee Number: <primary callee or Not available>
Duration: <duration or Not available>
Time: <start/end time or Not available>
Call id: <call_id or Not available>
[Transcript]
<transcript or Not available.>
If the user asked for extra final content, such as key takeaways or next steps,
add it after [Transcript] under a short heading. Base all final sections only
on the JSON returned by call run or call status; do not invent a transcript.
If any command returns auth_required, switch to the readiness flow, complete
login, and then retry the original operation after login completes.
Use references/commands.md for exact command examples, supported options, and
JSON handling rules.
Version tags
Runtime requirements
Install
npm i -g @call-e/cli