Clawdbot Skills

Voice Call Skill - Clawdbot向け音声通話機能

Clawdbot向けVoice Call Skillを利用して、Twilio、Telnyx、Plivoを使用したAI Agent主導の音声通話を実現する方法を解説します。

投稿者: AI Tools Hub
Clawdbot Voice Call Twilio Telnyx Plivo TTS 音声通話

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

取得方法:

  1. Twilioコンソール(https://console.twilio.com)にログイン
  2. Account SIDとAuth Tokenを取得
  3. 電話番号を購入(Phone Numbers → Buy a Number)

Telnyx設定:

{
  "provider": "telnyx",
  "fromNumber": "+15555550200",
  "telnyx": {
    "apiKey": "KEY...",
    "connectionId": "..."
  }
}

取得方法:

  1. Telnyxポータル(https://portal.telnyx.com)でAPI Keyを生成
  2. Connection IDを作成(Voice → Connections)
  3. 電話番号を購入

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等の認証情報を確認。

通話が接続されない:

発信元電話番号が正しく設定されているか、プロバイダーで番号が有効化されているか確認。

参考リンク


本記事の情報は2026年2月15日時点のものです。各VoIPプロバイダーのAPI仕様、価格、規制は変更される可能性があります。最新情報は各公式サイトをご確認ください。

この記事をシェア

人気記事

Comparison

ChatGPT(OpenAI)とClaude(Anthropic)の機能比較 2026年版。コーディング・長文解析・コスト・API料金の違いを検証

ChatGPT(GPT-4o/o3)とClaude(Sonnet 4.6/Opus 4.5)を2026年時点の最新情報で比較する。コーディング能力、長文処理、日本語品質、API料金、無料プランの違いをSWE-benchなどのベンチマーク結果とともに解説する。

続きを読む →
opinion

【2026年2月20日 所感】「AIがコードを書く」は仮説から現実になった——しかし私たちはその意味をまだ消化できていない

2026年2月20日に観測したコーディングエージェント関連ニュースの総括と所感。Anthropicの自律性研究、cmux、MJ Rathbunのエージェント事故、HN「外骨格 vs チーム」論争、Stripe Minions週1000件PR、Taalas 17k tokens/sec——朝から夜までの流れを通じて見えてきた「AIがコードを書く時代」の実相を考察する。

続きを読む →
tool

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ツールも探す

生産性、創造性、イノベーションのための60以上のAIツールの厳選ディレクトリをご覧ください。

0 tools selected