OpenClaw Phone Receipt
Use this skill to manage phone callback notifications.
Commands to honor
phone-receipt=on→ enable phone receipt policyphone-receipt=off→ disable phone receipt policy
State file:
memory/phone-receipt-state.json
Default behavior
- If user asks for callback on completion/failure, set
enabled=true. - Default policy is now:
policy.onComplete=falsepolicy.onFailure=truepolicy.onUrgent=true
- Persist state to
memory/phone-receipt-state.json. - For immediate test call, run
scripts/trigger_call.sh.
Delivery strategy (must follow)
- Phone call only when:
- task failed, OR
- 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 onpython3 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_IDELEVENLABS_OUTBOUND_PHONE_IDTO_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