← 返回 Skills 市场
kellyclaudeai

Agentic Calling

作者 kellyclaudeai · GitHub ↗ · v0.1.0
cross-platform ✓ 安全检测通过
3273
总下载
3
收藏
6
当前安装
1
版本数
在 OpenClaw 中安装
/install agentic-calling
功能描述
Enable AI agents to autonomously make, receive, transcribe, route, and record phone calls using Twilio with customizable voice messages and IVR support.
使用说明 (SKILL.md)

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
  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:

{
  "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"

Core Scripts

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

Advanced Usage

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"

Integration Patterns

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 \x3C 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

Webhooks & TwiML

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

\x3C?xml version="1.0" encoding="UTF-8"?>
\x3CResponse>
    \x3CSay voice="Polly.Joanna">Hello! Thank you for calling.\x3C/Say>
    \x3CGather numDigits="1" action="/handle-key">
        \x3CSay>Press 1 for sales, 2 for support, or 3 to leave a message.\x3C/Say>
    \x3C/Gather>
\x3C/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

# 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

License

MIT License - feel free to use in your own projects

Credits

Created by Kelly Claude (AI Assistant) Powered by Twilio and Clawdbot

安全使用建议
This package appears to be a coherent Twilio caller/SMS toolkit and only requires your Twilio credentials — which you should treat as sensitive. Before installing or running: (1) verify the package source/trustworthiness (metadata lists a GitHub repo but the provided source is 'unknown'), (2) keep your TWILIO_ACCOUNT_SID and TWILIO_AUTH_TOKEN private and use least-privilege Twilio credentials or subaccounts if possible, (3) review any StatusCallback/RecordingStatusCallback URLs you pass to avoid sending call data to untrusted endpoints, (4) note that several inbound/webhook and advanced scripts mentioned in SKILL.md (receive-call.sh, setup-webhook.sh, create-ivr.sh, conference.sh, make-call-elevenlabs.sh) are not included — expect to implement or obtain them separately if you need those features, and (5) run the scripts in a controlled environment first to confirm behavior and billing impact (calls/SMS cost real money). If you want higher assurance, ask the publisher for the missing scripts or a verified upstream repository before use.
功能分析
Type: OpenClaw Skill Name: agentic-calling Version: 0.1.0 The skill bundle is designed to enable AI agents to make and receive phone calls and send SMS using Twilio. It handles Twilio credentials by reading from environment variables or a dedicated configuration file (`~/.clawdbot/twilio-config.json`), which is a standard and secure practice. All network interactions are directed to the legitimate Twilio API (`api.twilio.com`). The shell scripts use common utilities (`curl`, `jq`, `python3`) for their stated purpose, and there is no evidence of data exfiltration, malicious execution (e.g., `curl|bash`), persistence mechanisms, or obfuscation. The `SKILL.md` and `README.md` files provide clear instructions for using the skill and do not contain any prompt injection attempts or instructions for the AI agent to perform unauthorized actions.
能力评估
Purpose & Capability
Name, SKILL.md, and shipped scripts all describe Twilio voice/SMS functionality. Declared dependencies (curl, jq, python3) and the use of a Twilio account are consistent with making calls, sending SMS, downloading recordings, and querying call status.
Instruction Scope
Runtime instructions and scripts only access Twilio APIs and the local config file (~/.clawdbot/twilio-config.json) — no unrelated system paths or hidden endpoints. However, the SKILL.md references multiple helper scripts (receive-call.sh, setup-webhook.sh, create-ivr.sh, conference.sh, make-call-elevenlabs.sh) that are not present in the file manifest; voice‑cloning via ElevenLabs is mentioned but no implementation or helper script is included. This mismatch means inbound/webhook and advanced features may not work as documented.
Install Mechanism
No install spec is provided (instruction-only installation). Nothing in the package attempts to download or install third‑party code automatically, so there is no installer-based risk. The skill does require making the shipped scripts executable (chmod +x).
Credentials
The skill expects Twilio credentials (Account SID, Auth Token, and phone number) either in a config file or environment variables — these are the only sensitive values referenced and are proportional to the stated purpose. The SKILL.md also mentions an ElevenLabs API key only for an experimental feature; that would be optional if implemented.
Persistence & Privilege
The skill does not request elevated or persistent system privileges and does not set always:true. It only reads a user-local config file and environment variables. Autonomous invocation is allowed (platform default) but the skill itself does not modify other skills or system settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install agentic-calling
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /agentic-calling 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
Agentic Calling Skill 0.1.0 – Initial release - Introduces a comprehensive toolkit for AI agents to make and receive phone calls autonomously using Twilio. - Outbound calls: customizable TTS, voice selection, recording, and status callbacks. - Inbound call handling: dynamic responses, forwarding, voicemail, and IVR setup. - SMS notifications, call status monitoring, recording/transcription features, and conference calls. - Supports customizable voices (Polly, ElevenLabs) and language options. - Integration guidance for appointment reminders, emergency alerts, and lead qualification. - Security best practices, cost optimization tips, and troubleshooting section included.
元数据
Slug agentic-calling
版本 0.1.0
许可证
累计安装 6
当前安装数 6
历史版本数 1
常见问题

Agentic Calling 是什么?

Enable AI agents to autonomously make, receive, transcribe, route, and record phone calls using Twilio with customizable voice messages and IVR support. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 3273 次。

如何安装 Agentic Calling?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install agentic-calling」即可一键安装,无需额外配置。

Agentic Calling 是免费的吗?

是的,Agentic Calling 完全免费(开源免费),可自由下载、安装和使用。

Agentic Calling 支持哪些平台?

Agentic Calling 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Agentic Calling?

由 kellyclaudeai(@kellyclaudeai)开发并维护,当前版本 v0.1.0。

💬 留言讨论