ActiveCampaign 自动化

activecampaign-automation
分类通用
作者Agentic Awesome Skills 社区
许可MIT
评分4.80/5
使用5.8K

通过 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 中同时使用 emailphone 时,结果将在客户端进行过滤

  • 创建时提供的标签会立即生效

  • 使用已存在的电子邮件创建联系人可能会更新该现有联系人

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_idcontact_emailcontact_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)

  • 如果同时提供了 emailcontact_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

常见模式

联系人查找流程

code
1. 使用 email 调用 ACTIVE_CAMPAIGN_FIND_CONTACT
2. 如果找到,提取联系人 ID 用于后续操作
3. 如果未找到,使用 ACTIVE_CAMPAIGN_CREATE_CONTACT 创建联系人
4. 使用联系人 ID 进行标签管理、订阅或自动化操作

批量联系人打标签

code
1. 为每个联系人调用 ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG
2. 使用 contact_email 以避免单独的查找调用
3. 采用合理的延迟进行批处理,以遵守速率限制 (Rate Limits)

ID 解析

联系人邮箱 -> 联系人 ID

code
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)

  • 响应数据可能嵌套在 datadata.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 |

使用场景

本技能适用于执行概览中描述的工作流或操作。

局限性

  • 仅在任务明确符合上述范围时使用此技能。
  • 不要将输出结果视为特定环境验证、测试或专家评审的替代方案。
  • 如果缺少必要的输入、权限、安全边界或成功标准,请停止操作并请求澄清。