call_me
Ring the user's own phone, read them message, and bring back what
they say.
A phone call interrupts the user. Follow their explicit instructions about
whether and when to call, including an immediate call or a call when a job
finishes. Otherwise prefer chat for routine updates; call for a time-sensitive
decision only they can make after chat has no explicit answer, or for a
still-active important event after the workflow's chosen wait if nobody has
acknowledged it. There is no fixed waiting period: use the user's timing
when given, otherwise choose one appropriate to the task. For monitoring,
your workflow must watch the event, wait for acknowledgment, and decide
when to invoke this tool; LifeClaw cannot do those things or schedule a
future call. An explicit request to call regardless of event status takes
priority over the default active-and-unacknowledged condition.
Consider local time and do not repeatedly ring after a missed call. A
terminal no-answer is for your workflow to assess; LifeClaw will not
redial it automatically. Do not redial a failed result because contact
may have occurred. A deliberate later call needs a new
idempotency_key, and only a workflow that can wait and resume can promise
one. Reuse the original key to recover an uncertain request instead.
Examples: (1) a deployment is blocked on a rollback decision and chat
has no explicit answer; ask that one question and use result.reply.
(2) An external monitor confirms a critical incident is still active
and unacknowledged; call with that incident ID as idempotency_key.
(3) The user asked for a call when a job finishes; call once when your
workflow observes completion. Do not call for an ordinary completion
the user did not ask to hear by phone.
wait_for_reply=True: the assistant asks, listens, reads the answer
back, and returns it in result.reply. wait_for_reply=False: deliver
and hang up. agent_name ("Claude Code", "Codex") is how the assistant
introduces itself. language is spoken on the call and used for the
result; set it to the user's language. Write the message as speech:
short sentences, no markdown. Do NOT greet or introduce yourself inside
message — the call already opens with "I'm your assistant from
{agent_name}" / "我是来自 {agent_name} 的 AI 助手"; a message that starts
with "Hi, this is Claude Code" gets introduced twice. Start with the
content ("Hotpot or sushi tonight?").
keywords (optional, up to 20 short terms): the words the user is likely
to say back — the options you offered ("火锅", "日料"), a ticket or PR
number, a product name. They steer the speech-to-text toward those
spellings so result.reply and the transcript come back right; phone
audio otherwise mishears short words (火锅 → 哥哥 on a real call). Give
them whenever the answer is a choice between named things.
Needs the account's voice-verified receiving number. Outbound Caller ID
is separate. If this returns error: receiving_phone_required, send the
user to the returned setup_url to select a number, answer the voice
verification call, and enter its code.
Capped at 4 calls per account per 10 minutes and 30 per 24 hours. Billed
per minute like any call. For monitoring, pass a stable event ID as
idempotency_key; a new event needs a new key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| keywords | No | ||
| language | No | en | |
| agent_name | No | ||
| wait_seconds | No | ||
| wait_for_reply | No | ||
| idempotency_key | No |