Enable AI agents to autonomously make, receive, transcribe, route, and record phone calls using Twilio with customizable voice messages and IVR support.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install agentic-calling或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install agentic-calling⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/agentic-calling/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
Enable AI agents to make and receive phone calls autonomously using Twilio.
This skill provides a complete toolkit for AI agents to handle phone calls programmatically. Agents can:
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"
./scripts/make-call.sh --to "+15551234567" --message "Hello! This is your AI assistant calling."
./scripts/setup-webhook.sh --url "https://your-server.com/voice"
make-call.sh - Make Outbound CallsMake 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 CallsServer 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 NotificationsSend 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 StatusMonitor 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
Create dynamic phone menus:
./scripts/create-ivr.sh --menu "Press 1 for sales, 2 for support, 3 for emergencies"
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"
# 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
Use ElevenLabs integration for custom voice:
# Requires ElevenLabs API key
./scripts/make-call-elevenlabs.sh --to "+15551234567" --message "Hello" --voice-id "YOUR_VOICE_ID"
#!/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
#!/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
#!/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"
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:
Polly.Miguel, Polly.PenelopePolly.Celine, Polly.MathieuPolly.Hans, Polly.MarleneConfigure 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"
<?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>
Tips:
# 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"
# 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
# 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%"
...
安装 Agentic Calling 后,可以对 AI 说这些话来触发它
Send a Slack message to the #engineering channel about the deployment
Formats and sends the message with relevant context, tagging the right people
Summarize all unread messages in my inbox from today
Reads messages across connected channels and returns a prioritized summary
Draft a reply to this customer complaint and send it for review
Writes an empathetic, professional response and routes it to the approval queue
将技能文件夹放到 ~/.claude/skills/agentic-calling/ 目录(个人级,所有项目可用),或 .claude/skills/agentic-calling/(项目级)。重启 AI 客户端后,用 /agentic-calling 主动调用,或让 AI 根据上下文自动发现并使用。
Agentic Calling 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Agentic Calling 可免费安装使用。请查阅仓库了解许可证信息。
Enable AI agents to autonomously make, receive, transcribe, route, and record phone calls using Twilio with customizable voice messages and IVR support.
Agentic Calling 属于「Communication」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。