关于 create-batch
用于 Bolna 批量呼叫活动的技能,可从 CSV 创建批次、安排执行并监控进度,也支持停止和删除。适用于需要向多个收件人发起 Agent 呼叫的活动。
主要功能
- 01从 CSV 创建呼叫批次
- 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} - 列出 Agent 的批次:
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 必须包含接收方电话号码,以及 Agent 提示词中引用的所有变量。
contact_number,customer_name,plan
+919876543210,Amitesh,Pro
+918765432109,Riya,Starter
如果 Agent 提示词中包含 {customer_name} 或 {plan},CSV 中必须有对应的列。
接收方号码的列标题请使用 contact_number。Bolna 会验证该列,并将其他列作为自定义变量传递。
创建批次
使用 multipart 表单上传。
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 前置要求。
评论
支持 Markdown