mcpField
C
create-batch

create-batch

github.com/bolna-aiマーケティング・グロース366 回インストール3 日前に更新
リポジトリ

create-batch について

Bolnaの一括通話キャンペーンを管理するスキルです。CSVの宛先からバッチを作成してスケジュールし、進捗を監視できます。リトライ、停止、削除にも対応します。

主な機能

  1. 01CSVから通話バッチを作成
  2. 02バッチ実行のスケジュール
  3. 03バッチと個別実行の監視
  4. 04リトライ設定、停止、削除

活用シーン

  1. 01宛先CSVを使った発信キャンペーンの開始
  2. 02タイムゾーンを指定したバッチ予約
  3. 03通話状況、録音、抽出データの追跡

インストール

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

$npx skills add https://github.com/bolna-ai/skills --skill create-batch

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

同梱ファイル

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

assets/
sample_recipients.csv
scripts/
create_batch.py
monitor_batch.py

詳細

Bolna バッチキャンペーンの作成

エンドポイント

  • バッチの作成:POST https://api.bolna.ai/batches
  • バッチのスケジュール設定:POST https://api.bolna.ai/batches/{batch_id}/schedule
  • バッチの停止:POST https://api.bolna.ai/batches/{batch_id}/stop
  • バッチの取得:GET https://api.bolna.ai/batches/{batch_id}
  • エージェントのバッチ一覧:GET https://api.bolna.ai/batches/{agent_id}/all
  • バッチ実行の一覧:GET https://api.bolna.ai/batches/{batch_id}/executions
  • バッチの削除:DELETE https://api.bolna.ai/batches/{batch_id}

CSV 形式

CSV には、宛先の電話番号と、エージェントのプロンプトで参照される変数を含める必要があります。

contact_number,customer_name,plan
+919876543210,Amitesh,Pro
+918765432109,Riya,Starter

エージェントのプロンプトに {customer_name} や {plan} がある場合、CSV にも対応する列が必要です。 宛先番号のヘッダーには contact_number を使用してください。Bolna はこの列を検証し、その他の列はカスタム変数として渡します。

バッチの作成

マルチパート形式でアップロードします。

curl --location https://api.bolna.ai/batches \
  --header "Authorization: Bearer $BOLNA_API_KEY" \
  --form 'agent_id="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"' \
  --form 'file=@"/path/to/recipients.csv"' \
  --form 'from_phone_numbers="+919876543210"' \
  --form 'from_phone_numbers="+919876543211"'

オプションの再試行設定は JSON 文字列です。

--form 'retry_config={"enabled":true,"max_retries":2,"retry_intervals_minutes":[15,30]}'

想定されるレスポンス:

{
  "batch_id": "3c90c3cc0d444b5088888dd25736052a",
  "state": "created"
}

バッチのスケジュール設定

curl --location "https://api.bolna.ai/batches/$BATCH_ID/schedule" \
  --header "Authorization: Bearer $BOLNA_API_KEY" \
  --form 'scheduled_at="2026-05-19T18:30:00+05:30"' \
  --form 'bypass_call_guardrails=false'

scheduled_at には必ずタイムゾーンを含めてください。

監視

curl --request GET \
  --url "https://api.bolna.ai/batches/$BATCH_ID" \
  --header "Authorization: Bearer $BOLNA_API_KEY"

実行数とステータスを使用して、完了状況を追跡します。通話ごとの文字起こし、コスト、録音、抽出データを確認するには、バッチ実行の一覧を取得してください。

停止と削除

バッチを停止すると、残りのキュー内の処理が中断されます。バッチを削除すると、バッチ管理から削除されます。どちらの操作を行う場合も、ユーザーの意図を確認してください。

アセット

ひな形として assets/sample_recipients.csv を使用してください。

スクリプト

# Create a batch from a CSV
python3 create-batch/scripts/create_batch.py \
  --agent-id "$AGENT_ID" \
  --file recipients.csv \
  --from-numbers "+919876543210,+919876543211"

# Poll a batch's progress until terminal
python3 create-batch/scripts/monitor_batch.py --batch-id "$BATCH_ID"

再試行と同時実行数

通話ごとの retry_config は、バッチ自体と同じ同時実行数の上限を共有します。バッチが同時実行数の上限に達した状態で再試行が始まると、再試行は実行中の通話の後ろにキューイングされ、キャンペーンの進行が実質的に遅くなります。大量の通話を行うキャンペーンでは、次のようにしてください。

  • max_retries を 1(または 0)に下げます。
  • または、再試行が新しい発信を妨げないよう、上限に達しない範囲でキャンペーンを実行します。

関連項目

  • make-call — 単一通話用インターフェースです。同じ形式の retry_config を使用します。
  • get-executions — GET /batches/{batch_id}/executions は、通話ごとの結果をページネーションで取得します。
  • https://raw.githubusercontent.com/bolna-ai/skills/main/references/call-statuses.md — バッチ概要の終端ステータスフィルターです。
  • https://raw.githubusercontent.com/bolna-ai/skills/main/references/india-compliance.md — インドの宛先を含むバッチに必要な DLT の前提条件です。

コメント