mcpField
C
create-batch

create-batch

github.com/bolna-ai营销与增长366 次安装3 天前更新
代码仓库

关于 create-batch

用于 Bolna 批量呼叫活动的技能,可从 CSV 创建批次、安排执行并监控进度,也支持停止和删除。适用于需要向多个收件人发起 Agent 呼叫的活动。

主要功能

  1. 01从 CSV 创建呼叫批次
  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}
  • 列出 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