mcpField
M
make-call

make-call

github.com/bolna-aiその他366 回インストール2 日前に更新
リポジトリ

make-call について

Bolna APIで発信や予約を行うスキルです。Bolnaエージェントの通話に連絡先データを渡し、再試行を設定したり、開始前の通話を停止したりできます。

主な機能

  1. 01即時の発信
  2. 02タイムゾーン指定の予約
  3. 03動的なユーザーデータの受け渡し
  4. 04再試行ルールの設定
  5. 05キュー中・予約済み通話の停止

活用シーン

  1. 01Bolnaエージェントで単発の通話を開始
  2. 02指定した現地時刻に通話を予約
  3. 03結果に応じた通話の再試行
  4. 04開始前の通話のキャンセル

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bolna-ai/skills --skill make-call

インストール後、Claude Code で/make-callを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

scripts/
bulk_make_calls.py
make_call.py
schedule_call.py

詳細

Bolna で電話をかける

エンドポイント

  • 電話をかける:POST https://api.bolna.ai/call
  • キュー内またはスケジュール済みの電話を停止する:POST https://api.bolna.ai/call/{execution_id}/stop
  • 結果を確認する:返された execution_id を使って get-executions を実行します。

必須フィールド

  • agent_id:Bolna エージェントの UUID です。
  • recipient_phone_number:E.164 形式の発信先電話番号です。例:+919876543210。

任意フィールド

  • from_phone_number:E.164 形式の発信元電話番号です。Bolna のデフォルトの発信番号を使用する場合は省略します。
  • scheduled_at:タイムゾーンを含む ISO 8601 形式の日時です。例:2026-05-19T18:30:00+05:30。
  • user_data:プロンプトまたはウェルカムメッセージで参照される動的変数です。例:{customer_name}。
  • agent_data.voice_id:同じ設定済み TTS プロバイダー内でのみ音声を上書きします。
  • bypass_call_guardrails:true の場合、この電話についてエージェントの発信可能時間のチェックをスキップします。テスト、緊急時、または明示的に承認された優先度の高い電話にのみ使用してください。
  • retry_config:応答なし、話し中、失敗、エラー、または留守番電話の場合に、失敗した電話を再試行します。

すぐに電話をかける

curl --request POST \
  --url https://api.bolna.ai/call \
  --header "Authorization: Bearer $BOLNA_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "agent_id": "123e4567-e89b-12d3-a456-426655440000",
    "recipient_phone_number": "+919876543210",
    "user_data": {
      "customer_name": "Amitesh",
      "plan": "Pro"
    }
  }'

期待される応答:

{
  "message": "done",
  "status": "queued",
  "execution_id": "123e4567-e89b-12d3-a456-426614174000"
}

execution_id は必ず保存してください。これは Webhook と実行内容の検索に使用する結合キーです。

スケジュール済みの電話

{
  "agent_id": "123e4567-e89b-12d3-a456-426655440000",
  "recipient_phone_number": "+919876543210",
  "scheduled_at": "2026-05-19T18:30:00+05:30",
  "bypass_call_guardrails": false
}

タイムゾーンのない日時文字列は避けてください。

ガードレール

エージェントに calling_guardrails.call_start_hour と call_end_hour が設定されている場合、Bolna は発信先の現地時間に基づいてこれらを評価します。許可された時間帯外の場合、電話はすぐに発信されず、再スケジュールされることがあります。ユーザーがその時間帯を無視することを明示的に希望している場合にのみ、bypass_call_guardrails: true を使用してください。

再試行設定

{
  "retry_config": {
    "enabled": true,
    "max_retries": 2,
    "retry_on_statuses": ["no-answer", "busy", "failed", "error"],
    "retry_on_voicemail": false,
    "retry_intervals_minutes": [30, 60]
  }
}

大量のキャンペーンでは、再試行によって同時実行数が消費され、バッチと重複する可能性があることに注意してください。

キュー内またはスケジュール済みの電話を停止する

curl --request POST \
  --url "https://api.bolna.ai/call/$EXECUTION_ID/stop" \
  --header "Authorization: Bearer $BOLNA_API_KEY"

すでに進行中の電話は停止できません。

スクリプト

# One-off call
python3 make-call/scripts/make_call.py \
  --agent-id "$AGENT_ID" \
  --recipient "+919876543210" \
  --user-data '{"customer_name":"Amitesh"}'

# Scheduled call (timezone-aware)
python3 make-call/scripts/schedule_call.py \
  --agent-id "$AGENT_ID" \
  --recipient "+919876543210" \
  --at "2026-05-22T15:30:00+05:30"

# Bulk one-off calls from a CSV (for ad-hoc fan-outs; use `create-batch` for proper campaigns)
python3 make-call/scripts/bulk_make_calls.py \
  --agent-id "$AGENT_ID" \
  --file recipients.csv

関連項目

  • create-batch — 監視、再試行、停止用のエンドポイントを備えた、CSV ベースの適切なキャンペーンです。
  • get-executions — 返された execution_id を使って、キューに入った電話の結果を取得します。
  • setup-webhook — ポーリングの代わりに、電話の更新情報をリアルタイムで受信します。
  • https://raw.githubusercontent.com/bolna-ai/skills/main/references/call-statuses.md — ステータスの遷移を解釈します。
  • bolna-graph-agents/scripts/inject_event.py — グラフエージェントの場合、進行中の電話にリアルタイムイベントを送信します。

コメント