介绍
# ActiveCampaign Automation via Rube MCP
通过 Composio 的 ActiveCampaign 工具包经由 Rube MCP 自动化 ActiveCampaign CRM 和营销自动化操作。
## 先决条件
- 必须已连接 Rube MCP(RUBE_SEARCH_TOOLS 可用) - 通过 `RUBE_MANAGE_CONNECTIONS` 建立有效的 ActiveCampaign 连接,工具包为 `active_campaign` - 始终先调用 `RUBE_SEARCH_TOOLS` 以获取最新的工具架构
## 设置
**获取 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. 将联系人添加到自动化流程
**何时使用**:用户想要将联系人注册到自动化工作流中
**工具序列**: 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` 是引用在 ActiveCampaign 中配置的任务类型的字符串 ID - `relid` 是数字联系人 ID,不是电子邮件地址 - `assignee` 是用户 ID;请通过 ActiveCampaign UI 将用户名解析为 ID
## 常见模式
### 联系人查找流程
``` 1. Call ACTIVE_CAMPAIGN_FIND_CONTACT with email 2. If found, extract contact ID for subsequent operations 3. If not found, create contact with ACTIVE_CAMPAIGN_CREATE_CONTACT 4. Use contact ID for tags, subscriptions, or automations ```
### 批量联系人标签管理
``` 1. For each contact, call ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG 2. Use contact_email to avoid separate lookup calls 3. Batch with reasonable delays to respect rate limits ```
### ID 解析
**联系人电子邮件 -> 联系人 ID**: ``` 1. Call ACTIVE_CAMPAIGN_FIND_CONTACT with email 2. Extract id from the response ```
## 已知陷阱
**操作的大小写**: - 标签操作:'Add', 'Remove'(首字母大写) - 订阅操作:'subscribe', 'unsubscribe'(小写) - 混淆大小写会导致错误
**ID 类型**: - 联系人 ID:数字字符串(例如 '123') - 列表 ID:数字字符串 - 自动化 ID:数字字符串 - 所有 ID 应作为字符串传递,而不是整数
**自动化流程**: - 无法通过 API 创建自动化流程;只能进行注册 - 自动化流程必须处于活动状态才能接受新联系人 - 注册已在自动化流程中的联系人可能无效
**速率限制**: - ActiveCampaign API 对每个帐户有速率限制 - 在收到 429 响应时实施退避重试 - 批量操作应适当间隔
**响应解析**: - 响应数据可能嵌套在 `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 |