Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas.
Add this skill
npx mdskills install sickn33/activecampaign-automationComprehensive ActiveCampaign automation guide with clear workflows, parameter details, and pitfall warnings
1---2name: activecampaign-automation3description: "Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas."4requires:5 mcp: [rube]6---78# ActiveCampaign Automation via Rube MCP910Automate ActiveCampaign CRM and marketing automation operations through Composio's ActiveCampaign toolkit via Rube MCP.1112## Prerequisites1314- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)15- Active ActiveCampaign connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `active_campaign`16- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1718## Setup1920**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.2122231. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds242. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `active_campaign`253. If connection is not ACTIVE, follow the returned auth link to complete ActiveCampaign authentication264. Confirm connection status shows ACTIVE before running any workflows2728## Core Workflows2930### 1. Create and Find Contacts3132**When to use**: User wants to create new contacts or look up existing ones3334**Tool sequence**:351. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Search for an existing contact [Optional]362. `ACTIVE_CAMPAIGN_CREATE_CONTACT` - Create a new contact [Required]3738**Key parameters for find**:39- `email`: Search by email address40- `id`: Search by ActiveCampaign contact ID41- `phone`: Search by phone number4243**Key parameters for create**:44- `email`: Contact email address (required)45- `first_name`: Contact first name46- `last_name`: Contact last name47- `phone`: Contact phone number48- `organization_name`: Contact's organization49- `job_title`: Contact's job title50- `tags`: Comma-separated list of tags to apply5152**Pitfalls**:53- `email` is the only required field for contact creation54- Phone search uses a general search parameter internally; it may return partial matches55- When combining `email` and `phone` in FIND_CONTACT, results are filtered client-side56- Tags provided during creation are applied immediately57- Creating a contact with an existing email may update the existing contact5859### 2. Manage Contact Tags6061**When to use**: User wants to add or remove tags from contacts6263**Tool sequence**:641. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Find contact by email or ID [Prerequisite]652. `ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG` - Add or remove tags [Required]6667**Key parameters**:68- `action`: 'Add' or 'Remove' (required)69- `tags`: Tag names as comma-separated string or array of strings (required)70- `contact_id`: Contact ID (provide this or contact_email)71- `contact_email`: Contact email address (alternative to contact_id)7273**Pitfalls**:74- `action` values are capitalized: 'Add' or 'Remove' (not lowercase)75- Tags can be a comma-separated string ('tag1, tag2') or an array (['tag1', 'tag2'])76- Either `contact_id` or `contact_email` must be provided; `contact_id` takes precedence77- Adding a tag that does not exist creates it automatically78- Removing a non-existent tag is a no-op (does not error)7980### 3. Manage List Subscriptions8182**When to use**: User wants to subscribe or unsubscribe contacts from lists8384**Tool sequence**:851. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Find the contact [Prerequisite]862. `ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION` - Subscribe or unsubscribe [Required]8788**Key parameters**:89- `action`: 'subscribe' or 'unsubscribe' (required)90- `list_id`: Numeric list ID string (required)91- `email`: Contact email address (provide this or contact_id)92- `contact_id`: Numeric contact ID string (alternative to email)9394**Pitfalls**:95- `action` values are lowercase: 'subscribe' or 'unsubscribe'96- `list_id` is a numeric string (e.g., '2'), not the list name97- List IDs can be retrieved via the GET /api/3/lists endpoint (not available as a Composio tool; use the ActiveCampaign UI)98- If both `email` and `contact_id` are provided, `contact_id` takes precedence99- Unsubscribing changes status to '2' (unsubscribed) but the relationship record persists100101### 4. Add Contacts to Automations102103**When to use**: User wants to enroll a contact in an automation workflow104105**Tool sequence**:1061. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Verify contact exists [Prerequisite]1072. `ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION` - Enroll contact in automation [Required]108109**Key parameters**:110- `contact_email`: Email of the contact to enroll (required)111- `automation_id`: ID of the target automation (required)112113**Pitfalls**:114- The contact must already exist in ActiveCampaign115- Automations can only be created through the ActiveCampaign UI, not via API116- `automation_id` must reference an existing, active automation117- The tool performs a two-step process: lookup contact by email, then enroll118- Automation IDs can be found in the ActiveCampaign UI or via GET /api/3/automations119120### 5. Create Contact Tasks121122**When to use**: User wants to create follow-up tasks associated with contacts123124**Tool sequence**:1251. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Find the contact to associate the task with [Prerequisite]1262. `ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK` - Create the task [Required]127128**Key parameters**:129- `relid`: Contact ID to associate the task with (required)130- `duedate`: Due date in ISO 8601 format with timezone (required, e.g., '2025-01-15T14:30:00-05:00')131- `dealTasktype`: Task type ID based on available types (required)132- `title`: Task title133- `note`: Task description/content134- `assignee`: User ID to assign the task to135- `edate`: End date in ISO 8601 format (must be later than duedate)136- `status`: 0 for incomplete, 1 for complete137138**Pitfalls**:139- `duedate` must be a valid ISO 8601 datetime with timezone offset; do NOT use placeholder values140- `edate` must be later than `duedate`141- `dealTasktype` is a string ID referencing task types configured in ActiveCampaign142- `relid` is the numeric contact ID, not the email address143- `assignee` is a user ID; resolve user names to IDs via the ActiveCampaign UI144145## Common Patterns146147### Contact Lookup Flow148149```1501. Call ACTIVE_CAMPAIGN_FIND_CONTACT with email1512. If found, extract contact ID for subsequent operations1523. If not found, create contact with ACTIVE_CAMPAIGN_CREATE_CONTACT1534. Use contact ID for tags, subscriptions, or automations154```155156### Bulk Contact Tagging157158```1591. For each contact, call ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG1602. Use contact_email to avoid separate lookup calls1613. Batch with reasonable delays to respect rate limits162```163164### ID Resolution165166**Contact email -> Contact ID**:167```1681. Call ACTIVE_CAMPAIGN_FIND_CONTACT with email1692. Extract id from the response170```171172## Known Pitfalls173174**Action Capitalization**:175- Tag actions: 'Add', 'Remove' (capitalized)176- Subscription actions: 'subscribe', 'unsubscribe' (lowercase)177- Mixing up capitalization causes errors178179**ID Types**:180- Contact IDs: numeric strings (e.g., '123')181- List IDs: numeric strings182- Automation IDs: numeric strings183- All IDs should be passed as strings, not integers184185**Automations**:186- Automations cannot be created via API; only enrollment is possible187- Automation must be active to accept new contacts188- Enrolling a contact already in the automation may have no effect189190**Rate Limits**:191- ActiveCampaign API has rate limits per account192- Implement backoff on 429 responses193- Batch operations should be spaced appropriately194195**Response Parsing**:196- Response data may be nested under `data` or `data.data`197- Parse defensively with fallback patterns198- Contact search may return multiple results; match by email for accuracy199200## Quick Reference201202| Task | Tool Slug | Key Params |203|------|-----------|------------|204| Find contact | ACTIVE_CAMPAIGN_FIND_CONTACT | email, id, phone |205| Create contact | ACTIVE_CAMPAIGN_CREATE_CONTACT | email, first_name, last_name, tags |206| Add/remove tags | ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG | action, tags, contact_email |207| Subscribe/unsubscribe | ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION | action, list_id, email |208| Add to automation | ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION | contact_email, automation_id |209| Create task | ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK | relid, duedate, dealTasktype, title |210
Full transparency — inspect the skill content before installing.