ClawLink

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.

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
HubSpot
HubSpot
HubSpotOAUTH2MCP

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.

224 tools

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.

Prompt for Hermes
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.

  1. 1

    Install and pair

    Install the ClawLink plugin, then pair Hermes with a one-time browser approval:

    hermes plugins install ClawLink-HQ/hermes-plugin --enable
  2. 2

    Connect HubSpot

    One-click OAuth in the dashboard.

  3. 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 test

Then 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 login

login 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

ToolWhat it does
Create company hubspot_create_companyCreate a HubSpot company
Create contact hubspot_create_contactCreate a HubSpot contact
Create deal hubspot_create_dealCreate a HubSpot deal
Create task hubspot_create_taskCreate a HubSpot task
Get company hubspot_get_companyGet a HubSpot company by ID
Get deal hubspot_get_dealGet a HubSpot deal by ID
Get ticket hubspot_get_ticketGet a HubSpot ticket by ID
Read contact hubspot_read_contactGet a HubSpot contact by ID
Retrieve owners hubspot_retrieve_ownersList HubSpot owners and users
Search companies hubspot_search_companiesSearch HubSpot companies
Search contacts by criteria hubspot_search_contacts_by_criteriaSearch HubSpot contacts
Search CRM objects by criteria hubspot_search_crm_objects_by_criteriaSearch HubSpot CRM objects
Search deals hubspot_search_dealsSearch HubSpot deals
Search tickets hubspot_search_ticketsSearch HubSpot tickets
Update contact hubspot_update_contactUpdate a HubSpot contact
Audit pipeline changes hubspot_audit_pipeline_changesRetrieves a reverse chronological audit log of all changes for a specific, existing HubSpot CRM
Batch read companies by properties hubspot_batch_read_companies_by_propertiesBatch-retrieves up to 100 HubSpot company records by their IDs in a single request
Fetch import error details hubspot_fetch_import_error_detailsFetches a paginated list of read-only error details for a specific HubSpot CRM import
Fetch recording settings hubspot_fetch_recording_settingsFetches call recording settings for a specified, existing HubSpot calling extension app
Get AB email variation hubspot_get_ab_email_variationRetrieves the alternate variation of a specified A/B marketing email; the emailId must
Get account info hubspot_get_account_infoGets current HubSpot account info (email, hubId, user details) using access-token lookup
Get active imports list hubspot_get_active_imports_listRetrieves a list of currently active import jobs in HubSpot for monitoring ongoing data
Get aggregated statistic intervals hubspot_get_aggregated_statistic_intervalsRetrieves aggregated statistics for marketing emails (e.g., send counts), grouped by specified
Get aggregated statistics hubspot_get_aggregated_statisticsRetrieves 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_accountFetches a list of marketing emails from a HubSpot account, with options for filtering, sorting
Get contact IDS hubspot_get_contact_idsFetches a list of contact IDs for a specific HubSpot campaign based on interaction type
Get deals hubspot_get_dealsRetrieves multiple HubSpot deals by their IDs in a single batch request
Get emails hubspot_get_emailsRetrieves multiple HubSpot email engagement records by their IDs in a single batch request
Get import record information hubspot_get_import_record_informationRetrieves a comprehensive summary of a specific HubSpot CRM import record by its importId
Get marketing email draft hubspot_get_marketing_email_draftRetrieves 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_criteria searches 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_properties retrieves up to 100 company records in one request with custom property selection, and hubspot_get_deals and hubspot_get_emails batch-read their record types by id.
  • Record creation. hubspot_create_contact, hubspot_create_company, hubspot_create_deal, and hubspot_create_task are the write entry points, and all four are confirm-before-execute tools in this integration.
  • Account context. hubspot_get_account_info returns 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_changes returns a reverse-chronological log of every change to a specific pipeline, which is the closest thing to an activity history in the CRM surface.

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.

ManualClawLink
Connection flowRegister 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 maintenanceYou 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 usabilityYou 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.

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.