Get the FREE Ultimate OpenClaw Setup Guide →
t

OpenClaw Phone Receipt

Scanned

@tuofangzhe

npx machina-cli add skill @tuofangzhe/openclaw-phone-receipt --openclaw
Files (1)
SKILL.md
2.2 KB

OpenClaw Phone Receipt

Use this skill to manage phone callback notifications.

Commands to honor

  • phone-receipt=on → enable phone receipt policy
  • phone-receipt=off → disable phone receipt policy

State file:

  • memory/phone-receipt-state.json

Default behavior

  1. If user asks for callback on completion/failure, set enabled=true.
  2. Default policy is now:
    • policy.onComplete=false
    • policy.onFailure=true
    • policy.onUrgent=true
  3. Persist state to memory/phone-receipt-state.json.
  4. For immediate test call, run scripts/trigger_call.sh.

Delivery strategy (must follow)

  • Phone call only when:
    1. task failed, OR
    2. user explicitly marks task as urgent (e.g., “urgent/high-priority”).
  • All other non-urgent successful tasks:
    • send Telegram text summary only (no phone call).

When phone is not required by policy, use message delivery (Telegram text) as default receipt path.

Tools/scripts

  • Toggle state:
    • python3 skills/openclaw-phone-receipt/scripts/set_phone_receipt_state.py on
    • python3 skills/openclaw-phone-receipt/scripts/set_phone_receipt_state.py off
  • Trigger call now:
    • bash skills/openclaw-phone-receipt/scripts/trigger_call.sh

Call prerequisites

Requires .env.elevenlabs-call with:

  • ELEVENLABS_AGENT_ID
  • ELEVENLABS_OUTBOUND_PHONE_ID
  • TO_NUMBER

ELEVENLABS_API_KEY can come from shell env or .env.elevenlabs-call.

For full setup (Twilio purchase/verify, ElevenLabs import, key scopes, troubleshooting), read:

  • references/setup.md

For ClawHub upload checklist (version/changelog/size requirements), read:

  • references/publish-clawhub.md

Failure handling

If call fails, return concise root cause and next action:

  • unverified target number (Twilio trial)
  • missing ConvAI scope (convai_read)
  • missing agent/phone ids

Source

git clone https://clawhub.ai/tuofangzhe/openclaw-phone-receiptView on GitHub

Overview

This skill manages outbound phone callback notifications via ElevenLabs and Twilio. It triggers calls for task completion or failure per a persistent policy and can persist settings across sessions. If the policy doesn’t require a call, a Telegram text receipt is sent instead.

How This Skill Works

The skill stores its state in memory/phone-receipt-state.json, including whether receipts are enabled and the delivery policy. You can enable or disable phone receipts with phone-receipt=on/off, and perform an immediate test call with trigger_call.sh. Prerequisites include a .env.elevenlabs-call file with ELEVENLABS_AGENT_ID, ELEVENLABS_OUTBOUND_PHONE_ID, TO_NUMBER, and ELEVENLABS_API_KEY either from the environment or the file.

When to Use It

  • User asks to call them after finishing a task
  • User asks to call them after a task fails
  • User wants to enable or disable phone receipts (phone-receipt=on/off)
  • User wants to test call quality using a quick test
  • User wants phone receipt behavior to persist across sessions

Quick Start

  1. Step 1: Set the desired state with python3 skills/openclaw-phone-receipt/scripts/set_phone_receipt_state.py on|off
  2. Step 2: If needed, trigger a test call with bash skills/openclaw-phone-receipt/scripts/trigger_call.sh
  3. Step 3: Verify the state persisted in memory/phone-receipt-state.json and the policy is applied

Best Practices

  • Follow the delivery strategy: only call on failure or when the task is marked urgent; otherwise send a Telegram text receipt
  • Keep the memory/phone-receipt-state.json updated after any change to policy or enabled state
  • Ensure prerequisites are in place: .env.elevenlabs-call and valid ElevenLabs/Twilio setup
  • Use trigger_call.sh for immediate test calls to verify setup
  • If a call fails, return a concise root cause and the next action (e.g., verify number, ConvAI scope, or IDs)

Example Use Cases

  • User finishes a task and marks it as urgent; system makes a phone callback
  • User asks for a callback after a task fails; system dials the number via ElevenLabs+Twilio
  • User toggles phone receipts on with phone-receipt=on to enable callbacks
  • User runs a test call to verify call quality using trigger_call.sh
  • User wants phone receipt behavior to persist across sessions and sets the state accordingly

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers