kellyclaudeai

Agentic Calling

AI 智能体v0.1.0
作者:kellyclaudeai更新于 2026-05-18agentic-calling@clawhub_kellyclaudeai/agentic-calling
任务自动化工具调用#Agentic

据 AlphaMoat 统计,截至 2026-09,Agentic Calling 累计下载 4,954 次、获 3 个星标,在全部 5,078 个 AI 技能中排名第 1,864 位,在「AI 智能体」分类(969 个)中排名第 346 位。

累计安装
545
累计下载
4,954
星标
3
全站排名
#1,864
全站前 37% · 「AI 智能体」前 36%
平台累计安装累计下载星标评论
ClawHub ↗1504,5603-
SkillHub ↗5454,9543—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

提供外呼、接听、语音合成、通话转写、路由转接与录音管理等脚本,凭证可写入 ~/.clawdbot/twilio-config.json 或从环境变量读取。外呼与短信会真实触达对方并产生费用,号码、同意与额度需由使用方自行把关。源文以 MIT 许可发布。真实电话和短信会联系第三方并可能产生费用。使用受限测试凭据或最小权限凭据,发送前确认号码;录音/转写前明确同意、留存和访问控制,并验证用户可控的脚本输入。

资料发布于 2026-10-27

可以用来做什么

  • 按名单批量外呼并播报定制语音
  • 接听来电并转写对方语音

什么时候用

  • 需要 agent 直接打电话而非发消息时
  • 要用短信或电话做提醒与回访时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

用这条话术给名单上的人逐一外呼
把这通来电的录音转成文字

月度数据趋势

累计下载4,954
2,8573,9835,1092026-03 · 累计下载 3,0122026-05 · 累计下载 3,8292026-07 · 累计下载 4,3062026-08 · 累计下载 4,4272026-09 · 累计下载 4,95426-0326-09
星标3
2342026-03 · 星标 32026-05 · 星标 32026-07 · 星标 32026-08 · 星标 32026-09 · 星标 326-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-094,954—3
2026-084,427+2.8%3
2026-074,306—3
2026-053,829—3
2026-033,012—3

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

8.5 KB · ClawHub v0.1.0
# 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
展开全部(共 344 行)
- 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

「AI 智能体」分类下的热门技能

kellyclaudeai 的其他技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。