通过 Rube MCP 实现 Brevo 自动化
通过 Rube MCP 的 Composio Brevo 工具包自动化 Brevo(原 Sendinblue)邮件营销操作。
前提条件
- Rube MCP 必须已连接(RUBE_SEARCH_TOOLS 可用)
- 通过
RUBE_MANAGE_CONNECTIONS建立活跃的 Brevo 连接,toolkit 设为brevo - 始终先调用
RUBE_SEARCH_TOOLS获取当前工具 schema
设置
获取 Rube MCP:在客户端配置中添加 https://rube.app/mcp 作为 MCP 服务器。无需 API 密钥——只需添加端点即可使用。
- 确认
RUBE_SEARCH_TOOLS能正常响应,验证 Rube MCP 可用 - 调用
RUBE_MANAGE_CONNECTIONS,toolkit 设为brevo - 如果连接状态不是 ACTIVE,按返回的认证链接完成 Brevo 认证
- 确认连接状态显示 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 内容的 URLsender:发件人对象,包含name、email或idrecipients:收件人对象,包含listIds和exclusionListIdsscheduledAt:计划发送时间(YYYY-MM-DDTHH:mm:ss.SSSZ)
注意事项:
startDate和endDate必须同时提供或同时省略- 日期筛选仅在未传
status或status设为 'sent' 时生效 htmlContent和htmlUrl互斥- 营销活动的
sender邮箱必须是 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. Create campaign (status: draft)
2. Set recipients (listIds)
3. Configure content (htmlContent or htmlUrl)
4. Optionally schedule (scheduledAt)
5. Send or schedule via Brevo UI (API update can set scheduledAt)
分页
- 使用
limit(每页大小)和offset(起始索引) - 默认 limit 为 50;各端点最大值不同(营销活动 100,模板 1000)
- 每翻一页将
offset增加limit - 通过响应中的
count判断总可用数量
模板个性化
- First name: {{contact.FIRSTNAME}}
- Last name: {{contact.LASTNAME}}
- Custom attribute: {{contact.CUSTOM_ATTRIBUTE}}
- Mirror link: {{mirror}}
- Unsubscribe link: {{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 | (无) |
适用场景
本技能适用于执行概述中描述的工作流或操作。
限制
- 仅当任务明确匹配上述范围时使用本技能
- 不要将输出视为环境特定验证、测试或专家审查的替代
- 如果缺少必要的输入、权限、安全边界或成功标准,请停下来请求澄清