ActiveCampaign Automation via Rube MCP
Automate ActiveCampaign CRM and marketing automation operations through Composio's ActiveCampaign toolkit via Rube MCP.
Prerequisites
- - Rube MCP must be connected (RUBESEARCHTOOLS available)
- Active ActiveCampaign connection via
RUBE_MANAGE_CONNECTIONS with toolkit INLINECODE1 - Always call
RUBE_SEARCH_TOOLS first to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- 1. Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLS responds - Call
RUBE_MANAGE_CONNECTIONS with toolkit INLINECODE6 - If connection is not ACTIVE, follow the returned auth link to complete ActiveCampaign authentication
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Create and Find Contacts
When to use: User wants to create new contacts or look up existing ones
Tool sequence:
- 1.
ACTIVE_CAMPAIGN_FIND_CONTACT - Search for an existing contact [Optional] - INLINECODE8 - Create a new contact [Required]
Key parameters for find:
- -
email: Search by email address - INLINECODE10 : Search by ActiveCampaign contact ID
- INLINECODE11 : Search by phone number
Key parameters for create:
- -
email: Contact email address (required) - INLINECODE13 : Contact first name
- INLINECODE14 : Contact last name
- INLINECODE15 : Contact phone number
- INLINECODE16 : Contact's organization
- INLINECODE17 : Contact's job title
- INLINECODE18 : Comma-separated list of tags to apply
Pitfalls:
- -
email is the only required field for contact creation - Phone search uses a general search parameter internally; it may return partial matches
- When combining
email and phone in FIND_CONTACT, results are filtered client-side - Tags provided during creation are applied immediately
- Creating a contact with an existing email may update the existing contact
2. Manage Contact Tags
When to use: User wants to add or remove tags from contacts
Tool sequence:
- 1.
ACTIVE_CAMPAIGN_FIND_CONTACT - Find contact by email or ID [Prerequisite] - INLINECODE23 - Add or remove tags [Required]
Key parameters:
- -
action: 'Add' or 'Remove' (required) - INLINECODE25 : Tag names as comma-separated string or array of strings (required)
- INLINECODE26 : Contact ID (provide this or contactemail)
- INLINECODE27 : Contact email address (alternative to contactid)
Pitfalls:
- -
action values are capitalized: 'Add' or 'Remove' (not lowercase) - Tags can be a comma-separated string ('tag1, tag2') or an array (['tag1', 'tag2'])
- Either
contact_id or contact_email must be provided; contact_id takes precedence - Adding a tag that does not exist creates it automatically
- Removing a non-existent tag is a no-op (does not error)
3. Manage List Subscriptions
When to use: User wants to subscribe or unsubscribe contacts from lists
Tool sequence:
- 1.
ACTIVE_CAMPAIGN_FIND_CONTACT - Find the contact [Prerequisite] - INLINECODE33 - Subscribe or unsubscribe [Required]
Key parameters:
- -
action: 'subscribe' or 'unsubscribe' (required) - INLINECODE35 : Numeric list ID string (required)
- INLINECODE36 : Contact email address (provide this or contact_id)
- INLINECODE37 : Numeric contact ID string (alternative to email)
Pitfalls:
- -
action values are lowercase: 'subscribe' or 'unsubscribe' - INLINECODE39 is a numeric string (e.g., '2'), not the list name
- List IDs can be retrieved via the GET /api/3/lists endpoint (not available as a Composio tool; use the ActiveCampaign UI)
- If both
email and contact_id are provided, contact_id takes precedence - Unsubscribing changes status to '2' (unsubscribed) but the relationship record persists
4. Add Contacts to Automations
When to use: User wants to enroll a contact in an automation workflow
Tool sequence:
- 1.
ACTIVE_CAMPAIGN_FIND_CONTACT - Verify contact exists [Prerequisite] - INLINECODE44 - Enroll contact in automation [Required]
Key parameters:
- -
contact_email: Email of the contact to enroll (required) - INLINECODE46 : ID of the target automation (required)
Pitfalls:
- - The contact must already exist in ActiveCampaign
- Automations can only be created through the ActiveCampaign UI, not via API
- INLINECODE47 must reference an existing, active automation
- The tool performs a two-step process: lookup contact by email, then enroll
- Automation IDs can be found in the ActiveCampaign UI or via GET /api/3/automations
5. Create Contact Tasks
When to use: User wants to create follow-up tasks associated with contacts
Tool sequence:
- 1.
ACTIVE_CAMPAIGN_FIND_CONTACT - Find the contact to associate the task with [Prerequisite] - INLINECODE49 - Create the task [Required]
Key parameters:
- -
relid: Contact ID to associate the task with (required) - INLINECODE51 : Due date in ISO 8601 format with timezone (required, e.g., '2025-01-15T14:30:00-05:00')
- INLINECODE52 : Task type ID based on available types (required)
- INLINECODE53 : Task title
- INLINECODE54 : Task description/content
- INLINECODE55 : User ID to assign the task to
- INLINECODE56 : End date in ISO 8601 format (must be later than duedate)
- INLINECODE57 : 0 for incomplete, 1 for complete
Pitfalls:
- -
duedate must be a valid ISO 8601 datetime with timezone offset; do NOT use placeholder values - INLINECODE59 must be later than INLINECODE60
- INLINECODE61 is a string ID referencing task types configured in ActiveCampaign
- INLINECODE62 is the numeric contact ID, not the email address
- INLINECODE63 is a user ID; resolve user names to IDs via the ActiveCampaign UI
Common Patterns
Contact Lookup Flow
CODEBLOCK0
Bulk Contact Tagging
CODEBLOCK1
ID Resolution
Contact email -> Contact ID:
CODEBLOCK2
Known Pitfalls
Action Capitalization:
- - Tag actions: 'Add', 'Remove' (capitalized)
- Subscription actions: 'subscribe', 'unsubscribe' (lowercase)
- Mixing up capitalization causes errors
ID Types:
- - Contact IDs: numeric strings (e.g., '123')
- List IDs: numeric strings
- Automation IDs: numeric strings
- All IDs should be passed as strings, not integers
Automations:
- - Automations cannot be created via API; only enrollment is possible
- Automation must be active to accept new contacts
- Enrolling a contact already in the automation may have no effect
Rate Limits:
- - ActiveCampaign API has rate limits per account
- Implement backoff on 429 responses
- Batch operations should be spaced appropriately
Response Parsing:
- - Response data may be nested under
data or INLINECODE65 - Parse defensively with fallback patterns
- Contact search may return multiple results; match by email for accuracy
Quick Reference
| Task | Tool Slug | Key Params |
|---|
| Find contact | ACTIVECAMPAIGNFINDCONTACT | email, id, phone |
| Create contact |
ACTIVECAMPAIGN
CREATECONTACT | email, first
name, lastname, tags |
| Add/remove tags | ACTIVE
CAMPAIGNMANAGE
CONTACTTAG | action, tags, contact_email |
| Subscribe/unsubscribe | ACTIVE
CAMPAIGNMANAGE
LISTSUBSCRIPTION | action, list_id, email |
| Add to automation | ACTIVE
CAMPAIGNADD
CONTACTTO
AUTOMATION | contactemail, automation_id |
| Create task | ACTIVE
CAMPAIGNCREATE
CONTACTTASK | relid, duedate, dealTasktype, title |
通过 Rube MCP 实现 ActiveCampaign 自动化
通过 Composio 的 ActiveCampaign 工具包,经由 Rube MCP 自动化 ActiveCampaign CRM 和营销自动化操作。
前置条件
- - 必须连接 Rube MCP(RUBESEARCHTOOLS 可用)
- 通过 RUBEMANAGECONNECTIONS 使用 activecampaign 工具包建立有效的 ActiveCampaign 连接
- 始终先调用 RUBESEARCH_TOOLS 获取当前工具架构
设置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务器。无需 API 密钥——只需添加端点即可使用。
- 1. 通过确认 RUBESEARCHTOOLS 有响应来验证 Rube MCP 可用
- 使用 activecampaign 工具包调用 RUBEMANAGE_CONNECTIONS
- 如果连接未激活,按照返回的认证链接完成 ActiveCampaign 身份验证
- 在运行任何工作流之前,确认连接状态显示为 ACTIVE
核心工作流
1. 创建和查找联系人
使用场景:用户想要创建新联系人或查找现有联系人
工具顺序:
- 1. ACTIVECAMPAIGNFINDCONTACT - 搜索现有联系人 [可选]
- ACTIVECAMPAIGNCREATECONTACT - 创建新联系人 [必需]
查找的关键参数:
- - email:按电子邮件地址搜索
- id:按 ActiveCampaign 联系人 ID 搜索
- phone:按电话号码搜索
创建的关键参数:
- - email:联系人电子邮件地址(必需)
- firstname:联系人名字
- lastname:联系人姓氏
- phone:联系人电话号码
- organizationname:联系人所属组织
- jobtitle:联系人职位
- tags:要应用的标签列表,以逗号分隔
注意事项:
- - email 是创建联系人的唯一必填字段
- 电话搜索内部使用通用搜索参数;可能返回部分匹配结果
- 在 FIND_CONTACT 中同时使用 email 和 phone 时,结果会在客户端进行过滤
- 创建时提供的标签会立即应用
- 使用已有电子邮件创建联系人可能会更新现有联系人
2. 管理联系人标签
使用场景:用户想要为联系人添加或移除标签
工具顺序:
- 1. ACTIVECAMPAIGNFINDCONTACT - 按电子邮件或 ID 查找联系人 [前置条件]
- ACTIVECAMPAIGNMANAGECONTACT_TAG - 添加或移除标签 [必需]
关键参数:
- - action:Add 或 Remove(必需)
- tags:标签名称,以逗号分隔的字符串或字符串数组(必需)
- contactid:联系人 ID(提供此参数或 contactemail)
- contactemail:联系人电子邮件地址(contactid 的替代方案)
注意事项:
- - action 值使用大写:Add 或 Remove(非小写)
- 标签可以是逗号分隔的字符串(tag1, tag2)或数组([tag1, tag2])
- 必须提供 contactid 或 contactemail 其中之一;contact_id 优先
- 添加不存在的标签会自动创建该标签
- 移除不存在的标签不会产生任何效果(不会报错)
3. 管理列表订阅
使用场景:用户想要订阅或取消订阅联系人的列表
工具顺序:
- 1. ACTIVECAMPAIGNFINDCONTACT - 查找联系人 [前置条件]
- ACTIVECAMPAIGNMANAGELIST_SUBSCRIPTION - 订阅或取消订阅 [必需]
关键参数:
- - action:subscribe 或 unsubscribe(必需)
- listid:数字列表 ID 字符串(必需)
- email:联系人电子邮件地址(提供此参数或 contactid)
- contact_id:数字联系人 ID 字符串(email 的替代方案)
注意事项:
- - action 值使用小写:subscribe 或 unsubscribe
- listid 是数字字符串(例如 2),而非列表名称
- 列表 ID 可通过 GET /api/3/lists 端点获取(不作为 Composio 工具提供;请使用 ActiveCampaign UI)
- 如果同时提供 email 和 contactid,则 contact_id 优先
- 取消订阅会将状态更改为 2(已取消订阅),但关系记录仍然存在
4. 将联系人添加到自动化流程
使用场景:用户想要将联系人注册到自动化工作流中
工具顺序:
- 1. ACTIVECAMPAIGNFINDCONTACT - 验证联系人存在 [前置条件]
- ACTIVECAMPAIGNADDCONTACTTOAUTOMATION - 将联系人注册到自动化流程 [必需]
关键参数:
- - contactemail:要注册的联系人电子邮件(必需)
- automationid:目标自动化流程的 ID(必需)
注意事项:
- - 联系人必须已存在于 ActiveCampaign 中
- 自动化流程只能通过 ActiveCampaign UI 创建,不能通过 API 创建
- automation_id 必须引用一个现有的、已激活的自动化流程
- 该工具执行两步过程:先通过电子邮件查找联系人,然后进行注册
- 自动化流程 ID 可在 ActiveCampaign UI 中找到,或通过 GET /api/3/automations 获取
5. 创建联系人任务
使用场景:用户想要创建与联系人关联的跟进任务
工具顺序:
- 1. ACTIVECAMPAIGNFINDCONTACT - 查找要关联任务的联系人 [前置条件]
- ACTIVECAMPAIGNCREATECONTACT_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. 使用电子邮件调用 ACTIVECAMPAIGNFINDCONTACT
- 如果找到,提取联系人 ID 用于后续操作
- 如果未找到,使用 ACTIVECAMPAIGNCREATECONTACT 创建联系人
- 使用联系人 ID 进行标签、订阅或自动化操作
批量联系人标签操作
- 1. 对于每个联系人,调用 ACTIVECAMPAIGNMANAGECONTACTTAG
- 使用 contact_email 以避免单独的查找调用
- 以合理的延迟进行批处理,以遵守速率限制
ID 解析
联系人电子邮件 -> 联系人 ID:
- 1. 使用电子邮件调用 ACTIVECAMPAIGNFIND_CONTACT
- 从响应中提取 id
已知注意事项
操作大小写:
- - 标签操作:Add、Remove(大写)
- 订阅操作:subscribe、unsubscribe(小写)
- 混淆大小写会导致错误
ID 类型:
- - 联系人 ID:数字字符串(例如 123)
- 列表 ID:数字字符串
- 自动化流程 ID:数字字符串
- 所有 ID 都应作为字符串传递,而非整数
自动化流程:
- - 自动化流程不能通过 API 创建;只能进行注册
- 自动化流程必须处于激活状态才能接受新联系人
- 注册已在自动化流程中的联系人可能不会产生任何效果
速率限制:
- - ActiveCampaign API 对每个账户有速率限制
- 对 429 响应实施退避策略
- 批量操作应适当间隔
响应解析:
- - 响应数据可能嵌套在 data 或 data.data 下
-