ActiveCampaign 自动化
通过 Rube MCP 实现 ActiveCampaign 自动化
通过 Rube MCP 调用 Composio 的 ActiveCampaign 工具集,实现 ActiveCampaign CRM 和营销自动化的操作。
前提条件
- 必须连接 Rube MCP(可用
RUBE_SEARCH_TOOLS)
- 通过
RUBE_MANAGE_CONNECTIONS建立有效的 ActiveCampaign 连接,工具集为active_campaign
- 始终先调用
RUBE_SEARCH_TOOLS以获取当前的工具 Schema
安装配置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥 —— 只需添加端点即可运行。
1. 通过确认 RUBE_SEARCH_TOOLS 有响应来验证 Rube MCP 是否可用
2. 调用 RUBE_MANAGE_CONNECTIONS 并指定工具集 active_campaign
3. 如果连接状态不是 ACTIVE,请点击返回的认证链接完成 ActiveCampaign 身份验证
4. 在运行任何工作流之前,确认连接状态显示为 ACTIVE
核心工作流
1. 创建与查找联系人
使用场景:用户想要创建新联系人或查找现有联系人
工具顺序:
1. ACTIVE_CAMPAIGN_FIND_CONTACT - 搜索现有联系人 [可选]
2. ACTIVE_CAMPAIGN_CREATE_CONTACT - 创建新联系人 [必需]
查找关键参数:
email: 通过电子邮件地址搜索
id: 通过 ActiveCampaign 联系人 ID 搜索
phone: 通过电话号码搜索
创建关键参数:
email: 联系人电子邮件地址(必需)
first_name: 联系人名
last_name: 联系人姓
phone: 联系人电话号码
organization_name: 联系人所属组织
job_title: 联系人职位
tags: 要应用的标签(逗号分隔的列表)
注意事项:
- 创建联系人时,
email是唯一必需字段
- 电话搜索在内部使用通用搜索参数,可能会返回部分匹配结果
- 在
FIND_CONTACT中同时使用email和phone时,结果将在客户端进行过滤
- 创建时提供的标签会立即生效
- 使用已存在的电子邮件创建联系人可能会更新该现有联系人
2. 管理联系人标签
使用场景:用户想要为联系人添加或删除标签
工具顺序:
1. ACTIVE_CAMPAIGN_FIND_CONTACT - 通过电子邮件或 ID 查找联系人 [前提]
2. ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG - 添加或删除标签 [必需]
关键参数:
action: 'Add' 或 'Remove'(必需)
tags: 标签名称,可以是逗号分隔的字符串或字符串数组(必需)
contact_id: 联系人 ID(提供此项或 contact_email)
contact_email: 联系人电子邮件地址(contact_id 的替代方案)
注意事项:
action的值必须大写:'Add' 或 'Remove'(不能用小写)
- 标签可以是逗号分隔的字符串 ('tag1, tag2') 或数组 (['tag1', 'tag2'])
- 必须提供
contact_id或contact_email;contact_id优先级更高
- 添加不存在的标签会自动创建该标签
- 删除不存在的标签不会报错(无操作)
3. 管理列表订阅
使用场景:用户想要将联系人订阅或取消订阅某个列表
工具顺序:
1. ACTIVE_CAMPAIGN_FIND_CONTACT - 查找联系人 [前提]
2. ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION - 订阅或取消订阅 [必需]
关键参数:
参数:
action:'subscribe' 或 'unsubscribe'(必填)
list_id:数字格式的列表 ID 字符串(必填)
email:联系人电子邮箱(提供此项或 contact_id)
contact_id:数字格式的联系人 ID 字符串(email 的替代项)
常见陷阱:
action的值必须为小写:'subscribe' 或 'unsubscribe'
list_id是数字字符串(例如 '2'),而非列表名称
- 列表 ID 可通过 GET /api/3/lists 接口获取(Composio 工具中未提供;请使用 ActiveCampaign UI)
- 如果同时提供了
email和contact_id,则以contact_id为准
- 取消订阅会将状态更改为 '2'(已取消订阅),但关联记录依然存在
4. 将联系人添加到自动化 (Automations)
使用场景:用户希望将联系人加入某个自动化工作流
工具序列:
1. ACTIVE_CAMPAIGN_FIND_CONTACT - 验证联系人是否存在 [前提条件]
2. ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION - 将联系人加入自动化 [必选]
关键参数:
contact_email:要加入的联系人邮箱(必填)
automation_id:目标自动化的 ID(必填)
常见陷阱:
- 联系人必须已存在于 ActiveCampaign 中
- 自动化只能通过 ActiveCampaign UI 创建,无法通过 API 创建
automation_id必须引用一个现有的、处于激活状态的自动化
- 该工具执行两步操作:先通过邮箱查找联系人,然后将其加入
- 自动化 ID 可在 ActiveCampaign UI 或通过 GET /api/3/automations 接口中找到
5. 创建联系人任务
使用场景:用户希望创建与联系人关联的后续跟进任务
工具序列:
1. ACTIVE_CAMPAIGN_FIND_CONTACT - 查找要关联任务的联系人 [前提条件]
2. ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK - 创建任务 [必选]
关键参数:
relid:要关联任务的联系人 ID(必填)
duedate:ISO 8601 格式的截止日期,需包含时区(必填,例如 '2025-01-15T14:30:00-05:00')
dealTasktype:基于可用类型的任务类型 ID(必填)
title:任务标题
note:任务描述/内容
assignee:指派该任务的用户 ID
edate:ISO 8601 格式的结束日期(必须晚于 duedate)
status:0 表示未完成,1 表示已完成
常见陷阱:
duedate必须是带有时区偏移的有效 ISO 8601 日时;请勿使用占位值
edate必须晚于duedate
dealTasktype是一个字符串 ID,引用 ActiveCampaign 中配置的任务类型
relid是数字格式的联系人 ID,而非邮箱地址
assignee是用户 ID;请通过 ActiveCampaign UI 将用户名转换为 ID
常见模式
联系人查找流程
1. 使用 email 调用 ACTIVE_CAMPAIGN_FIND_CONTACT
2. 如果找到,提取联系人 ID 用于后续操作
3. 如果未找到,使用 ACTIVE_CAMPAIGN_CREATE_CONTACT 创建联系人
4. 使用联系人 ID 进行标签管理、订阅或自动化操作批量联系人打标签
1. 为每个联系人调用 ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG
2. 使用 contact_email 以避免单独的查找调用
3. 采用合理的延迟进行批处理,以遵守速率限制 (Rate Limits)ID 解析
联系人邮箱 -> 联系人 ID:
1. 使用 email 调用 ACTIVE_CAMPAIGN_FIND_CONTACT
2. 从响应中提取 id已知陷阱
操作值的大小写:
- 标签操作 (Tag actions):'Add', 'Remove'(首字母大写)
- 订阅操作 (Subscription actions):'subscribe', 'unsubscribe'(全小写)
- 混淆大小写会导致报错
ID 类型:
- 联系人 ID:数字字符串(例如 '123')
- 列表 ID:
数字字符串
- 自动化 ID:数字字符串
- 所有 ID 均应以字符串形式传递,而非整数
自动化 (Automations):
- 无法通过 API 创建自动化;仅支持加入 (enrollment)
- 自动化必须处于激活状态才能接收新联系人
- 将已在自动化中的联系人再次加入可能没有任何效果
速率限制 (Rate Limits):
- ActiveCampaign API 对每个账户设有速率限制
- 针对 429 响应应实现退避机制 (backoff)
- 批量操作应保持适当的时间间隔
响应解析 (Response Parsing):
- 响应数据可能嵌套在
data或data.data之下
- 采用防御性解析并设置回退模式
- 联系人搜索可能会返回多个结果;请通过电子邮件匹配以确保准确性
快速参考
| 任务 | 工具 Slug | 关键参数 |
|------|-----------|------------|
| 查找联系人 | ACTIVE_CAMPAIGN_FIND_CONTACT | email, id, phone |
| 创建联系人 | ACTIVE_CAMPAIGN_CREATE_CONTACT | email, first_name, last_name, tags |
| 添加/删除标签 | ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG | action, tags, contact_email |
| 订阅/取消订阅 | ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION | action, list_id, email |
| 加入自动化 | ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION | contact_email, automation_id |
| 创建任务 | ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK | relid, duedate, dealTasktype, title |
使用场景
本技能适用于执行概览中描述的工作流或操作。局限性
- 仅在任务明确符合上述范围时使用此技能。
- 不要将输出结果视为特定环境验证、测试或专家评审的替代方案。
- 如果缺少必要的输入、权限、安全边界或成功标准,请停止操作并请求澄清。