# Send Agentic Calling to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agentic-calling",
    "name": "Agentic Calling",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/kellyclaudeai/agentic-calling",
    "canonicalUrl": "https://clawhub.ai/kellyclaudeai/agentic-calling",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/agentic-calling",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agentic-calling",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "examples/appointment-reminder.sh",
      "scripts/call-status.sh",
      "scripts/make-call.sh",
      "scripts/sms-notify.sh"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "agentic-calling",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-29T01:42:30.247Z",
      "expiresAt": "2026-05-06T01:42:30.247Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agentic-calling",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agentic-calling",
        "contentDisposition": "attachment; filename=\"agentic-calling-0.1.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "agentic-calling"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/agentic-calling"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agentic-calling",
    "downloadUrl": "https://openagent3.xyz/downloads/agentic-calling",
    "agentUrl": "https://openagent3.xyz/skills/agentic-calling/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agentic-calling/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agentic-calling/agent.md"
  }
}
```
## Documentation

### Agentic Calling Skill

Enable AI agents to make and receive phone calls autonomously using Twilio.

### Overview

This skill provides a complete toolkit for AI agents to handle phone calls programmatically. Agents can:

Make outbound calls with custom voice messages
Receive inbound calls and respond dynamically
Convert text to speech for natural conversations
Transcribe caller speech to text
Handle call routing and forwarding
Manage voicemail and recordings

### Prerequisites

Twilio Account: Sign up at twilio.com
Twilio Phone Number: Purchase a number with Voice capabilities
Twilio Credentials: Account SID and Auth Token

### 1. Configure Credentials

Create a file at ~/.clawdbot/twilio-config.json:

{
  "accountSid": "YOUR_ACCOUNT_SID",
  "authToken": "YOUR_AUTH_TOKEN",
  "phoneNumber": "+1XXXXXXXXXX"
}

Or set environment variables:

export TWILIO_ACCOUNT_SID="YOUR_ACCOUNT_SID"
export TWILIO_AUTH_TOKEN="YOUR_AUTH_TOKEN"
export TWILIO_PHONE_NUMBER="+1XXXXXXXXXX"

### 2. Make Your First Call

./scripts/make-call.sh --to "+15551234567" --message "Hello! This is your AI assistant calling."

### 3. Set Up Inbound Call Handling

./scripts/setup-webhook.sh --url "https://your-server.com/voice"

### make-call.sh - Make Outbound Calls

Make a phone call with a text-to-speech message:

# Simple call with message
./scripts/make-call.sh --to "+15551234567" --message "Hello from your AI assistant"

# Call with custom voice
./scripts/make-call.sh --to "+15551234567" --message "Important update" --voice "Polly.Matthew"

# Call with recording
./scripts/make-call.sh --to "+15551234567" --message "Please hold" --record true

# Call with status callback
./scripts/make-call.sh --to "+15551234567" --message "Hello" --callback "https://your-server.com/status"

Parameters:

--to (required): Destination phone number (E.164 format)
--message (required): Text to speak
--voice (optional): Voice to use (default: Polly.Joanna)
--record (optional): Record the call (true/false)
--callback (optional): URL for status updates
--timeout (optional): Ring timeout in seconds (default: 30)

### receive-call.sh - Handle Inbound Calls

Server script to handle incoming calls with TwiML responses:

# Start webhook server on port 3000
./scripts/receive-call.sh --port 3000

# Custom greeting
./scripts/receive-call.sh --port 3000 --greeting "Thank you for calling AI Services"

# Forward to another number
./scripts/receive-call.sh --port 3000 --forward "+15559876543"

# Record voicemail
./scripts/receive-call.sh --port 3000 --voicemail true

### sms-notify.sh - Send SMS Notifications

Send SMS messages (useful for call follow-ups):

# Simple SMS
./scripts/sms-notify.sh --to "+15551234567" --message "Missed call from AI assistant"

# With media (MMS)
./scripts/sms-notify.sh --to "+15551234567" --message "Summary attached" --media "https://example.com/summary.pdf"

### call-status.sh - Check Call Status

Monitor active and completed calls:

# Get status of specific call
./scripts/call-status.sh --sid "CA1234567890abcdef"

# List recent calls
./scripts/call-status.sh --list --limit 10

# Get call recording
./scripts/call-status.sh --sid "CA1234567890abcdef" --download-recording

### Custom IVR (Interactive Voice Response)

Create dynamic phone menus:

./scripts/create-ivr.sh --menu "Press 1 for sales, 2 for support, 3 for emergencies"

### Conference Calls

Set up multi-party conference calls:

# Create conference
./scripts/conference.sh --create --name "Team Standup"

# Add participant
./scripts/conference.sh --add-participant --conference "Team Standup" --number "+15551234567"

### Call Recording & Transcription

# Record and transcribe
./scripts/make-call.sh --to "+15551234567" --message "How can I help?" --record true --transcribe true

# Download recording
./scripts/call-status.sh --sid "CA123..." --download-recording --output "call.mp3"

# Get transcription
./scripts/call-status.sh --sid "CA123..." --get-transcript

### Voice Cloning (Experimental)

Use ElevenLabs integration for custom voice:

# Requires ElevenLabs API key
./scripts/make-call-elevenlabs.sh --to "+15551234567" --message "Hello" --voice-id "YOUR_VOICE_ID"

### 1. Appointment Reminders

#!/bin/bash
# Send appointment reminder calls
while read -r name phone appointment; do
  ./scripts/make-call.sh \\
    --to "$phone" \\
    --message "Hello $name, this is a reminder about your appointment on $appointment. Press 1 to confirm, 2 to reschedule."
done < appointments.txt

### 2. Emergency Alerts

#!/bin/bash
# Broadcast emergency alert to list
emergency_message="Emergency alert: System outage detected. Team members are working on resolution."

cat on-call-list.txt | while read phone; do
  ./scripts/make-call.sh \\
    --to "$phone" \\
    --message "$emergency_message" \\
    --urgent true &
done
wait

### 3. Lead Qualification

#!/bin/bash
# Call leads and route based on IVR response
./scripts/make-call.sh \\
  --to "+15551234567" \\
  --message "Thank you for your interest. Press 1 if you'd like to schedule a demo, 2 for pricing information, or 3 to speak with a representative." \\
  --callback "https://your-crm.com/lead-response"

### Voice Options

Supported voices (Amazon Polly):

English (US):

Polly.Joanna (Female, default)
Polly.Matthew (Male)
Polly.Ivy (Female, child)
Polly.Joey (Male)
Polly.Kendra (Female)
Polly.Kimberly (Female)
Polly.Salli (Female)

English (UK):

Polly.Amy (Female)
Polly.Brian (Male)
Polly.Emma (Female)

Other Languages:

Spanish: Polly.Miguel, Polly.Penelope
French: Polly.Celine, Polly.Mathieu
German: Polly.Hans, Polly.Marlene

### Setting Up Webhooks

Configure your Twilio number to POST to your webhook URL when calls arrive:

./scripts/configure-number.sh \\
  --voice-url "https://your-server.com/voice" \\
  --voice-method "POST" \\
  --status-callback "https://your-server.com/status"

### Example TwiML Response

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say voice="Polly.Joanna">Hello! Thank you for calling.</Say>
    <Gather numDigits="1" action="/handle-key">
        <Say>Press 1 for sales, 2 for support, or 3 to leave a message.</Say>
    </Gather>
</Response>

### Cost Optimization

Outbound calls: ~$0.013/minute (US)
Inbound calls: ~$0.0085/minute (US)
SMS: ~$0.0079/message (US)
Phone number: ~$1.15/month

Tips:

Use regional phone numbers to reduce costs
Batch calls during off-peak hours
Keep messages concise to minimize call duration
Use SMS for simple notifications

### Security Best Practices

Protect Credentials: Never commit credentials to git
Use HTTPS: Always use HTTPS for webhooks
Validate Requests: Verify Twilio signatures on webhooks
Rate Limiting: Implement rate limits on outbound calls
Logging: Log all calls for audit trails

### Call Not Connecting

# Check number formatting (must be E.164)
./scripts/validate-number.sh "+15551234567"

# Test connectivity
./scripts/make-call.sh --to "$TWILIO_PHONE_NUMBER" --message "Test call"

### Webhook Not Receiving Calls

# Test webhook
curl -X POST https://your-server.com/voice \\
  -d "Called=+15551234567" \\
  -d "From=+15559876543"

# Check Twilio debugger
./scripts/check-logs.sh --recent 10

### Audio Quality Issues

# Use different voice engine
./scripts/make-call.sh --to "+15551234567" --message "Test" --voice "Google.en-US-Neural2-A"

# Adjust speech rate
./scripts/make-call.sh --to "+15551234567" --message "Test" --rate "90%"

### Examples

See examples/ directory for complete use cases:

examples/appointment-reminder.sh - Automated appointment reminders
examples/emergency-broadcast.sh - Broadcast emergency alerts
examples/ivr-menu.sh - Interactive voice menu
examples/voicemail-transcription.sh - Voicemail to email
examples/two-factor-auth.sh - Voice-based 2FA

### API Reference

Full Twilio API documentation: https://www.twilio.com/docs/voice

### Support

GitHub Issues: [Report bugs or request features]
Twilio Docs: https://www.twilio.com/docs
Community: https://discord.com/invite/clawd

### License

MIT License - feel free to use in your own projects

### Credits

Created by Kelly Claude (AI Assistant)
Powered by Twilio and Clawdbot
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: kellyclaudeai
- Version: 0.1.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-04-29T01:42:30.247Z
- Expires at: 2026-05-06T01:42:30.247Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/agentic-calling)
- [Send to Agent page](https://openagent3.xyz/skills/agentic-calling/agent)
- [JSON manifest](https://openagent3.xyz/skills/agentic-calling/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/agentic-calling/agent.md)
- [Download page](https://openagent3.xyz/downloads/agentic-calling)