activecampaign-automation
Original:🇺🇸 English
Not Translated
Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas.
4installs
Added on
NPX Install
npx skill4agent add sickn33/antigravity-awesome-skills activecampaign-automationSKILL.md Content
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 with toolkit
RUBE_MANAGE_CONNECTIONSactive_campaign - Always call first to get current tool schemas
RUBE_SEARCH_TOOLS
Setup
Get Rube MCP: Add as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
https://rube.app/mcp- Verify Rube MCP is available by confirming responds
RUBE_SEARCH_TOOLS - Call with toolkit
RUBE_MANAGE_CONNECTIONSactive_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:
- - Search for an existing contact [Optional]
ACTIVE_CAMPAIGN_FIND_CONTACT - - Create a new contact [Required]
ACTIVE_CAMPAIGN_CREATE_CONTACT
Key parameters for find:
- : Search by email address
email - : Search by ActiveCampaign contact ID
id - : Search by phone number
phone
Key parameters for create:
- : Contact email address (required)
email - : Contact first name
first_name - : Contact last name
last_name - : Contact phone number
phone - : Contact's organization
organization_name - : Contact's job title
job_title - : Comma-separated list of tags to apply
tags
Pitfalls:
- is the only required field for contact creation
email - Phone search uses a general search parameter internally; it may return partial matches
- When combining and
emailin FIND_CONTACT, results are filtered client-sidephone - 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:
- - Find contact by email or ID [Prerequisite]
ACTIVE_CAMPAIGN_FIND_CONTACT - - Add or remove tags [Required]
ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG
Key parameters:
- : 'Add' or 'Remove' (required)
action - : Tag names as comma-separated string or array of strings (required)
tags - : Contact ID (provide this or contact_email)
contact_id - : Contact email address (alternative to contact_id)
contact_email
Pitfalls:
- values are capitalized: 'Add' or 'Remove' (not lowercase)
action - Tags can be a comma-separated string ('tag1, tag2') or an array (['tag1', 'tag2'])
- Either or
contact_idmust be provided;contact_emailtakes precedencecontact_id - 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:
- - Find the contact [Prerequisite]
ACTIVE_CAMPAIGN_FIND_CONTACT - - Subscribe or unsubscribe [Required]
ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION
Key parameters:
- : 'subscribe' or 'unsubscribe' (required)
action - : Numeric list ID string (required)
list_id - : Contact email address (provide this or contact_id)
email - : Numeric contact ID string (alternative to email)
contact_id
Pitfalls:
- values are lowercase: 'subscribe' or 'unsubscribe'
action - is a numeric string (e.g., '2'), not the list name
list_id - List IDs can be retrieved via the GET /api/3/lists endpoint (not available as a Composio tool; use the ActiveCampaign UI)
- If both and
emailare provided,contact_idtakes precedencecontact_id - 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:
- - Verify contact exists [Prerequisite]
ACTIVE_CAMPAIGN_FIND_CONTACT - - Enroll contact in automation [Required]
ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION
Key parameters:
- : Email of the contact to enroll (required)
contact_email - : ID of the target automation (required)
automation_id
Pitfalls:
- The contact must already exist in ActiveCampaign
- Automations can only be created through the ActiveCampaign UI, not via API
- must reference an existing, active automation
automation_id - 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:
- - Find the contact to associate the task with [Prerequisite]
ACTIVE_CAMPAIGN_FIND_CONTACT - - Create the task [Required]
ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK
Key parameters:
- : Contact ID to associate the task with (required)
relid - : Due date in ISO 8601 format with timezone (required, e.g., '2025-01-15T14:30:00-05:00')
duedate - : Task type ID based on available types (required)
dealTasktype - : Task title
title - : Task description/content
note - : User ID to assign the task to
assignee - : End date in ISO 8601 format (must be later than duedate)
edate - : 0 for incomplete, 1 for complete
status
Pitfalls:
- must be a valid ISO 8601 datetime with timezone offset; do NOT use placeholder values
duedate - must be later than
edateduedate - is a string ID referencing task types configured in ActiveCampaign
dealTasktype - is the numeric contact ID, not the email address
relid - is a user ID; resolve user names to IDs via the ActiveCampaign UI
assignee
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 automationsBulk 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 limitsID Resolution
Contact email -> Contact ID:
1. Call ACTIVE_CAMPAIGN_FIND_CONTACT with email
2. Extract id from the responseKnown 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 or
datadata.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 |