{"id":"e9f43c4b-41bc-42a3-b4b0-917169a7a51c","shortId":"fHZRL8","kind":"skill","title":"activecampaign-automation","tagline":"Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas.","description":"# ActiveCampaign Automation via Rube MCP\n\nAutomate ActiveCampaign CRM and marketing automation operations through Composio's ActiveCampaign toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active ActiveCampaign connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `active_campaign`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**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.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `active_campaign`\n3. If connection is not ACTIVE, follow the returned auth link to complete ActiveCampaign authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Create and Find Contacts\n\n**When to use**: User wants to create new contacts or look up existing ones\n\n**Tool sequence**:\n1. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Search for an existing contact [Optional]\n2. `ACTIVE_CAMPAIGN_CREATE_CONTACT` - Create a new contact [Required]\n\n**Key parameters for find**:\n- `email`: Search by email address\n- `id`: Search by ActiveCampaign contact ID\n- `phone`: Search by phone number\n\n**Key parameters for create**:\n- `email`: Contact email address (required)\n- `first_name`: Contact first name\n- `last_name`: Contact last name\n- `phone`: Contact phone number\n- `organization_name`: Contact's organization\n- `job_title`: Contact's job title\n- `tags`: Comma-separated list of tags to apply\n\n**Pitfalls**:\n- `email` is the only required field for contact creation\n- Phone search uses a general search parameter internally; it may return partial matches\n- When combining `email` and `phone` in FIND_CONTACT, results are filtered client-side\n- Tags provided during creation are applied immediately\n- Creating a contact with an existing email may update the existing contact\n\n### 2. Manage Contact Tags\n\n**When to use**: User wants to add or remove tags from contacts\n\n**Tool sequence**:\n1. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Find contact by email or ID [Prerequisite]\n2. `ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG` - Add or remove tags [Required]\n\n**Key parameters**:\n- `action`: 'Add' or 'Remove' (required)\n- `tags`: Tag names as comma-separated string or array of strings (required)\n- `contact_id`: Contact ID (provide this or contact_email)\n- `contact_email`: Contact email address (alternative to contact_id)\n\n**Pitfalls**:\n- `action` values are capitalized: 'Add' or 'Remove' (not lowercase)\n- Tags can be a comma-separated string ('tag1, tag2') or an array (['tag1', 'tag2'])\n- Either `contact_id` or `contact_email` must be provided; `contact_id` takes precedence\n- Adding a tag that does not exist creates it automatically\n- Removing a non-existent tag is a no-op (does not error)\n\n### 3. Manage List Subscriptions\n\n**When to use**: User wants to subscribe or unsubscribe contacts from lists\n\n**Tool sequence**:\n1. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Find the contact [Prerequisite]\n2. `ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION` - Subscribe or unsubscribe [Required]\n\n**Key parameters**:\n- `action`: 'subscribe' or 'unsubscribe' (required)\n- `list_id`: Numeric list ID string (required)\n- `email`: Contact email address (provide this or contact_id)\n- `contact_id`: Numeric contact ID string (alternative to email)\n\n**Pitfalls**:\n- `action` values are lowercase: 'subscribe' or 'unsubscribe'\n- `list_id` is a numeric string (e.g., '2'), not the list name\n- List IDs can be retrieved via the GET /api/3/lists endpoint (not available as a Composio tool; use the ActiveCampaign UI)\n- If both `email` and `contact_id` are provided, `contact_id` takes precedence\n- Unsubscribing changes status to '2' (unsubscribed) but the relationship record persists\n\n### 4. Add Contacts to Automations\n\n**When to use**: User wants to enroll a contact in an automation workflow\n\n**Tool sequence**:\n1. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Verify contact exists [Prerequisite]\n2. `ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION` - Enroll contact in automation [Required]\n\n**Key parameters**:\n- `contact_email`: Email of the contact to enroll (required)\n- `automation_id`: ID of the target automation (required)\n\n**Pitfalls**:\n- The contact must already exist in ActiveCampaign\n- Automations can only be created through the ActiveCampaign UI, not via API\n- `automation_id` must reference an existing, active automation\n- The tool performs a two-step process: lookup contact by email, then enroll\n- Automation IDs can be found in the ActiveCampaign UI or via GET /api/3/automations\n\n### 5. Create Contact Tasks\n\n**When to use**: User wants to create follow-up tasks associated with contacts\n\n**Tool sequence**:\n1. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Find the contact to associate the task with [Prerequisite]\n2. `ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK` - Create the task [Required]\n\n**Key parameters**:\n- `relid`: Contact ID to associate the task with (required)\n- `duedate`: Due date in ISO 8601 format with timezone (required, e.g., '2025-01-15T14:30:00-05:00')\n- `dealTasktype`: Task type ID based on available types (required)\n- `title`: Task title\n- `note`: Task description/content\n- `assignee`: User ID to assign the task to\n- `edate`: End date in ISO 8601 format (must be later than duedate)\n- `status`: 0 for incomplete, 1 for complete\n\n**Pitfalls**:\n- `duedate` must be a valid ISO 8601 datetime with timezone offset; do NOT use placeholder values\n- `edate` must be later than `duedate`\n- `dealTasktype` is a string ID referencing task types configured in ActiveCampaign\n- `relid` is the numeric contact ID, not the email address\n- `assignee` is a user ID; resolve user names to IDs via the ActiveCampaign UI\n\n## Common Patterns\n\n### Contact Lookup Flow\n\n```\n1. Call ACTIVE_CAMPAIGN_FIND_CONTACT with email\n2. If found, extract contact ID for subsequent operations\n3. If not found, create contact with ACTIVE_CAMPAIGN_CREATE_CONTACT\n4. Use contact ID for tags, subscriptions, or automations\n```\n\n### Bulk Contact Tagging\n\n```\n1. For each contact, call ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG\n2. Use contact_email to avoid separate lookup calls\n3. Batch with reasonable delays to respect rate limits\n```\n\n### ID Resolution\n\n**Contact email -> Contact ID**:\n```\n1. Call ACTIVE_CAMPAIGN_FIND_CONTACT with email\n2. Extract id from the response\n```\n\n## Known Pitfalls\n\n**Action Capitalization**:\n- Tag actions: 'Add', 'Remove' (capitalized)\n- Subscription actions: 'subscribe', 'unsubscribe' (lowercase)\n- Mixing up capitalization causes errors\n\n**ID Types**:\n- Contact IDs: numeric strings (e.g., '123')\n- List IDs: numeric strings\n- Automation IDs: numeric strings\n- All IDs should be passed as strings, not integers\n\n**Automations**:\n- Automations cannot be created via API; only enrollment is possible\n- Automation must be active to accept new contacts\n- Enrolling a contact already in the automation may have no effect\n\n**Rate Limits**:\n- ActiveCampaign API has rate limits per account\n- Implement backoff on 429 responses\n- Batch operations should be spaced appropriately\n\n**Response Parsing**:\n- Response data may be nested under `data` or `data.data`\n- Parse defensively with fallback patterns\n- Contact search may return multiple results; match by email for accuracy\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Find contact | ACTIVE_CAMPAIGN_FIND_CONTACT | email, id, phone |\n| Create contact | ACTIVE_CAMPAIGN_CREATE_CONTACT | email, first_name, last_name, tags |\n| Add/remove tags | ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG | action, tags, contact_email |\n| Subscribe/unsubscribe | ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION | action, list_id, email |\n| Add to automation | ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION | contact_email, automation_id |\n| Create task | ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK | relid, duedate, dealTasktype, title |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["activecampaign","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-activecampaign-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/activecampaign-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34997 github stars · SKILL.md body (8,403 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-25T06:50:22.030Z","embedding":null,"createdAt":"2026-04-18T21:30:19.625Z","updatedAt":"2026-04-25T06:50:22.030Z","lastSeenAt":"2026-04-25T06:50:22.030Z","tsv":"'-01':770 '-05':775 '-15':771 '/api/3/automations':702 '/api/3/lists':553 '/mcp':86 '0':813 '00':774,776 '1':106,154,175,333,474,608,723,816,882,922,956 '123':996 '2':118,186,315,345,483,540,581,617,737,890,932,964 '2025':769 '3':127,456,899,941 '30':773 '4':142,588,910 '429':1056 '5':703 '8601':763,805,826 'accept':1030 'account':1052 'accuraci':1090 'action':358,395,495,526,972,975,980,1126,1136,1176 'activ':57,66,125,132,147,176,187,334,346,475,484,609,618,674,724,738,884,906,927,958,1028,1100,1109,1121,1131,1143,1155 'activecampaign':2,5,27,33,42,58,140,208,563,655,663,697,852,875,1046 'activecampaign-autom':1 'ad':432 'add':83,100,325,351,359,399,589,620,976,1140,1145 'add/remove':1119 'address':204,223,389,510,862 'alreadi':652,1036 'altern':390,522 'alway':20,68 'api':96,667,1020,1047 'appli':258,301 'applic':1170 'appropri':1063 'array':372,416 'ask':1214 'assign':796 'assigne':792,863 'associ':718,732,753 'auth':136 'authent':141 'autom':3,4,16,28,32,37,592,604,623,627,640,646,656,668,675,690,918,1001,1014,1015,1025,1039,1142,1148,1151 'automat':441 'avail':56,111,556,783 'avoid':937 'backoff':1054 'base':781 'batch':942,1058 'boundari':1222 'bulk':919 'call':69,119,883,926,940,957 'campaign':67,126,177,188,335,347,476,485,610,619,725,739,885,907,928,959,1101,1110,1122,1132,1144,1156 'cannot':1016 'capit':398,973,978,986 'caus':987 'chang':578 'clarif':1216 'clear':1189 'client':93,294 'client-sid':293 'combin':283 'comma':252,368,409 'comma-separ':251,367,408 'common':877 'complet':139,818 'composio':10,40,559 'configur':94,850 'confirm':113,143 'connect':52,59,63,122,129,144 'contact':12,158,167,179,184,190,194,209,221,227,232,236,241,246,267,289,305,314,317,330,337,339,349,376,378,383,385,387,392,420,423,428,469,478,481,508,514,516,519,569,573,590,601,612,614,621,625,631,636,650,685,705,720,727,730,741,750,857,879,887,894,904,909,912,920,925,930,934,952,954,961,991,1032,1035,1080,1099,1103,1108,1112,1124,1128,1146,1149,1158 'core':152 'creat':155,165,189,191,219,303,439,660,704,713,740,743,903,908,1018,1107,1111,1153,1157 'creation':268,299 'criteria':1225 'crm':34 'current':25,76 'data':1067,1072 'data.data':1074 'date':760,802 'datetim':827 'dealtasktyp':777,842,1162 'defens':1076 'delay':945 'describ':1177,1193 'description/content':791 'due':759 'duedat':758,811,820,841,1161 'e.g':539,768,995 'edat':800,836 'effect':1043 'either':419 'email':200,203,220,222,260,284,309,341,384,386,388,424,507,509,524,567,632,633,687,861,889,935,953,963,1088,1104,1113,1129,1139,1150 'end':801 'endpoint':102,554 'enrol':17,599,624,638,689,1022,1033 'environ':1205 'environment-specif':1204 'error':455,988 'execut':1172 'exist':171,183,308,313,438,446,615,653,673 'expert':1210 'extract':893,965 'fallback':1078 'field':265 'filter':292 'find':157,178,199,288,336,338,477,479,611,726,728,886,960,1098,1102 'first':23,73,225,228,1114 'flow':881 'follow':133,715 'follow-up':714 'format':764,806 'found':694,892,902 'general':273 'get':75,80,552,701 'id':205,210,343,377,379,393,421,429,501,504,515,517,520,534,546,570,574,641,642,669,691,751,780,794,846,858,867,872,895,913,950,955,966,989,992,998,1002,1006,1105,1138,1152 'immedi':302 'implement':1053 'incomplet':815 'input':1219 'integ':1013 'intern':276 'iso':762,804,825 'job':244,248 'key':97,196,216,356,493,629,747,1096 'known':970 'last':230,233,1116 'later':809,839 'limit':949,1045,1050,1181 'link':137 'list':14,254,458,471,487,500,503,533,543,545,997,1134,1137 'look':169 'lookup':684,880,939 'lowercas':403,529,983 'manag':11,62,121,316,348,457,486,929,1123,1133 'market':36 'match':281,1086,1190 'may':278,310,1040,1068,1082 'mcp':9,31,46,49,82,89,109 'miss':1227 'mix':984 'multipl':1084 'must':50,425,651,670,807,821,837,1026 'name':226,229,231,234,240,365,544,870,1115,1117 'need':98 'nest':1070 'new':166,193,1031 'no-op':450 'non':445 'non-exist':444 'note':789 'number':215,238 'numer':502,518,537,856,993,999,1003 'offset':830 'one':172 'op':452 'oper':38,898,1059 'option':185 'organ':239,243 'output':1199 'overview':1180 'param':1097 'paramet':197,217,275,357,494,630,748 'pars':1065,1075 'partial':280 'pass':1009 'pattern':878,1079 'per':1051 'perform':678 'permiss':1220 'persist':587 'phone':211,214,235,237,269,286,1106 'pitfal':259,394,525,648,819,971 'placehold':834 'possibl':1024 'preced':431,576 'prerequisit':47,344,482,616,736 'process':683 'provid':297,380,427,511,572 'quick':1091 'rate':948,1044,1049 'reason':944 'record':586 'refer':671,1092 'referenc':847 'relationship':585 'relid':749,853,1160 'remov':327,353,361,401,442,977 'requir':195,224,264,355,362,375,492,499,506,628,639,647,746,757,767,785,1218 'resolut':951 'resolv':868 'respect':947 'respond':117 'respons':969,1057,1064,1066 'result':290,1085 'retriev':549 'return':135,279,1083 'review':1211 'rube':8,30,45,48,53,61,70,81,108,114,120 'rube.app':85 'rube.app/mcp':84 'run':149 'safeti':1221 'schema':26,78 'scope':1192 'search':21,54,71,115,180,201,206,212,270,274,1081 'separ':253,369,410,938 'sequenc':174,332,473,607,722 'server':90 'setup':79 'show':146 'side':295 'skill':1168,1184 'skill-activecampaign-automation' 'slug':1095 'source-sickn33' 'space':1062 'specif':1206 'status':145,579,812 'step':682 'stop':1212 'string':370,374,411,505,521,538,845,994,1000,1004,1011 'subscrib':466,489,496,530,981 'subscribe/unsubscribe':1130 'subscript':15,459,488,916,979,1135 'subsequ':897 'substitut':1202 'success':1224 't14':772 'tag':13,250,256,296,318,328,350,354,363,364,404,434,447,915,921,931,974,1118,1120,1125,1127 'tag1':412,417 'tag2':413,418 'take':430,575 'target':645 'task':6,19,706,717,734,742,745,755,778,787,790,798,848,1093,1154,1159,1188 'test':1208 'timezon':766,829 'titl':245,249,786,788,1163 'tool':22,55,72,77,116,173,331,472,560,606,677,721,1094 'toolkit':43,65,124 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':1197 'two':681 'two-step':680 'type':779,784,849,990 'ui':564,664,698,876 'unsubscrib':468,491,498,532,577,582,982 'updat':311 'use':161,271,321,462,561,595,709,833,911,933,1166,1182 'user':162,322,463,596,710,793,866,869 'valid':824,1207 'valu':396,527,835 'verifi':107,613 'via':7,29,44,60,550,666,700,873,1019 'want':163,323,464,597,711 'work':105 'workflow':151,153,605,1174","prices":[{"id":"44ed3ca8-2889-4eb4-8d80-fac43895143e","listingId":"e9f43c4b-41bc-42a3-b4b0-917169a7a51c","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:30:19.625Z"}],"sources":[{"listingId":"e9f43c4b-41bc-42a3-b4b0-917169a7a51c","source":"github","sourceId":"sickn33/antigravity-awesome-skills/activecampaign-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/activecampaign-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:30:19.625Z","lastSeenAt":"2026-04-25T06:50:22.030Z"}],"details":{"listingId":"e9f43c4b-41bc-42a3-b4b0-917169a7a51c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"activecampaign-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34997,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-25T06:33:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"98523e0e0c4d947b0a102e0749944b482ed892f0","skill_md_path":"skills/activecampaign-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/activecampaign-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"activecampaign-automation","description":"Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/activecampaign-automation"},"updatedAt":"2026-04-25T06:50:22.030Z"}}