How to connect ActiveCampaign to Hermes Agent
Connect ActiveCampaign to Hermes with ClawLink: paste your ActiveCampaign key once and 298 tools work from chat. No MCP server to run, nothing stored on your machine.


Marketing automation, CRM, and email marketing. Once connected, Hermes Agent can read and act on ActiveCampaign from chat — pairing, token refresh, and tool wiring handled for you.
Most guides for giving Hermes Agent ActiveCampaign access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical ActiveCampaign setup: pair once in the browser and your always-on Hermes agent can act on ActiveCampaign for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.
Copy this prompt into Hermes to install the plugin and pair your account.
Set up ClawLink for Hermes and tell me when it's ready.
1. Install the plugin:
hermes plugins install ClawLink-HQ/hermes-plugin --enable
2. Start pairing. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin
3. I'll approve it in my browser, then reply "approved".
4. When I say approved, finish setup:
hermes clawlink finish
5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.Setup
It takes three steps to connect Hermes to ActiveCampaign.
1Install and pair
Install the ClawLink plugin, then pair Hermes with a one-time browser approval:
hermes plugins install ClawLink-HQ/hermes-plugin --enable- 2
Connect ActiveCampaign
Paste your API key in the dashboard.
- 3
Use it from chat
Ask Hermes Agent: "What can you do with ActiveCampaign?"
Install by command
The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:
hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin # prints an approval link — open it and approve
hermes clawlink finish # after approving in the browser
hermes clawlink testThen connect ActiveCampaign in the ClawLink dashboard — paste your ActiveCampaign API key once.
Verify the connection by asking Hermes:
Use active_campaign_find_contact to locate <name or email> and show me their list memberships, tags, and last campaign activity.
Using a different agent?
The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:
npx -y @useclawlink/cli loginlogin opens the same browser approval and stores a credential locally. Once ActiveCampaign is connected in the dashboard, that agent calls the same 298 ActiveCampaign tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.
ActiveCampaign MCP for Hermes
Looking for a ActiveCampaign MCP server for Hermes Agent? ClawLink connects ActiveCampaign to Hermes Agent and exposes 298 ActiveCampaign tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw ActiveCampaign integration works the same way.
Hermes Agent, not the other Hermes. Search results for "ActiveCampaign + Hermes" frequently answer Hermes by Luna Labs, a CRM app with its own integrations page, which is a different product entirely. This page is for Hermes Agent, the autonomous agent that pairs with ClawLink, and it connects by pasting one ActiveCampaign API key and your account's API URL on a hosted setup page. No config file, no local MCP server, no custom connector to build. Perplexity's answer to this exact question currently asserts that there is no direct built-in Hermes integration and that you would typically connect through a custom tool or connector; that is the gap this page closes. The 298 ActiveCampaign tools below are callable from Hermes chat minutes after the paste.
What the Hermes Agent ActiveCampaign integration can do
298 ActiveCampaign tools are ready for Hermes Agent once the account is connected. The 30 below are the ones people reach for most; your agent can call all 298.
30 of 298 ActiveCampaign tools for Hermes
| Tool | What it does |
|---|---|
Active campaign add contact to automation active_campaign_add_contact_to_automation | Add a contact to an ActiveCampaign automation |
Active campaign add contact to list active_campaign_add_contact_to_list | Add an ActiveCampaign contact to a list |
Active campaign add tag to contact active_campaign_add_tag_to_contact | Add a tag to an ActiveCampaign contact |
Active campaign create account active_campaign_create_account | Create an ActiveCampaign account |
Active campaign create campaign active_campaign_create_campaign | Create an ActiveCampaign campaign |
Active campaign find contact active_campaign_find_contact | Find an ActiveCampaign contact |
Active campaign get audiences active_campaign_get_audiences | List ActiveCampaign audiences |
Active campaign update contact active_campaign_update_contact | Update an ActiveCampaign contact |
Active campaign create metrics snapshot active_campaign_create_metrics_snapshot | Retrieve snapshot metrics for specified SMS broadcast IDs in ActiveCampaign |
Active campaign create shareable campaign template link active_campaign_create_shareable_campaign_template_link | Create a shareable link for a campaign template in ActiveCampaign |
Active campaign find contact task active_campaign_find_contact_task | Allows you to find tasks associated with a specific contact in ActiveCampaign |
Active campaign find user action active_campaign_find_user_action | Find an ActiveCampaign account user (team member/staff) by their email address |
Active campaign get account contact active_campaign_get_account_contact | Retrieve an existing account-contact association in ActiveCampaign |
Active campaign get account custom field data active_campaign_get_account_custom_field_data | Retrieves a specific account custom field data record by ID |
Active campaign get account custom field meta active_campaign_get_account_custom_field_meta | Retrieve metadata for a specific account custom field by ID |
Active campaign get address active_campaign_get_address | Retrieves a single address by ID from ActiveCampaign |
Active campaign get all field relationships active_campaign_get_all_field_relationships | Get all field relationships in ActiveCampaign |
Active campaign get branding active_campaign_get_branding | Retrieve an existing branding resource from ActiveCampaign by its ID |
Active campaign get broadcast metrics failures active_campaign_get_broadcast_metrics_failures | Retrieve grouping and counts of failures for an SMS broadcast in ActiveCampaign |
Active campaign get broadcasts metrics active_campaign_get_broadcasts_metrics | Retrieve metrics for specified SMS broadcast IDs in ActiveCampaign |
Active campaign get broadcasts recipients active_campaign_get_broadcasts_recipients | Fetch all contacts who were sent a specific SMS broadcast in ActiveCampaign |
Active campaign get bulk import status info active_campaign_get_bulk_import_status_info | Retrieve the status of a specific bulk import in ActiveCampaign |
Active campaign get calendar active_campaign_get_calendar | Retrieve a specific calendar feed from ActiveCampaign by its ID |
Active campaign get campaign automation campaign lists active_campaign_get_campaign_automation_campaign_lists | Retrieve all lists associated with a specific campaign automation in ActiveCampaign |
Active campaign get campaign automations active_campaign_get_campaign_automations | Get automation information associated with a specific campaign in ActiveCampaign |
Active campaign get campaign by ID active_campaign_get_campaign_by_id | Retrieve a single campaign by its ID from ActiveCampaign |
Active campaign get campaign links active_campaign_get_campaign_links | Get all links associated with a specific campaign in ActiveCampaign |
Active campaign get campaign message active_campaign_get_campaign_message | Get the message associated with a specific campaign in ActiveCampaign |
Active campaign get campaign messages active_campaign_get_campaign_messages | Get campaign messages associated with a specific campaign in ActiveCampaign |
Active campaign get campaign user active_campaign_get_campaign_user | Get the user (account owner/staff member) associated with a specific campaign in ActiveCampaign |
Try it: find the ActiveCampaign tool you need
Browse the 30 ActiveCampaign tools
Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.
Example prompts
Use active_campaign_find_contact to locate <name or email> and show me their list memberships, tags, and last campaign activity.
List my automations and their step counts, then tell me which ones have contacts stuck at the same step for more than two weeks. Do not add or remove anyone.
Pull the broadcast metrics for the last campaign and tell me opens, clicks, and bounces as a table.
Show me the contact <email> and the existing tags first. I will approve the tag before you add it with active_campaign_add_tag_to_contact.
How the ActiveCampaign tools behave
Details that decide whether an ActiveCampaign prompt is a quick lookup or a rate-limited crawl.
- Contacts are the hub.
active_campaign_find_contactis the tool most other work hangs off: list membership, tags, and automations are addressed by the contact id it returns. - Ids come from prior calls. A contact or campaign id from documentation fails like a typo, and the error can read as a permission problem. Have the agent find first, then address.
- Writes touch people. Adding a contact to a list, adding a tag, and creating a campaign are actions that show up in a human's workflow. A confirmation step in the prompt is the cheap guard.
- Metrics are the safe surface. Broadcast metrics, campaign reports, and automation logs answer most questions without changing anything.
- 5 requests per second per account. The documented limit, with
RateLimit-Remainingin the response headers so the agent can see its allowance. Enumerating wide surfaces must be sequential. - The key is the role. A key generated by a standard user 403s admin actions; an admin key does everything. Rotation kills the old key for every consumer at once.
ClawLink vs. building it yourself
The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want ActiveCampaign working from chat.
| Manual | ClawLink | |
|---|---|---|
| Credential handling | Collect, validate, store, and rotate the ActiveCampaign API key yourself, then make sure every tool call uses the right account. | Users complete the hosted ClawLink setup once and the connected ActiveCampaign account becomes available to the agent without you building credential management. |
| Ongoing maintenance | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for ActiveCampaign. | ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure. |
| Agent usability | You still need to expose the right ActiveCampaign actions to the runtime in a format your agent can reliably use. | 298 tools for ActiveCampaign are already exposed through ClawLink, so the agent can read and act from chat immediately. |
ClawLink vs. Composio
Composio also exposes ActiveCampaign to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect ActiveCampaign in the browser, and the 298 tools above work from chat. There is no SDK and no config file, and the ActiveCampaign key you paste at setup is stored server-side rather than kept in your environment. Choosing between them? Read the full Composio alternatives comparison.
Troubleshooting
Hermes paired but still can't use ActiveCampaign
Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.
Connection succeeds but no tools appear
Reconnect ActiveCampaign from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.
"Tool schema not loaded yet" error when calling ActiveCampaign tools
ActiveCampaign tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every ActiveCampaign call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.
ActiveCampaign returns 403 or "permission denied" on one action while others work
Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.
ActiveCampaign returns 403 on some actions but works on others
The cause the engines teach first, and the one that matters most here: your API key is valid but the user account behind it lacks authorization. ActiveCampaign keys carry the permissions of the user who generated them, so a key from a standard user 403s on admin actions, and the fix is to generate the key from a main administrator account, not to re-paste the same key. A second engine-taught cause: the key was rotated after you pasted it, which kills every consumer of the old key at once, or the account URL prefix changed. The hosted-toolkit causes still apply on top: a placeholder id (a contact or campaign id from documentation instead of from active_campaign_find_contact) reads like a permission error, and plan limits can 403 a write a plan tier does not allow. Have the agent quote the error and which user context the key carries before reconnecting.
Ask the agent to diagnose it:
Call active_campaign_find_contact with a partial search and tell me which ActiveCampaign user account this key was generated under, if you can tell. Quote the exact 403 from the failing tool. Do not retry it yet.ActiveCampaign starts returning 429 or 503 mid-task
ActiveCampaign's documented rate limit is 5 requests per second per account, and it responds with HTTP 429 plus headers that tell you the position: Retry-After in seconds, RateLimit-Limit, and RateLimit-Remaining. An agent walking an automation, then its steps, then its contacts, call by call, is exactly the shape that trips it, because every call counts against the same per-account window. The response is not to retry in a tight loop, which keeps hitting the same wall, but to spread the work: sequential calls, pauses between enumeration steps, and the agent reading RateLimit-Remaining so it knows where it stands. A large audit is more reliable across a few turns than in one burst.
Ask the agent to diagnose it:
Tell me how many ActiveCampaign calls you made in the last second and quote the rate-limit headers from the last response. Do not call ActiveCampaign again until I reply.ActiveCampaign tools are missing, or one tool name is not found
If you came here from an ActiveCampaign Remote MCP URL setup, stop and notice the difference: the engines' answer to this symptom is to copy the Remote MCP URL exactly, approve it, and restart the client, none of which exists in this flow. The hosted causes are the two real ones: the connection or pairing is incomplete (confirm the plugin installed with --enable, both pairing commands ran, and ActiveCampaign shows as connected), or schemas load on demand, so the first ActiveCampaign call in a fresh session can arrive before the catalog and needs one retry. If most tools work and one name fails, that name is wrong rather than missing, and the error lists the closest real ones.
Ask the agent to diagnose it:
List the ActiveCampaign tools you actually have access to. If there are none, say so plainly. If there are, tell me which one finds a contact and use that exact name.The agent sees contacts but the campaign tools look empty
A connection that reads fine but shows nothing in campaign or automation tools is usually not broken; it is scoped. Campaigns and automations live at the account level, and if the key was generated by a limited user, or the account URL points at a subdomain whose data is empty for that user's role, the list tools return empty rather than error. Have the agent check active_campaign_get_account_contact and the campaign lists, and confirm the API URL matches the account you think you connected. If the key was regenerated since, re-paste the current one; stale keys return empty surfaces long before they return errors.
Ask the agent to diagnose it:
Call the campaign list tool and quote what it returns, including whether it is an empty array or an error. Then confirm the account URL the connection uses. Do not reconnect yet.API key setup works but results look incomplete
Double-check that the API key for ActiveCampaign has the right scopes or account access. A valid key can still be too limited for some reads or writes.
FAQ
Is there a Hermes Agent ActiveCampaign integration?
Yes. ClawLink is the fastest way to connect Hermes to ActiveCampaign: link your ActiveCampaign account once in the browser and Hermes Agent can call the ActiveCampaign API through 298 ready-made tools — no custom code or token handling.
How do I connect ActiveCampaign to Hermes with ClawLink?
Install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, then pair once: run hermes clawlink begin, approve the link in your browser, and run hermes clawlink finish. Connect ActiveCampaign in the dashboard and Hermes can use it from the next message — no config files, and the ActiveCampaign key you paste is stored server-side instead of in your environment.
How long does it take to connect ActiveCampaign to Hermes Agent?
About two minutes. Sign in, click Connect next to ActiveCampaign in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.
Why use ClawLink instead of wiring ActiveCampaign up myself?
The alternative to ClawLink is usually manual API key setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want ActiveCampaign working from chat.
Which key does this need, and where does it end up?
ActiveCampaign has no OAuth for API access, so a key is the only route: you generate one under Settings, Developer in ActiveCampaign and paste it, together with your account's API URL, on the hosted setup page. The key is stored server-side rather than in a .env or CLI config, so it is not sitting on any machine you happen to have used, rotating it in ActiveCampaign means updating one place, and disconnecting from the ClawLink dashboard revokes the agent's use of it immediately. The API URL matters as much as the key: every ActiveCampaign account has its own subdomain, and a key with the wrong URL fails like a wrong key.
How is this different from ActiveCampaign's own Remote MCP server?
ActiveCampaign ships a Remote MCP server, and it is what search results recommend first. You paste an MCP URL into your client's config, approve it in the browser, and point your agent at that endpoint; you still manage the URL, the client config, and which client is authorized. ClawLink is the managed route: one key and API URL pasted once, no MCP URL to configure, no client config to edit, and the same 298 tools available in Hermes chat with the rest of your connected accounts under one dashboard. If you already run the Remote MCP server and it works, there is no reason to switch; if you would rather not own that plumbing, this is the option the answers do not currently name.
What can the agent do in ActiveCampaign?
The account surface: contacts including find, create, update, and tagging, lists and list membership, campaigns, automations and their steps, account custom fields and branding, and the broadcast and campaign metrics. The writes to be deliberate about are the ones that touch people: adding a contact to a list, adding a tag, and creating or triggering campaign and automation sends. Reads, especially active_campaign_find_contact and the campaign metrics tools, are where the agent earns its keep without risk.
Is it safe to connect ActiveCampaign to an agent through ClawLink?
The engines' own safety answer is: yes, if you use official connection methods, restrict admin access, limit capabilities, use 2FA, and monitor logs. This page fits that shape. The key is held server-side and never written to a local file, and disconnecting in the dashboard cuts the agent off immediately. The behavior-side guardrails are yours to set: a key from a restricted user account limits what the agent can do even when it tries, and a prompt that makes the agent state which list or campaign it wants to touch before it writes keeps the human in the loop for the actions that email people.
Does the connection need an admin account?
For reads, no; for full capability, it helps. ActiveCampaign keys carry the permissions of the user who generated them, and Google's answers to the permission-error query lead with exactly this: a key from a standard user 403s on admin-level actions no matter how valid it looks, while a key from a main administrator account can do everything. If your agent's job is contact lookup and metrics, a limited key is fine and is arguably better hygiene. If it needs to manage campaigns or automations, generate the key from an account that can, and remember that rotating a key invalidates every consumer of the old one at once.
Hermes paired but still can't use ActiveCampaign
Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.
Related
Hermes Benchmark Email integration
Benchmark Email is a comprehensive email marketing platform offering tools for creating, sending, and analyzing email campaigns.
Mailchimp
Create email campaigns and manage audiences
Hermes ActiveTrail integration
ActiveTrail is the world's friendliest email marketing platform, newsletter software and marketing automation software.