create-batch について
Bolnaの一括通話キャンペーンを管理するスキルです。CSVの宛先からバッチを作成してスケジュールし、進捗を監視できます。リトライ、停止、削除にも対応します。
主な機能
- 01CSVから通話バッチを作成
- 02バッチ実行のスケジュール
- 03バッチと個別実行の監視
- 04リトライ設定、停止、削除
活用シーン
- 01宛先CSVを使った発信キャンペーンの開始
- 02タイムゾーンを指定したバッチ予約
- 03通話状況、録音、抽出データの追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bolna-ai/ skills --skill create-batchインストール後、Claude Code で/create-batchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/sample_recipients.csvscripts/create_batch.pymonitor_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 の前提条件です。