According to AlphaMoat, as of 2026-09, Agentic Calling has 4,954 downloads and 3 stars — ranked #1,864 of 5,078 AI skills overall, and #346 of 969 in AI Agent.
| Platform | Installs | Downloads | Stars | Comments |
|---|---|---|---|---|
| ClawHub ↗ | 150 | 4.6K | 3 | - |
| SkillHub ↗ | 545 | 5.0K | 3 | — |
Platforms count differently and update at different times.
It ships scripts for outbound calls, inbound handling, speech synthesis, transcription, routing and recording management, with credentials read from a local config file or environment variables. Calls and messages reach real recipients and incur charges, so numbers, consent and spend limits need the operator's own controls. The source publishes it under the MIT license. Live calls and SMS can reach third parties and incur charges. Use restricted test or least-privilege credentials, confirm destinations before outbound actions, and establish consent, retention and access controls before recording or transcribing calls. Validate user-controlled script inputs.
Profile published 2026-10-27
Generated from the skill’s documentation as examples; not results of actual runs.
The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.
| Month | Downloads | MoM | Stars |
|---|---|---|---|
| 2026-09 | 5.0K | — | 3 |
| 2026-08 | 4.4K | +2.8% | 3 |
| 2026-07 | 4.3K | — | 3 |
| 2026-05 | 3.8K | — | 3 |
| 2026-03 | 3.0K | — | 3 |
The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.
# 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
1. **Twilio Account**: Sign up at [twilio.com](https://www.twilio.com)
2. **Twilio Phone Number**: Purchase a number with Voice capabilities
3. **Twilio Credentials**: Account SID and Auth Token
## Quick Start
### 1. Configure Credentials
Create a file at `~/.clawdbot/twilio-config.json`:
```json
{
"accountSid": "YOUR_ACCOUNT_SID",
"authToken": "YOUR_AUTH_TOKEN",
"phoneNumber": "+1XXXXXXXXXX"
}
```
Or set environment variables:
```bash
export TWILIO_ACCOUNT_SID="YOUR_ACCOUNT_SID"
export TWILIO_AUTH_TOKEN="YOUR_AUTH_TOKEN"
export TWILIO_PHONE_NUMBER="+1XXXXXXXXXX"
```
### 2. Make Your First Call
```bash
./scripts/make-call.sh --to "+15551234567" --message "Hello! This is your AI assistant calling."
```
### 3. Set Up Inbound Call Handling
```bash
./scripts/setup-webhook.sh --url "https://your-server.com/voice"
```
## Core Scripts
### `make-call.sh` - Make Outbound Calls
Make a phone call with a text-to-speech message:
```bash
# 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:
```bash
# 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):
```bash
# 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:
```bash
# 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
```
## Advanced Usage
### Custom IVR (Interactive Voice Response)
Create dynamic phone menus:
```bash
./scripts/create-ivr.sh --menu "Press 1 for sales, 2 for support, 3 for emergencies"
```
### Conference Calls
Set up multi-party conference calls:
```bash
# Create conference
./scripts/conference.sh --create --name "Team Standup"
# Add participant
./scripts/conference.sh --add-participant --conference "Team Standup" --number "+15551234567"
```
### Call Recording & Transcription
```bash
# 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:
```bash
# Requires ElevenLabs API key
./scripts/make-call-elevenlabs.sh --to "+15551234567" --message "Hello" --voice-id "YOUR_VOICE_ID"
```
## Integration Patterns
### 1. Appointment Reminders
```bash
#!/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
```bash
#!/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
```bash
#!/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`
## Webhooks & TwiML
### Setting Up Webhooks
Configure your Twilio number to POST to your webhook URL when calls arrive:
```bash
./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
<?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
1. **Protect Credentials**: Never commit credentials to git
2. **Use HTTPS**: Always use HTTPS for webhooks
3. **Validate Requests**: Verify Twilio signatures on webhooks
4. **Rate Limiting**: Implement rate limits on outbound calls
5. **Logging**: Log all calls for audit trails
## Troubleshooting
### Call Not Connecting
```bash
# 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
```bash
# 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
```bash
# 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
Records learnings, errors and corrections as Markdown files for later reuse and promotion into workspace memory.
Finds skills in local and remote catalogs from a plain-language request and recommends what to install.
A browser-automation command line skill for AI agents.
Turns corrections and self-review into tiered memory and promotes or archives it by use.
Reviews a third-party skill's source, permissions, and danger patterns against a checklist before it is installed.
Stores agent memory and cross-skill state as a typed, constraint-checked knowledge graph.
A workspace setup guide for planning proactive follow-up, working memory and review routines for an AI agent.
A guide to creating and updating effective Claude skills.
Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.