Voice Call Skill - Clawdbot向け音声通話機能
Clawdbot向けVoice Call Skillを利用して、Twilio、Telnyx、Plivoを使用したAI Agent主導の音声通話を実現する方法を解説します。
Voice Call Skill - Clawdbot向け音声通話機能
ClawdbotのVoice Call Skillは、Twilio、Telnyx、Plivoなどのクラウド電話サービスを利用したAI Agent主導の音声通話機能を提供する。音声メッセージの送信、通話ステータスの確認、対話的な音声通話の制御が可能である。
概要
Voice Call Skillは、voice-callプラグインとして実装されており、複数のVoIPプロバイダーに対応している。Clawdbot Agentは、ユーザーへのリマインダー、緊急通知、対話型アシスタント機能を音声通話を通じて提供できる。
2026年2月時点で、以下のプロバイダーに対応:
- Twilio: 最大手のクラウド通信プラットフォーム(190カ国以上対応)
- Telnyx: エンタープライズ向けVoIP/SMS提供(グローバル対応)
- Plivo: 低価格な代替プロバイダー
- Mock: 開発・テスト用のネットワーク通信なしモード
技術的仕様
システム要件
- Clawdbot: voice-callプラグインが有効化されていること
- プロバイダーアカウント: Twilio、Telnyx、またはPlivoの有効なアカウント
- 電話番号: 発信元電話番号(各プロバイダーから取得)
インストール・設定
voice-callプラグインの有効化は、~/.clawdbot/clawdbot.jsonで設定:
{
"plugins": {
"entries": {
"voice-call": {
"enabled": true,
"config": {
"provider": "twilio",
"fromNumber": "+15555550100",
"twilio": {
"accountSid": "AC...",
"authToken": "..."
}
}
}
}
}
}
プロバイダー別設定
Twilio設定:
{
"provider": "twilio",
"fromNumber": "+15555550100",
"twilio": {
"accountSid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"authToken": "your_auth_token"
}
}
取得方法:
- Twilioコンソール(https://console.twilio.com)にログイン
- Account SIDとAuth Tokenを取得
- 電話番号を購入(Phone Numbers → Buy a Number)
Telnyx設定:
{
"provider": "telnyx",
"fromNumber": "+15555550200",
"telnyx": {
"apiKey": "KEY...",
"connectionId": "..."
}
}
取得方法:
- Telnyxポータル(https://portal.telnyx.com)でAPI Keyを生成
- Connection IDを作成(Voice → Connections)
- 電話番号を購入
Plivo設定:
{
"provider": "plivo",
"fromNumber": "+15555550300",
"plivo": {
"authId": "MA...",
"authToken": "..."
}
}
Mock設定(開発用):
{
"provider": "mock"
}
ネットワーク通信を行わず、ログ出力のみで動作確認可能。
主要機能
Voice Call Skillは以下のアクションを提供:
| アクション | 説明 | パラメータ |
|---|---|---|
initiate_call | 新規通話を開始 | message, to, mode |
continue_call | 既存通話を継続 | callId, message |
speak_to_user | 通話中にメッセージを送信 | callId, message |
end_call | 通話を終了 | callId |
get_status | 通話ステータスを取得 | callId |
CLI使用方法
コマンドラインからの直接実行:
# 通話開始
clawdbot voicecall call --to "+15555550123" --message "Hello from Clawdbot"
# ステータス確認
clawdbot voicecall status --call-id <call-id>
ツール使用方法(Agent統合)
Clawdbot Agentからvoice_callツールを使用:
// 通話開始
voice_call({
action: "initiate_call",
message: "This is a reminder from Clawdbot. Your meeting starts in 10 minutes.",
to: "+15555550123"
})
// 通話ステータス確認
voice_call({
action: "get_status",
callId: "CA..."
})
// 通話終了
voice_call({
action: "end_call",
callId: "CA..."
})
実装例
1. リマインダー通知
会議10分前に自動音声通知:
#!/bin/bash
MEETING_TIME="2026-02-15 14:00:00"
CURRENT_TIME=$(date +"%Y-%m-%d %H:%M:%S")
TARGET_NUMBER="+15555550123"
# 10分前を計算(簡略版)
REMINDER_TIME=$(date -d "$MEETING_TIME - 10 minutes" +"%Y-%m-%d %H:%M:%S")
if [[ "$CURRENT_TIME" == "$REMINDER_TIME" ]]; then
clawdbot voicecall call \
--to "$TARGET_NUMBER" \
--message "This is your meeting reminder. Your meeting starts in 10 minutes."
fi
2. 緊急アラート通知
システム障害時の緊急連絡:
const { exec } = require('child_process');
function sendEmergencyAlert(phoneNumber, message) {
const cmd = `clawdbot voicecall call --to "${phoneNumber}" --message "${message}"`;
exec(cmd, (error, stdout, stderr) => {
if (error) {
console.error('通話エラー:', error);
return;
}
console.log('緊急通知送信完了:', stdout);
});
}
// 使用例
sendEmergencyAlert(
'+15555550123',
'Critical alert: Database server is down. Immediate action required.'
);
3. 対話型音声アシスタント
ユーザーからの音声入力に応答(Twilio Webhook使用):
// Express.jsサーバー例
const express = require('express');
const app = express();
app.post('/voice/incoming', (req, res) => {
const response = `<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>Hello, this is Clawdbot. How can I assist you today?</Say>
<Gather input="speech" action="/voice/process" method="POST" />
</Response>`;
res.type('text/xml');
res.send(response);
});
app.post('/voice/process', (req, res) => {
const userSpeech = req.body.SpeechResult;
// AI Agentで処理(Anthropic Claude API等を使用)
const aiResponse = processWithAI(userSpeech);
const response = `<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>${aiResponse}</Say>
</Response>`;
res.type('text/xml');
res.send(response);
});
app.listen(3000, () => console.log('Voice server running on port 3000'));
4. バッチ通知(複数番号への一斉送信)
複数の電話番号に同じメッセージを送信:
#!/bin/bash
MESSAGE="System maintenance will begin in 30 minutes. Please save your work."
NUMBERS=("+15555550123" "+15555550456" "+15555550789")
for number in "${NUMBERS[@]}"; do
clawdbot voicecall call --to "$number" --message "$MESSAGE"
sleep 2 # Rate limit対策
done
5. 通話ステータス監視
通話完了までステータスをポーリング:
import subprocess
import time
import json
def initiate_call(to_number, message):
result = subprocess.run(
['clawdbot', 'voicecall', 'call', '--to', to_number, '--message', message],
capture_output=True,
text=True
)
# Call IDを抽出(実装はCLI出力に依存)
return extract_call_id(result.stdout)
def get_call_status(call_id):
result = subprocess.run(
['clawdbot', 'voicecall', 'status', '--call-id', call_id],
capture_output=True,
text=True
)
return json.loads(result.stdout)
# 使用例
call_id = initiate_call('+15555550123', 'Test message')
while True:
status = get_call_status(call_id)
print(f"通話ステータス: {status['status']}")
if status['status'] in ['completed', 'failed', 'no-answer']:
break
time.sleep(5)
6. Clawdbot Agentからの自律的通話
Clawdbot Agentが状況判断して自律的に通話:
// Clawdbot Agent内部ロジック例
async function checkSystemHealth() {
const cpuUsage = await getCPUUsage();
const memoryUsage = await getMemoryUsage();
if (cpuUsage > 90 || memoryUsage > 95) {
// 緊急通知
voice_call({
action: "initiate_call",
to: "+15555550123",
message: `Critical system alert. CPU usage is at ${cpuUsage}% and memory usage is at ${memoryUsage}%. Immediate investigation required.`
});
}
}
// 5分ごとにヘルスチェック
setInterval(checkSystemHealth, 5 * 60 * 1000);
ユースケース
自動リマインダー
- 会議・予定のリマインダー通知
- 薬の服用時間通知
- タスク期限アラート
緊急通知
- システム障害アラート
- セキュリティインシデント通知
- インフラストラクチャー監視アラート
カスタマーサポート
- 注文確認通知
- 配送ステータス更新
- アポイントメント確認
対話型アシスタント
- 音声によるタスク管理
- 情報検索(天気、ニュース等)
- スマートホーム制御
制限事項・セキュリティ考慮事項
機能制限
- プラグイン有効化必須: voice-callプラグインが無効の場合、ツールは使用不可
- プロバイダー依存: 各VoIPプロバイダーのAPI仕様に依存(Rate Limit、地域制限等)
- TTS制約: 音声合成の品質はプロバイダーのTTSエンジンに依存
コスト
各プロバイダーの従量課金(2026年2月時点の参考価格、公式サイト要確認):
- Twilio: $0.013/分(米国内通話)
- Telnyx: $0.004/分(米国内通話)
- Plivo: $0.0060/分(米国内通話)
国際通話は国により価格が異なる。
セキュリティ
- 認証情報管理: Account SID、Auth Token、API Keyは環境変数または設定ファイル(適切な権限設定)で管理
- 電話番号検証: 発信先電話番号の検証を実装し、意図しない通話を防ぐ
- Rate Limit: 短時間に大量の通話を発信しないよう制御(プロバイダーの利用規約遵守)
- プライバシー: 通話ログ、録音データの取り扱いは各国の電気通信事業法に準拠
コンプライアンス
- TCPA(米国): 自動電話発信はTelephone Consumer Protection Act(TCPA)に準拠する必要がある
- GDPR(EU): 個人データ(電話番号)の処理にはGDPR遵守が必要
- Do Not Call Registry: 各国のDo Not Call Registryに登録された番号への発信を避ける
パフォーマンス
- 通話接続時間: 通話開始まで5-15秒程度かかる場合がある
- 音声遅延: TTS生成および音声伝送による遅延(通常1-3秒)
- 並列通話数: プロバイダーのアカウントプランにより同時通話数制限がある
トラブルシューティング
「plugin not enabled」エラー:
~/.clawdbot/clawdbot.jsonでvoice-callプラグインを有効化。
「invalid credentials」エラー:
Account SID、Auth Token、API Key等の認証情報を確認。
通話が接続されない:
発信元電話番号が正しく設定されているか、プロバイダーで番号が有効化されているか確認。
参考リンク
- Twilio公式サイト: https://www.twilio.com
- Twilio Voice API仕様: https://www.twilio.com/docs/voice/api
- Telnyx公式サイト: https://telnyx.com
- Telnyx Voice API: https://developers.telnyx.com/docs/api/v2/voice
- Plivo公式サイト: https://www.plivo.com
- Plivo Voice API: https://www.plivo.com/docs/voice/api/
- Clawdbot公式ドキュメント: https://github.com/cncf/clawdbot
本記事の情報は2026年2月15日時点のものです。各VoIPプロバイダーのAPI仕様、価格、規制は変更される可能性があります。最新情報は各公式サイトをご確認ください。
関連記事
SAG Skill - ElevenLabs TTSをmacOS標準sayコマンド風UIで提供するClawdbot拡張機能
Clawdbot向けSAG Skillを利用して、ElevenLabs Text-to-Speech APIによる高品質音声合成をmacOS標準sayコマンド風のインターフェースで実現する方法を解説します。
Sherpa ONNX TTS Skill - オフライン音声合成をClawdbot環境で実現
Clawdbot向けSherpa ONNX TTS Skillを利用して、クラウド不要のローカル音声合成環境を構築する方法を解説します。
BlueBubbles Skill - ClawdbotでiMessageを統合
Clawdbot向けBlueBubbles Skillを利用して、Apple iMessageおよびSMS経由でのメッセージ送受信を実現する方法を解説します。
人気記事
ChatGPT(OpenAI)とClaude(Anthropic)の機能比較 2026年版。コーディング・長文解析・コスト・API料金の違いを検証
ChatGPT(GPT-4o/o3)とClaude(Sonnet 4.6/Opus 4.5)を2026年時点の最新情報で比較する。コーディング能力、長文処理、日本語品質、API料金、無料プランの違いをSWE-benchなどのベンチマーク結果とともに解説する。
【2026年2月20日 所感】「AIがコードを書く」は仮説から現実になった——しかし私たちはその意味をまだ消化できていない
2026年2月20日に観測したコーディングエージェント関連ニュースの総括と所感。Anthropicの自律性研究、cmux、MJ Rathbunのエージェント事故、HN「外骨格 vs チーム」論争、Stripe Minions週1000件PR、Taalas 17k tokens/sec——朝から夜までの流れを通じて見えてきた「AIがコードを書く時代」の実相を考察する。
868のスキルをnpx 1コマンドで——「Antigravity Awesome Skills」が主要AIコーディングエージェントの共通スキル基盤になりつつある
Claude Code・Gemini CLI・Codex CLI・Cursor・GitHub Copilotなど主要AIコーディングアシスタントを横断する868以上のスキルライブラリ「Antigravity Awesome Skills」(v5.4.0)を詳細分析。Anthropic・Vercel・OpenAI・Supabase・Microsoftの公式スキルを統合した設計思想、ロール別バンドル・ワークフロー機能、SKILL.mdによる相互運用性のアーキテクチャを解説する。
最新記事
AIエージェント間通信の標準化競争が始まる——AquaとAgent Semantic Protocolが同日登場
2026年2月23日、Hacker Newsに2つのAIエージェント通信プロジェクトが同日掲載された。Go製CLI「Aqua」とセマンティックルーティングを実装する「Agent Semantic Protocol」は、MCPが解決できないP2P・非同期通信の課題に取り組む。
Claude Sonnet 4.6、無料・Proプランのデフォルトモデルに——社内テストでOpus 4.5を59%の確率で上回る
Anthropicは2026年2月17日にリリースしたClaude Sonnet 4.6を、claude.aiの無料・Proプランのデフォルトモデルに設定した。価格はSonnet 4.5と同額の$3/$15 per 1Mトークン。社内評価ではコーディングエージェント用途でOpus 4.5を上回る結果が出ている。
GoogleがOpenClaw経由のGemini利用ユーザーのアカウントを永久停止——月額$250請求継続のまま
2026年2月23日、Hacker Newsで140pt/107コメントを集めたレポートによると、GoogleはOpenClaw(サードパーティクライアント)経由でGeminiを使用していたGoogle AI Pro/Ultraユーザーを予告なしに永久停止した。技術的・経済的背景を整理する。