mcpField
C
campaign-flow-builder

campaign-flow-builder

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

关于 campaign-flow-builder

campaign-flow-builder 是帮助营销团队把活动目标转化为 Lytics 流程的技能,涵盖入口细分、延迟、条件分支和 A/B 测试。它先协助设计并验证流程,再创建流程并配置导出步骤。

主要功能

  1. 01根据活动目标设计流程结构
  2. 02设置触发器、延迟和条件分支
  3. 03构建带概率分配的 A/B 测试
  4. 04创建流程并配置导出步骤
  5. 05按确认步骤激活流程

适用场景

  1. 01为新注册用户规划欢迎邮件序列
  2. 02为流失用户设计重新互动流程
  3. 03为试用用户配置优惠 A/B 测试

安装

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

$npx skills add https://github.com/lytics/agent-skills --skill campaign-flow-builder

安装后在 Claude Code 中输入/campaign-flow-builder确认已加载。

详细介绍

Campaign Flow Builder

用途

引导用户从业务意图(“我想要一组欢迎邮件”)开始,构建完整且经过验证的流程,包括入口细分群体、延迟、条件分支、A/B 测试和导出步骤。遵循顾问模式:了解目标、建议结构、反复调整,然后创建。

流程是 Lytics 最复杂的对象——此技能让流程更易上手。

环境

需要经过身份验证的 API 访问权限。凭据解析方式请参阅 ../references/auth.md。

Flow API 格式

流程使用节点-边图表示(TranslatedFlow 格式):

  • 节点:旅程中的步骤(触发器、延迟、导出、条件判断、A/B 测试、退出)
  • 边:步骤之间的连接(可带条件或概率)

构建流程

步骤 1:了解营销活动目标

对用户意图进行分类:

  • “欢迎邮件系列” -> 在进入细分群体时触发,邮件之间设置延迟
  • “重新互动营销活动” -> 对沉寂用户触发,进行条件检查,然后导出
  • “对两个优惠进行 A/B 测试” -> 触发、A/B 分流、两条导出路径
  • “多渠道培育” -> 触发、延迟、条件判断、多个导出渠道

询问:

  • 什么会触发用户进入流程?(进入某个细分群体、已属于某个细分群体)
  • 有多少个步骤/触点?
  • 是否有分支逻辑?(VIP 与普通用户、活跃与不活跃)
  • 步骤之间的时间间隔是多少?
  • 用户能否重新进入?
步骤 2:验证入口细分群体

流程需要一个触发细分群体。检查它是否存在:

curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/segment?table=user&sizes=true" \
  -H "Authorization: ${LYTICS_API_TOKEN}"

如果没有合适的细分群体,建议使用 audience-builder skill 或 audience-advisor skill 来创建。

步骤 3:设计流程结构

以文本图示展示拟议的流程:

TRIGGER: On entry to "New Signups" segment
  |
  v
[Send Welcome Email] (export)
  |
  v
[Wait 3 days] (delay)
  |
  v
[Opened Welcome?] (conditional split)
  |           |
  YES         NO
  |           |
  v           v
[Send Offer] [Send Reminder]
  |           |
  v           v
[EXIT]       [EXIT]

与用户反复调整,直到他们满意为止。

步骤 4:构建流程负载
节点类型

触发器(始终为 sequence_id: 0):

{
  "sequence_id": 0,
  "type": "trigger",
  "entry_segment_id": "segment-uuid-here",
  "entry_condition": "on_segment_entry",
  "reentry_allowed": false,
  "reentry_delay": 86400
}

入口条件:

  • "on_segment_entry" —— 用户进入细分群体时触发(基于事件,最常用)
  • "in_segment" —— 对当前属于该细分群体的用户触发(快照)

重新进入延迟以秒为单位。最小值为 3600(1 小时)。

导出(发送到外部平台):

{
  "sequence_id": 1000,
  "type": "export",
  "label": "Send Welcome Email",
  "work_config": {}
}

创建流程后,通过 work 端点单独配置 work_config。

延迟(步骤之间的等待时间):

{
  "sequence_id": 2000,
  "type": "delay",
  "label": "Wait 3 days",
  "delay": 259200000000000
}

延迟以纳秒为单位。常用值:

  • 1 小时:3600000000000
  • 24 小时:86400000000000
  • 3 天:259200000000000
  • 7 天:604800000000000

可选:delay_condition(FilterQL)——仅在满足条件时继续。 可选:delay_until_enters(细分群体 ID 数组)——等待用户进入列出的所有细分群体。

条件分流(if/else 分支):

{
  "sequence_id": 3000,
  "type": "conditional_split",
  "label": "Opened Welcome?"
}

条件定义在边上,而不是节点上。请参阅“边”部分。

A/B 测试(随机分流):

{
  "sequence_id": 4000,
  "type": "ab_test",
  "label": "50/50 Test"
}

概率定义在边上。总和必须为 1.0。

退出(流程结束):

{
  "sequence_id": 9999,
  "type": "exit"
}
边类型

简单连接:

{"id": "0-1000", "source": 0, "target": 1000, "type": "connected"}

条件分流边(带 FilterQL):

{
  "id": "3000-4000",
  "source": 3000,
  "target": 4000,
  "type": "connected",
  "condition": {
    "definition": "FILTER AND (email_opened = true) FROM user",
    "label": "Yes",
    "priority": 2
  }
}

优先级数字越大,越先检查。默认/回退边应设置 "definition": "" 和 "priority": 1。

A/B 测试边(带概率):

{
  "id": "4000-5000",
  "source": 4000,
  "target": 5000,
  "type": "connected",
  "probability": 0.5
}

来自同一源节点的所有概率总和必须为 1.0。

步骤 ID 分配
  • 触发器始终为 sequence_id: 0
  • 其他 ID 均由调用方分配为正整数(在流程中必须唯一)
  • 约定:使用 1000 的倍数(1000、2000、3000),以便阅读
步骤 5:确认并创建

使用确认门模式。展示:

  • 流程图(文本图示)
  • 入口细分群体名称和规模
  • 步骤数量和类型
  • 时间安排概要
  • 原始 API 负载
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/ui" \
  -H "Authorization: ${LYTICS_API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{ ... flow payload ... }'
步骤 6:配置导出步骤

在草稿状态下创建流程后,为每个导出步骤配置 work/导出:

curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/ui/${FLOW_ID}/step/${STEP_ID}/work" \
  -H "Authorization: ${LYTICS_API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{ ... work configuration ... }'

然后发布 work:

curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/ui/${FLOW_ID}/step/${STEP_ID}/work/publish" \
  -H "Authorization: ${LYTICS_API_TOKEN}"
步骤 7:激活流程

所有导出步骤都已发布工作后,激活流程:

curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/flow/ui/${FLOW_ID}" \
  -H "Authorization: ${LYTICS_API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"state": "running"}'

重要:同一时间只能有一个版本的流程处于 running 状态。发布新版本会自动将旧版本设为 draining。

常见营销活动模式

欢迎系列
TRIGGER (on_segment_entry: "New Signups")
  -> [Send Welcome] -> [Wait 3d] -> [Send Tips] -> [Wait 7d] -> [Send Offer] -> EXIT
重新互动
TRIGGER (in_segment: "Lapsed 30d")
  -> [Send Win-Back] -> [Wait 7d]
  -> CONDITIONAL (opened email?)
     YES -> [Send Discount] -> EXIT
     NO  -> [Send Final Notice] -> EXIT
A/B 测试
TRIGGER (on_segment_entry: "Trial Users")
  -> [Wait 1d]
  -> A/B TEST (50/50)
     A -> [Send Offer A] -> EXIT
     B -> [Send Offer B] -> EXIT
多渠道培育
TRIGGER (on_segment_entry: "High Intent")
  -> [Send Email] -> [Wait 2d]
  -> CONDITIONAL (converted?)
     YES -> EXIT
     NO  -> [Push Notification] -> [Wait 3d]
           -> [Retarget on Facebook] -> EXIT

流程状态

状态描述可以编辑吗?
draft未激活,完全可编辑可以——添加、移除或修改步骤
running已激活,正在处理用户有限——可以更新 work_config、标签和条件;不能添加或移除步骤
draining正在逐步结束,不接受新条目与 running 相同
deleted已永久删除不可以

错误处理

  • 条件中的 FilterQL 无效:创建流程前验证条件
  • 概率总和不为 1.0:调整后重试
  • 未找到入口细分:通过 audience-builder 帮助创建
  • 步骤 ID 重复:重新生成唯一值
  • 缺少工作配置:指导完成导出步骤配置

依赖项

  • 组合使用:segment-manager skill、audience-builder skill、job-manager skill
  • 参考:../references/filterql-grammar.md、../references/confirmation-gate.md、../references/auth.md、../references/api-client.md

评论

支持 Markdown