How to connect HubSpot to Hermes Agent
Connect HubSpot to Hermes with ClawLink in one click — 224 tools your AI agent can call from chat via hosted OAuth. No API keys, no manual setup.


Manage contacts, deals, and pipelines. Once connected, Hermes Agent can read and act on HubSpot from chat — pairing, token refresh, and tool wiring handled for you.
Most guides for giving Hermes Agent HubSpot 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 HubSpot setup: pair once in the browser and your always-on Hermes agent can act on HubSpot 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 HubSpot.
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 HubSpot
One-click OAuth in the dashboard.
- 3
Use it from chat
Ask Hermes Agent: "What can you do with HubSpot?"
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 HubSpot in the ClawLink dashboard — a one-click OAuth approval, no API keys.
Verify the connection by asking Hermes:
Use hubspot_create_contact to create a contact for Jane Doe at jane@example.com, company Acme Inc, and confirm the new contact id and that the email is unique.
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 HubSpot is connected in the dashboard, that agent calls the same 224 HubSpot tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.
HubSpot MCP for Hermes
Looking for a HubSpot MCP server for Hermes Agent? ClawLink connects HubSpot to Hermes Agent and exposes 224 HubSpot tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw HubSpot integration works the same way.
The AI Overview for the exact query this page ranks #4 on teaches a Composio Connect walkthrough: install their CLI, ask Hermes to authenticate, and add a Connect MCP block to ~/.hermes/config.yaml. ClawLink's answer is shorter: install the plugin, connect HubSpot in the browser, and 224 tools work from chat with nothing added to your Hermes config. HubSpot has deprecated legacy API keys, so the manual path the ecosystem now teaches is a private app with scopes, a token you create and rotate yourself; none of that exists in this flow, because the connection is hosted OAuth: no private app, no OAuth app, no token to manage. For context on what the agent can reach, HubSpot's own Breeze agents live inside HubSpot, while this connection gives an external runtime a CRM surface with the scopes the connected user's portal allows.
What the Hermes Agent HubSpot integration can do
224 HubSpot 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 224.
30 of 224 HubSpot tools for Hermes
| Tool | What it does |
|---|---|
Create company hubspot_create_company | Create a HubSpot company |
Create contact hubspot_create_contact | Create a HubSpot contact |
Create deal hubspot_create_deal | Create a HubSpot deal |
Create task hubspot_create_task | Create a HubSpot task |
Get company hubspot_get_company | Get a HubSpot company by ID |
Get deal hubspot_get_deal | Get a HubSpot deal by ID |
Get ticket hubspot_get_ticket | Get a HubSpot ticket by ID |
Read contact hubspot_read_contact | Get a HubSpot contact by ID |
Retrieve owners hubspot_retrieve_owners | List HubSpot owners and users |
Search companies hubspot_search_companies | Search HubSpot companies |
Search contacts by criteria hubspot_search_contacts_by_criteria | Search HubSpot contacts |
Search CRM objects by criteria hubspot_search_crm_objects_by_criteria | Search HubSpot CRM objects |
Search deals hubspot_search_deals | Search HubSpot deals |
Search tickets hubspot_search_tickets | Search HubSpot tickets |
Update contact hubspot_update_contact | Update a HubSpot contact |
Audit pipeline changes hubspot_audit_pipeline_changes | Retrieves a reverse chronological audit log of all changes for a specific, existing HubSpot CRM |
Batch read companies by properties hubspot_batch_read_companies_by_properties | Batch-retrieves up to 100 HubSpot company records by their IDs in a single request |
Fetch import error details hubspot_fetch_import_error_details | Fetches a paginated list of read-only error details for a specific HubSpot CRM import |
Fetch recording settings hubspot_fetch_recording_settings | Fetches call recording settings for a specified, existing HubSpot calling extension app |
Get AB email variation hubspot_get_ab_email_variation | Retrieves the alternate variation of a specified A/B marketing email; the emailId must |
Get account info hubspot_get_account_info | Gets current HubSpot account info (email, hubId, user details) using access-token lookup |
Get active imports list hubspot_get_active_imports_list | Retrieves a list of currently active import jobs in HubSpot for monitoring ongoing data |
Get aggregated statistic intervals hubspot_get_aggregated_statistic_intervals | Retrieves aggregated statistics for marketing emails (e.g., send counts), grouped by specified |
Get aggregated statistics hubspot_get_aggregated_statistics | Retrieves aggregated statistics for marketing emails, optionally within an ISO8601 formatted |
Get all marketing emails for a hub spot account hubspot_get_all_marketing_emails_for_a_hub_spot_account | Fetches a list of marketing emails from a HubSpot account, with options for filtering, sorting |
Get contact IDS hubspot_get_contact_ids | Fetches a list of contact IDs for a specific HubSpot campaign based on interaction type |
Get deals hubspot_get_deals | Retrieves multiple HubSpot deals by their IDs in a single batch request |
Get emails hubspot_get_emails | Retrieves multiple HubSpot email engagement records by their IDs in a single batch request |
Get import record information hubspot_get_import_record_information | Retrieves a comprehensive summary of a specific HubSpot CRM import record by its importId |
Get marketing email draft hubspot_get_marketing_email_draft | Retrieves the draft version of a marketing email by its emailId; if no draft exists, returns |
Try it: find the HubSpot tool you need
Browse the 30 HubSpot tools
Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.
Example prompts
Use hubspot_create_contact to create a contact for Jane Doe at jane@example.com, company Acme Inc, and confirm the new contact id and that the email is unique.
Use hubspot_search_contacts_by_criteria to find contacts with email domain example.com, sort by most recently created, and list name, company, and creation date.
Use hubspot_get_deal for the deal id I give you and hubspot_get_company for the company id, then summarize the deal stage, amount, and owner in one paragraph.
Use hubspot_audit_pipeline_changes for pipeline 123 and tell me who moved which deal and when over the last 30 days, in reverse chronological order.
What the 224 HubSpot tools cover
The CRM surface, checked against the live manifest on 2026-08-02.
- Search is generic across object types.
hubspot_search_crm_objects_by_criteriasearches any CRM object type, contacts, companies, deals, tickets, with filters, sorting, and pagination, and its manifest notes that property names use their internal names in filters. - Batch reads exist.
hubspot_batch_read_companies_by_propertiesretrieves up to 100 company records in one request with custom property selection, andhubspot_get_dealsandhubspot_get_emailsbatch-read their record types by id. - Record creation.
hubspot_create_contact,hubspot_create_company,hubspot_create_deal, andhubspot_create_taskare the write entry points, and all four are confirm-before-execute tools in this integration. - Account context.
hubspot_get_account_inforeturns the connected account's email, hub id, and user details via access-token lookup; it is the tool to call when the agent needs to confirm which portal it is acting on. - Audit trail.
hubspot_audit_pipeline_changesreturns a reverse-chronological log of every change to a specific pipeline, which is the closest thing to an activity history in the CRM surface.
ClawLink vs. building it yourself
The alternative to ClawLink is usually manual OAuth app 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 HubSpot working from chat.
| Manual | ClawLink | |
|---|---|---|
| Connection flow | Register a HubSpot app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift. | Users connect HubSpot through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code. |
| Ongoing maintenance | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for HubSpot. | 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 HubSpot actions to the runtime in a format your agent can reliably use. | 224 tools for HubSpot are already exposed through ClawLink, so the agent can read and act from chat immediately. |
ClawLink vs. Composio
Composio also exposes HubSpot 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 HubSpot in the browser, and the 224 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.
Troubleshooting
Hermes paired but still can't use HubSpot
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 HubSpot 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 HubSpot tools
HubSpot 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 HubSpot 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.
HubSpot 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.
HubSpot API returns 403 "insufficient permissions" on a connected account
HubSpot's own community threads answer this with scope checking, and their failure modes are different from the generic causes: the connected user may lack a scope the tool needs, such as crm.objects.contacts.write, or the object type may be tier-gated so the portal's plan does not include it, or the request hits field-level permissions on the user's role. Some tools also require the user to be a Super Admin, for example for marketplace app access. Walk the checklist in that order, and keep the placeholder trap in mind: an id like YOUR_ID from documentation 403s on the write even when the scope is fine, so have the agent search or list first and retry with a real id. If the scope itself is the problem, the fix is a HubSpot-side permission or plan change, not a reconnect.
HubSpot returns a permission error even though the account is connected
The fan-out queries for this page keep rewriting the question this way, so the checklist: start a fresh chat so the runtime reloads the tool catalog, because a stale catalog can surface as a tool-level failure. Then check the id the agent sent, because placeholder ids from documentation are the most common cause of a 403 on an otherwise healthy connection. Then check portal permissions for the scopes the failing tool needs, including whether the object type is included in the portal's plan. Reconnect last, and only after confirming the token side, because HubSpot can also force re-authorization when the app's scopes change.
"hubspot mcp tool not found" errors from the HubSpot CLI don't apply here
The query space answers this with local developer setup: npm install -g @hubspot/cli, run hsmcp setup, and edit IDE config files. A hosted connection has no local MCP server, so none of those errors or fixes exist here: there is no CLI to install and no config file for a missing tool to come from. If a HubSpot tool is missing from your agent's catalog, reconnect HubSpot from the dashboard and start a fresh chat so the runtime reloads the tool list.
OAuth finished in the browser but the account is still missing
Try reconnecting HubSpot and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.
FAQ
Is there a Hermes Agent HubSpot integration?
Yes. ClawLink is the fastest way to connect Hermes to HubSpot: link your HubSpot account once in the browser and Hermes Agent can call the HubSpot API through 224 ready-made tools — no custom code or token handling.
How do I connect HubSpot 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 HubSpot in the dashboard and Hermes can use it from the next message — no config files or API keys to manage.
How long does it take to connect HubSpot to Hermes Agent?
About two minutes. Sign in, click Connect next to HubSpot in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.
Why use ClawLink instead of wiring HubSpot up myself?
The alternative to ClawLink is usually manual OAuth app 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 HubSpot working from chat.
Do I need a HubSpot private app token?
No. HubSpot has deprecated legacy API keys, so the manual path is now a private app: Settings, then Integrations, then Private Apps, create an app, pick scopes, and copy the token it shows. ClawLink replaces all of that with hosted OAuth. You connect HubSpot in the browser, the scopes come from the OAuth consent rather than a hand-built scope list, and there is no token for you to create, rotate, or store anywhere.
Why use ClawLink instead of the Composio Connect CLI?
Composio's own walkthrough is developer setup: pipe their install script into a shell, have Hermes authenticate, and add a Connect MCP block to ~/.hermes/config.yaml. ClawLink is the hosted version of that idea with the config file removed: you install the plugin once, connect HubSpot in the dashboard, and the 224 tools are callable from the next message. If you already run Composio and want its MCP config, that path works; if you want the same capability without a config file, this is the page.
Is it safe to connect HubSpot to an AI agent?
HubSpot's own security pages and the governance writeups answer yes with caveats, and the caveats matter here. The connection uses OAuth consent, so the agent can only act with the permissions of the portal and user you authenticate with, and you can revoke it from the ClawLink dashboard at any time. HubSpot's published position is that its platform does not train on customer data; what the agent does with your CRM records is governed by the scopes and by your own instructions, so constrain what it may read and write just as you would any staff member with portal access.
Why not use HubSpot's own Breeze agents?
HubSpot's built-in Breeze agents answer the no-API-key story inside HubSpot: they are native to the portal, plan-gated, and designed around HubSpot workflows. They do not give an external runtime like Hermes Agent an API surface, which is the gap this connection fills. If your agent needs to mix CRM data with your other connected tools in one conversation, it needs a HubSpot connection it can call directly.
How many HubSpot tools does this integration expose?
224 tools, counted from the generated manifest on 2026-08-02. Some index snippets still show an older copy that says 15; the page and its tool list are current at 224, and the agent can call all of them. The 30 featured on the page are the most-used CRM operations.
Hermes paired but still can't use HubSpot
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
CentralStationCRM tools
CentralStationCRM is an easy-to-use CRM software focusing on collaboration and long-term customer relationships.
Hermes Salesforce integration
Manage CRM data and workflows
Hermes RepairShopr integration
RepairShopr is a comprehensive repair shop management software designed to streamline operations, manage customer relationships, and enhance business efficiency.