OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  campaign-orchestrator:多渠道营销活动自动化后续跟进编排器

campaign-orchestrator:多渠道营销活动自动化后续跟进编排器

 
  malware ·  2026-02-04 23:04:55 · 3 次点击  · 0 条评论  

名称: campaign-orchestrator
描述: ShapeScale 销售多渠道跟进活动编排器。可安排和执行短信+邮件序列,集成 CRM 日志记录,并在收到回复时自动终止活动。适用于跟进演示线索或管理外展活动。
主页: https://github.com/kesslerio/shapescale-moltbot-skills
元数据: {"moltbot":{"emoji":"📋","requires":{"env":["DIALPAD_API_KEY","ATTIO_API_KEY","GOG_KEYRING_PASSWORD"]},"primaryEnv":"DIALPAD_API_KEY"}}


活动编排器技能

ShapeScale 销售多渠道跟进活动编排器。执行预定的短信+邮件序列,集成 CRM,并在收到回复时自动终止。

概述

一个活动是一系列定义好的、随时间执行的步骤(短信/邮件)。当线索回复任何消息时,活动将自动终止。

核心功能

  • 多渠道:短信(Dialpad)+ 邮件(Gmail)
  • 可调度:基于 Cron 执行,可配置延迟
  • 个性化:模板数据来自 Attio CRM
  • 自动终止:回复将停止所有未来预定步骤
  • 有日志:所有活动记录在 Attio 中

设置

所需环境变量:

DIALPAD_API_KEY=你的_dialpad_api_密钥
ATTIO_API_KEY=你的_attio_api_密钥
GOG_KEYRING_PASSWORD=你的_谷歌密码  # 用于 Gmail 访问

同时确保:
- Dialpad 网络钩子已配置为指向此服务器
- Attio 中已有线索对应的公司/联系人记录
- 销售邮箱已启用 Gmail API 访问权限

使用方法

启动活动

# 为线索启动主要跟进活动
python3 campaign.py start "primary" --lead "Apex Fitness"

# 启动时覆盖自定义延迟(小时)
python3 campaign.py start "primary" --lead "Apex Fitness" --delay 2

# 使用 Attio 交易/公司 ID 启动
python3 campaign.py start "post-demo" --lead "Apex Fitness" --attio-id "deal-uuid"

活动前检查清单(强制)

在启动任何活动前,请验证:

  1. 客户状态检查

    • 在内存/CRM 中搜索“已是客户”或“已购买”标记
    • 检查 campaigns.json 中的排除列表
    • 确认邮箱域名不在客户数据库中
  2. 邮件格式检查(针对邮件步骤)

    • 预览模板是否渲染为正确的段落
    • 每段 2-4 句话,段落间空一行
    • 没有孤立的单句段落
    • 段落内无硬换行
  3. 语气检查

    • 避免道歉性语言(如“没关系”、“抱歉打扰”)
    • 避免提供轻易退出的选项(如“如果不相关,没问题”)
    • 保持专业,不显得急切

切勿向现有客户发起活动,除非明确要求进行增销。

检查活动状态

# 特定线索的状态
python3 campaign.py status "Apex Fitness"

# 所有活跃活动
python3 campaign.py list

停止活动

# 手动终止(线索已回复、不感兴趣等)
python3 campaign.py stop "Apex Fitness" --reason "replied_interested"

移除线索

# 从活动中移除线索(选择退出、不感兴趣)
python3 campaign.py remove "Apex Fitness"

检查回复

# 检查线索是否已回复任何先前消息
python3 campaign.py check "Apex Fitness"
# 显示每个已完成步骤的回复状态
# 如果检测到回复会发出警告(可安全继续或终止)

查看待处理步骤

# 显示所有按时间排序的待处理活动步骤
python3 campaign.py pending
# 便于查看所有活动中即将到期的步骤

模板管理

# 列出可用模板
python3 campaign.py templates

# 预览模板
python3 campaign.py preview "primary"

活动模板

模板 时间安排 渠道 目的
primary +4 小时 短信 演示回顾,分享录制
secondary +1 天 邮件 定价,详细投资回报率
tertiary +4 天 短信 快速跟进
quaternary +7 天 邮件 最终跟进,案例研究
post-demo +0 小时 短信 立即感谢

模板变量

模板支持变量替换:

{name}      - 线索名字
{company}   - 公司名称
{deal_value} - Attio 中的交易价值
{owner}     - 销售负责人姓名
{demo_notes} - 演示对话笔记
{checkout_link} - 个性化结账链接

架构

campaign-orchestrator/
├── SKILL.md              # 本文档
├── campaign.py           # 主 CLI(启动、停止、状态、列表)
├── webhook_handler.py    # 处理回复 → 终止
├── primary.md            # 短信跟进模板
├── secondary.md          # 邮件模板
├── post-demo.md          # 立即跟进模板
└── state/
    └── campaigns.json    # 活动状态持久化存储

状态管理

活动状态存储在 <workspace>/state/campaigns.json 中:

{
  "campaigns": {
    "Apex Fitness": {
      "template": "primary",
      "attio_id": "deal-uuid",
      "started": "2026-01-27T13:00:00Z",
      "steps_completed": ["sms_primary"],
      "next_step": "email_secondary",
      "next_scheduled": "2026-01-28T13:00:00Z",
      "status": "active"
    }
  },
  "templates": {
    "primary": {...},
    "secondary": {...}
  }
}

Cron 集成

活动步骤通过 Clawdbot 的 cron 系统执行:

  • 执行器任务:每 5 分钟运行一次以检查到期步骤
  • 按活动任务:为每个预定步骤创建

调度脚本会自动创建和管理这些任务。

网络钩子处理

当 Dialpad 收到活动消息的回复时:

  1. Dialpad 向服务器发送网络钩子
  2. webhook_handler.py 解析回复
  3. 查找原始消息所属的活动
  4. 将活动标记为已终止
  5. 将回复记录到 Attio

集成点

Dialpad 短信

python3 /home/art/niemand/skills/dialpad/send_sms.py --to "+14155551234" --message "..."

Gmail(通过 gog)

gog-shapescale --account martin@shapescale.com send-email --to "lead@company.com" --subject "..." --body "..."

Attio CRM

attio note companies "company-uuid" "活动消息已发送:{message}"

示例

完整活动工作流

# 1. 演示后,启动活动
/campaign start "post-demo" --lead "Dr. Smith's Clinic"

# 2. 第二天检查状态
/campaign status "Dr. Smith's Clinic"
# 输出:步骤 1 已发送,步骤 2 计划于明天

# 3. 线索回复“感兴趣”
# 网络钩子自动终止活动
# 将回复记录到 Attio

# 4. 如需,手动跟进
/campaign start "secondary" --lead "Dr. Smith's Clinic" --delay 0

监控活跃活动

# 列出所有活跃活动
/campaign list

# 输出:
# 活跃活动:
# - Apex Fitness (primary) - 步骤 2/4,下一步:邮件
# - Dr. Smith's Clinic (post-demo) - 已完成
# - Wellness Center (tertiary) - 步骤 1/3,下一步:短信

故障排除

活动未发送:
- 检查 cron 是否运行:crontab -l
- 检查日志:journalctl -u moltbot 或活动日志
- 验证 API 密钥:echo $DIALPAD_API_KEY

网络钩子未终止:
- 确认 Dialpad 网络钩子 URL 已配置
- 检查网络钩子处理器是否在运行
- 检查 campaigns.json 中是否有匹配的线索

模板变量未填充:
- 确认线索存在于 Attio 中且包含必填字段
- 检查模板语法:应为 {variable} 而非 { variable }

许可证

属于 shapescale-moltbot-skills 的一部分。请参阅父仓库。

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor