SuperAPI AI 工具集

brevo-automation

营销与增长

查看项目

更新于 10-13 16:13

技能介绍

Brevo Automation 通过 Composio 的 Brevo 工具包和 Rube MCP,实现 Brevo(原 Sendinblue)邮件营销操作的自动化。

前提条件

  • 需要已连接 Rube MCP(RUBE_SEARCH_TOOLS 可用)
  • 通过 RUBE_MANAGE_CONNECTIONS 并指定工具包 brevo,建立有效的 Brevo 连接
  • 始终先调用 RUBE_SEARCH_TOOLS 以获取最新的工具 schema

设置步骤

  1. 获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥,添加端点即可工作。
  2. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用。
  3. 调用 RUBE_MANAGE_CONNECTIONS 并指定工具包 brevo。
  4. 如果连接不是 ACTIVE 状态,按返回的授权链接完成 Brevo 认证。
  5. 确认连接状态显示为 ACTIVE 后再运行任何工作流。

核心工作流

1. 管理邮件活动

适用场景:用户想要列出、查看或更新邮件活动。

工具序列:

  • BREVO_LIST_EMAIL_CAMPAIGNS:列出所有活动并带过滤条件 [必需]
  • BREVO_UPDATE_EMAIL_CAMPAIGN:更新活动内容或设置 [可选]

列表关键参数:

  • type:活动类型('classic' 或 'trigger')
  • status:活动状态('suspended'、'archive'、'sent'、'queued'、'draft'、'inProcess'、'inReview')
  • startDate/endDate:日期范围过滤(YYYY-MM-DDTHH:mm:ss.SSSZ 格式)
  • statistics:要包含的统计类型('globalStats'、'linksStats'、'statsByDomain')
  • limit:每页结果数(最大 100,默认 50)
  • offset:分页偏移
  • sort:排序方式('asc' 或 'desc')
  • excludeHtmlContent:设为 true 可减小响应体积

更新关键参数:

  • campaign_id:数字活动 ID(必需)
  • name:活动名称
  • subject:邮件主题行
  • htmlContent:HTML 邮件正文(与 htmlUrl 互斥)
  • htmlUrl:HTML 内容 URL
  • sender:包含 name、email 或 id 的发件人对象
  • recipients:包含 listIds 和 exclusionListIds 的对象
  • scheduledAt:计划发送时间(YYYY-MM-DDTHH:mm:ss.SSSZ)

注意事项:

  • startDate 和 endDate 必须同时提供,或都不提供
  • 日期过滤仅在未传 status 或 status 为 'sent' 时生效
  • htmlContent 和 htmlUrl 互斥
  • 活动发件人邮箱必须是 Brevo 中已验证的发件人
  • A/B 测试字段(subjectA、subjectB、splitRule、winnerCriteria)需要 abTesting: true
  • scheduledAt 使用带时区的完整 ISO 8601 格式

2. 创建和管理邮件模板

适用场景:用户想要创建、编辑、列出或删除邮件模板。

工具序列:

  • BREVO_GET_ALL_EMAIL_TEMPLATES:列出所有模板 [必需]
  • BREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATE:创建新模板或更新现有模板 [必需]
  • BREVO_DELETE_EMAIL_TEMPLATE:删除非活动模板 [可选]

列表关键参数:

  • templateStatus:过滤活动(true)或非活动(false)模板
  • limit:每页结果数(最大 1000,默认 50)
  • offset:分页偏移
  • sort:排序方式('asc' 或 'desc')

创建/更新关键参数:

  • templateId:包含则更新;省略则创建新模板
  • templateName:模板显示名称(创建时必需)
  • subject:邮件主题行(创建时必需)
  • htmlContent:HTML 模板正文(最少 10 个字符;与此或 htmlUrl 二选一)
  • sender:包含 name 和 email 或 id 的发件人对象(创建时必需)
  • replyTo:回复邮箱地址
  • isActive:激活或停用模板
  • tag:模板分类标签

注意事项:

  • 提供 templateId 时工具执行更新;省略时执行创建
  • 创建时,templateName、subject、sender 为必需项
  • htmlContent 至少需要 10 个字符
  • 模板个性化使用 {{contact.ATTRIBUTE}} 语法
  • 只有非活动模板才能删除
  • htmlContent 和 htmlUrl 互斥

3. 管理发件人

适用场景:用户想要查看已授权的发件人身份。

工具序列:

  • BREVO_GET_ALL_SENDERS:列出所有已验证发件人 [必需]

关键参数:(无必需项)

注意事项:

  • 发件人必须先验证,才能用于活动或模板
  • 发件人验证通过 Brevo 网页界面完成,而非通过 API
  • 发件人 ID 可用于活动和模板的 sender.id 字段

4. 配置 A/B 测试活动

适用场景:用户想要对活动设置或修改 A/B 测试配置。

工具序列:

  • BREVO_LIST_EMAIL_CAMPAIGNS:找到目标活动 [前置条件]
  • BREVO_UPDATE_EMAIL_CAMPAIGN:配置 A/B 测试设置 [必需]

关键参数:

  • campaign_id:要配置的活动
  • abTesting:设为 true 以启用 A/B 测试
  • subjectA:变体 A 的主题行
  • subjectB:变体 B 的主题行
  • splitRule:测试的百分比拆分(1-99)
  • winnerCriteria:'open' 或 'click',用于确定获胜者
  • winnerDelay:选择获胜者前等待的小时数(1-168)

注意事项:

  • 必须先启用 A/B 测试(abTesting: true)才能设置变体字段
  • splitRule 是接收变体 A 的联系人百分比
  • winnerDelay 定义在向剩余联系人发送获胜版本前测试多久
  • 仅适用于 'classic' 活动类型

常见模式

活动生命周期:

  1. 创建活动(status: draft)
  2. 设置收件人(listIds)
  3. 配置内容(htmlContent 或 htmlUrl)
  4. 可选地计划发送(scheduledAt)
  5. 通过 Brevo UI 发送或计划(API 更新可设置 scheduledAt)

分页:

  • 使用 limit(页大小)和 offset(起始索引)
  • 默认 limit 为 50;最大值因端点而异(活动为 100,模板为 1000)
  • 每页将 offset 增加 limit
  • 检查响应中的 count 以确定总数

模板个性化:

  • 名字:{{contact.FIRSTNAME}}
  • 姓氏:{{contact.LASTNAME}}
  • 自定义属性:{{contact.CUSTOM_ATTRIBUTE}}
  • 镜像链接:{{mirror}}
  • 退订链接:{{unsubscribe}}

已知注意事项

日期格式:

  • 所有日期使用带毫秒的 ISO 8601:YYYY-MM-DDTHH:mm:ss.SSSZ
  • 在日期时间格式中传入时区以获得准确结果
  • startDate 和 endDate 必须一起使用

发件人验证:

  • 所有发件人邮箱必须先在 Brevo 中验证后才能使用
  • 未验证的发件人会导致活动创建/更新失败
  • 使用 GET_ALL_SENDERS 检查可用的已验证发件人

速率限制:

  • Brevo API 按账户套餐设有速率限制
  • 遇到 429 响应时实施退避
  • 模板操作的限额低于读取操作

响应解析:

  • 响应数据可能嵌套在 data 或 data.data 下
  • 使用回退模式防御性解析
  • 活动和模板 ID 为数字整数

快速参考

任务 | 工具标识 | 关键参数 列出活动 | BREVO_LIST_EMAIL_CAMPAIGNS | type, status, limit, offset 更新活动 | BREVO_UPDATE_EMAIL_CAMPAIGN | campaign_id, subject, htmlContent 列出模板 | BREVO_GET_ALL_EMAIL_TEMPLATES | templateStatus, limit, offset 创建模板 | BREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATE | templateName, subject, htmlContent, sender 更新模板 | BREVO_CREATE_OR_UPDATE_EMAIL_TEMPLATE | templateId, htmlContent 删除模板 | BREVO_DELETE_EMAIL_TEMPLATE | templateId 列出发件人 | BREVO_GET_ALL_SENDERS | (无)