SuperAPI AI 工具集

whatsapp-outreach-run

营销与增长

查看项目

更新于 10-15 11:24

技能介绍

用途

WhatsApp Outreach Agent - Run Skill 是 agi-super-team 技能库中的一个运行类技能,用于批量发送 WhatsApp 消息,即“自动 WhatsApp 外联代理运行”。它面向需要执行 WhatsApp 外联活动(campaign)的场景,通过代理脚本按活动配置筛选联系人并发送个性化消息。

主要能力

该技能支持以下操作能力:

  • 创建或选择活动:通过 YAML 配置文件定义活动名称、过滤条件(company_id、product_id、stage、preferred_channel 等,均为可选)、消息模板和变量。
  • 干跑预演(dry-run):在不实际发送的情况下检查收件人数量、消息个性化和过滤条件是否正确。
  • 单收件人测试:向指定联系人发送一条消息,验证发送、活动日志记录和 git 分支创建。
  • 小批量测试:限制为 3 人,验证 60 秒发送间隔、活动日志记录和 git 分支。
  • 完整运行:代理先显示前 3 条消息预览,然后请求人工确认([y/N]),确认后开始发送并显示进度。
  • 运行后审查与合并:通过 git diff 检查变更,合并或删除 whatsapp-outreach-YYYY-MM-DD-HHMM 分支。

支持的运行参数:

Flag Description
--campaign FILE Path to campaign config (YAML)
--dry-run Test run (no sending)
--auto-approve Skip human approval (use with caution!)
--test-recipient p-XXX Send to one person only
--limit N Limit to N recipients

环境变量:

  • WHATSAPP_DELAY_SECONDS:消息之间的延迟秒数,默认示例为 60。
  • WHATSAPP_DAILY_LIMIT:每日消息上限,默认示例为 20。
  • IDEMPOTENCY_LOOKBACK_DAYS:幂等性回看天数,默认示例为 7。

使用方式

运行前需检查 WhatsApp 会话与设置:

检查 WhatsApp 会话:

ls $SALES_PATH/whatsapp/baileys_session/

若为空,先认证:

cd $SALES_PATH/whatsapp node index.js

Scan QR code

检查设置:

cd $AGENTS_PATH/whatsapp-outreach python3 test_setup.py

运行流程:

Step 1:创建或选择活动。若无活动,创建配置,例如:

$AGENTS_PATH/campaigns/my-campaign.yaml

campaign_name: "Campaign Name"

filters: company_id: ["comp-XXX"] # Optional product_id: ["prod-XXX"] # Optional stage: ["new", "qualified"] # Optional preferred_channel: "whatsapp" # Optional

message_template: | Hi, {first_name}!

This is Ivan from WeLabelData.

Your message here...

variables: custom_var: "value"

Step 2:强制干跑:

cd $AGENTS_PATH/whatsapp-outreach

python3 whatsapp_outreach_agent.py
--dry-run
--campaign campaigns/my-campaign.yaml

检查收件人数量、消息个性化和过滤条件。

Step 3:单收件人测试:

python3 whatsapp_outreach_agent.py
--test-recipient p-XXX

检查消息已发送、活动已记录、git 分支已创建。

Step 4:小批量(3 人):

python3 whatsapp_outreach_agent.py
--limit 3
--campaign campaigns/my-campaign.yaml

检查 60 秒延迟是否生效、所有活动是否记录、git 分支是否正确。

Step 5:完整运行:

python3 whatsapp_outreach_agent.py
--campaign campaigns/my-campaign.yaml

代理显示预览(前 3 条消息)并请求确认 [y/N];确认后开始发送,进度显示为 [X/Y] Name → +phone... OK/FAIL。

Step 6:审查与合并:

cd $PROJECT_ROOT

Check changes

git diff main

If OK -> merge

git checkout main git merge whatsapp-outreach-YYYY-MM-DD-HHMM

If NOT OK -> delete branch

git branch -D whatsapp-outreach-YYYY-MM-DD-HHMM

输出结果包括:

  • 日志:$AGENTS_PATH/logs/whatsapp_outreach_YYYY-MM-DD_HH-MM.md
  • Git 分支:whatsapp-outreach-YYYY-MM-DD-HHMM
  • CRM 变更:sales/crm/activities.csv 新增活动;sales/crm/relationships/leads.csv 更新 last_contact_date;sales/crm/contacts/people.csv 在失败时新增备注。

适用场景

  • 需要向一批联系人批量发送 WhatsApp 消息的外联活动。
  • 基于 CRM 数据与过滤条件进行活动配置和联系人筛选。
  • 例如客户培训提醒:

python3 whatsapp_outreach_agent.py
--campaign campaigns/clientd-training-reminder.yaml

  • 快速测试:

python3 whatsapp_outreach_agent.py
--dry-run
--limit 1
--campaign campaigns/example-whatsapp.yaml

限制与注意

  • 始终先执行 --dry-run。
  • 未经测试不要使用 --auto-approve。
  • 每天最多 20 条消息(WhatsApp 可能封禁)。
  • 需要人工批准(根据所有者决定)。
  • 合并前审查 git 分支。

常见故障排查:

  • “WhatsApp session expired”:重新运行 cd $SALES_PATH/whatsapp && node index.js 并扫描二维码。
  • “FloodWait error”:增加 WHATSAPP_DELAY_SECONDS、降低 WHATSAPP_DAILY_LIMIT 或等待 24 小时。
  • “No recipients found”:检查活动配置中的过滤条件、CRM 数据(people.csv、leads.csv)以及 people.csv 中的电话号码。
  • Git 分支未创建:检查是否有成功发送、检查 $PROJECT_ROOT 的 git 状态;可能所有发送都失败了。

相关文件:规格 $AGENTS_PATH/specs/whatsapp-outreach.spec.md;README $AGENTS_PATH/whatsapp-outreach/README.md;实现说明 $AGENTS_PATH/whatsapp-outreach/IMPLEMENTATION.md。