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 (RUBE_SEARCH_TOOLS available)
- •Active ActiveCampaign connection via
RUBE_MANAGE_CONNECTIONSwith toolkitactive_campaign - •Always call
RUBE_SEARCH_TOOLSfirst 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.
- •Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - •Call
RUBE_MANAGE_CONNECTIONSwith toolkitactive_campaign - •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:
- •
ACTIVE_CAMPAIGN_FIND_CONTACT- Search for an existing contact [Optional] - •
ACTIVE_CAMPAIGN_CREATE_CONTACT- Create a new contact [Required]
Key parameters for find:
- •
email: Search by email address - •
id: Search by ActiveCampaign contact ID - •
phone: Search by phone number
Key parameters for create:
- •
email: Contact email address (required) - •
first_name: Contact first name - •
last_name: Contact last name - •
phone: Contact phone number - •
organization_name: Contact's organization - •
job_title: Contact's job title - •
tags: Comma-separated list of tags to apply
Pitfalls:
- •
emailis the only required field for contact creation - •Phone search uses a general search parameter internally; it may return partial matches
- •When combining
emailandphonein 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:
- •
ACTIVE_CAMPAIGN_FIND_CONTACT- Find contact by email or ID [Prerequisite] - •
ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG- Add or remove tags [Required]
Key parameters:
- •
action: 'Add' or 'Remove' (required) - •
tags: Tag names as comma-separated string or array of strings (required) - •
contact_id: Contact ID (provide this or contact_email) - •
contact_email: Contact email address (alternative to contact_id)
Pitfalls:
- •
actionvalues are capitalized: 'Add' or 'Remove' (not lowercase) - •Tags can be a comma-separated string ('tag1, tag2') or an array (['tag1', 'tag2'])
- •Either
contact_idorcontact_emailmust be provided;contact_idtakes 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:
- •
ACTIVE_CAMPAIGN_FIND_CONTACT- Find the contact [Prerequisite] - •
ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION- Subscribe or unsubscribe [Required]
Key parameters:
- •
action: 'subscribe' or 'unsubscribe' (required) - •
list_id: Numeric list ID string (required) - •
email: Contact email address (provide this or contact_id) - •
contact_id: Numeric contact ID string (alternative to email)
Pitfalls:
- •
actionvalues are lowercase: 'subscribe' or 'unsubscribe' - •
list_idis 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
emailandcontact_idare provided,contact_idtakes 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:
- •
ACTIVE_CAMPAIGN_FIND_CONTACT- Verify contact exists [Prerequisite] - •
ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION- Enroll contact in automation [Required]
Key parameters:
- •
contact_email: Email of the contact to enroll (required) - •
automation_id: 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
- •
automation_idmust 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:
- •
ACTIVE_CAMPAIGN_FIND_CONTACT- Find the contact to associate the task with [Prerequisite] - •
ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK- Create the task [Required]
Key parameters:
- •
relid: Contact ID to associate the task with (required) - •
duedate: Due date in ISO 8601 format with timezone (required, e.g., '2025-01-15T14:30:00-05:00') - •
dealTasktype: Task type ID based on available types (required) - •
title: Task title - •
note: Task description/content - •
assignee: User ID to assign the task to - •
edate: End date in ISO 8601 format (must be later than duedate) - •
status: 0 for incomplete, 1 for complete
Pitfalls:
- •
duedatemust be a valid ISO 8601 datetime with timezone offset; do NOT use placeholder values - •
edatemust be later thanduedate - •
dealTasktypeis a string ID referencing task types configured in ActiveCampaign - •
relidis the numeric contact ID, not the email address - •
assigneeis a user ID; resolve user names to IDs via the ActiveCampaign UI
Common Patterns
Contact Lookup Flow
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
Bulk Contact Tagging
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 Resolution
Contact email -> Contact ID:
1. Call ACTIVE_CAMPAIGN_FIND_CONTACT with email 2. Extract id from the response
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
dataordata.data - •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 | ACTIVE_CAMPAIGN_FIND_CONTACT | email, id, phone |
| Create contact | ACTIVE_CAMPAIGN_CREATE_CONTACT | email, first_name, last_name, tags |
| Add/remove tags | ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG | action, tags, contact_email |
| Subscribe/unsubscribe | ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION | action, list_id, email |
| Add to automation | ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION | contact_email, automation_id |
| Create task | ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK | relid, duedate, dealTasktype, title |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.