mcpField
S
smartlead-campaign-upload-public

smartlead-campaign-upload-public

github.com/growthenginenowoslawski营销与增长79066 次安装3 周前更新
代码仓库

关于 smartlead-campaign-upload-public

将 `leads.csv` 和 `variants.yaml` 上传为 Smartlead 草稿活动的工具技能。它负责配置和导入,活动须由人员在 Smartlead 界面审核并手动启动。

主要功能

  1. 01校验潜在客户 CSV 列
  2. 02解析活动变体 YAML
  3. 03按发送量分配已标记收件箱
  4. 04分批上传潜在客户
  5. 05设置活动日程和参数
  6. 06保留草稿供人工审核

适用场景

  1. 01用准备好的名单创建 Smartlead 草稿
  2. 02载入含 A/B/C 变体的序列
  3. 03启动前检查收件箱分配

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/growthenginenowoslawski/coldoutboundskills --skill smartlead-campaign-upload-public

安装后在 Claude Code 中输入/smartlead-campaign-upload-public确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
leads-csv-schema.md
variants-schema.yaml
scripts/
upload.ts

详细介绍

Smartlead Campaign 上传

接收 variants.yaml(由 /campaign-copywriting 编写)和 leads.csv(来自你的名单构建技能),并在 Smartlead 中创建一个 DRAFT Campaign。你可以在 Smartlead UI 中检查结果,然后手动点击 Start。

此技能不会提供任何邮件文案。 文案来自 /campaign-copywriting。此技能只是机械的上传层——仅调用 API。

为什么只能创建 DRAFT

冷邮件 Campaign 绝不应通过脚本启动。检查以下内容后,在 Smartlead UI 中点击 Start:

  • 主题行和正文预览
  • 收件箱分配(标签是否正确?数量是否正确?)
  • Leads 数量和几条随机 lead 记录
  • 发送计划(时区、时段和发送速率)

脚本会在 DRAFT 中完成所有设置,让检查变得轻而易举——确认无误后点击 Start。

输入

leads.csv

必需列:

  • email
  • first_name
  • last_name
  • company_name

可选列(作为自定义字段传递给 Smartlead):

  • company_domain
  • title
  • linkedin_url
  • situation_line(AI 为每个 lead 生成的背景信息)
  • value_line(AI 生成的价值映射)
  • cta_line(AI 生成的 CTA 角度)

由 /campaign-copywriting 或 /personalization-subagent-pattern 生成的其他 AI 变量列——仅限命名字段。脚本不接受任意列;这是有意为之。如果需要添加字段,请更新此技能。

variants.yaml

由 /campaign-copywriting 生成。Schema 位于 references/variants-schema.yaml。

最低要求:name、schedule、inbox_selection,以及至少包含一个步骤的 sequences。

用法

export SMARTLEAD_API_KEY=xxx
npx tsx scripts/upload.ts \
  --leads=profiles/<slug>/campaigns/<campaign-slug>/leads.csv \
  --variants=profiles/<slug>/campaigns/<campaign-slug>/variants.yaml

输出:

✓ Campaign created: #12345678
✓ Sequence saved (3 steps, 3 variants on step 1)
✓ 20 inboxes attached (tag=active, LRU by daily_sent_count)
✓ 1,847 leads uploaded (20 batches)
✓ Schedule set (M-F 08:00-17:00 EST, 30/day/inbox)

Campaign is in DRAFT. Review + Start:
→ https://app.smartlead.ai/app/email-campaign/12345678

脚本流程

  1. 加载环境变量(必需:SMARTLEAD_API_KEY)
  2. 解析 leads.csv——验证必需列并统计行数
  3. 解析 variants.yaml——内置最简解析器(约 30 行,无外部依赖)
  4. POST /campaigns/create → 获取 campaignId
  5. POST /campaigns/{id}/sequences,添加所有 A/B/C 变体
  6. 查询 /email-accounts?limit=100,按 tag 筛选,按 daily_sent_count 升序排序(LRU),并附加排名靠前的 N 个账号
  7. 批量上传 Leads(每批 100 个),将 CSV 中的标准自定义字段进行映射
  8. POST /campaigns/{id}/settings(关闭追踪,收到回复时停止)
  9. 使用 YAML 中的值调用 POST /campaigns/{id}/schedule
  10. 输出 Campaign URL。不要激活。

注意事项

  • 标签必须先存在并应用于收件箱。 运行此上传前,使用 /smartlead-inbox-manager 将收件箱标记为 active。
  • 收件箱数量。 如果 inbox_selection.count 超过已标记的收件箱数量,脚本会附加所有可用收件箱并发出警告。
  • Leads CSV 大小。 已测试最多 10K 行;更大规模的运行可能触发 API 速率限制。脚本内置了指数退避重试机制。
  • Variants.yaml 不匹配。 如果 /campaign-copywriting 未生成完全符合 Schema 的内容,脚本会立即失败,并清楚指出出错字段。
  • 邮件重复。 Smartlead 会在服务器端按 Campaign 去重。尽管如此,仍应先使用 /list-quality-scorecard 对 CSV 去重。

接下来要做什么

打开最后输出的 Smartlead URL,检查 Campaign。确认无误后点击 Start。 脚本有意不自动激活。

点击 Start 后:

  • 等待 21 天,然后对 Campaign 运行 /positive-reply-scoring 进行评估。
  • 每周一运行 /email-deliverability-audit --days=7(参见 /cold-email-weekly-rhythm)。

或者先等待: 如果最佳实践检查发现问题,请返回 /campaign-copywriting 修改,然后再上传。

相关技能

  • /campaign-copywriting — 生成 variants.yaml
  • /smartlead-inbox-manager — 必要的准备工作:上传前必须将收件箱标记为 active
  • /list-quality-scorecard — 上传前对 leads.csv 去重并验证
  • /positive-reply-scoring — 上线 21 天后运行以进行评估
  • /cold-email-weekly-rhythm — 上线后的运营节奏

文件

  • scripts/upload.ts — 上传脚本
  • references/variants-schema.yaml — 空白 Schema 参考(不含示例文案)
  • references/leads-csv-schema.md — 列规范

评论

支持 Markdown