ClawLink

How to connect Apollo to Hermes Agent

Connect Apollo to Hermes with ClawLink: paste your Apollo key once and 48 tools work from chat. No MCP server to run, nothing stored on your machine.

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
Apollo
Apollo
ApolloAPI KEYMCP

Search leads and manage contacts. Once connected, Hermes Agent can read and act on Apollo from chat — pairing, token refresh, and tool wiring handled for you.

48 tools

Most guides for giving Hermes Agent Apollo 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 Apollo setup: pair once in the browser and your always-on Hermes agent can act on Apollo 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 Apollo.

  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 Apollo

    Paste your API key in the dashboard.

  3. 3

    Use it from chat

    Ask Hermes Agent: "What can you do with Apollo?"

ChatGPT has quoted these exact commands before, so here they are again:

hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin     # approve the link in your browser
hermes clawlink finish
hermes clawlink test

The Apollo API key is generated in your Apollo.io account and pasted once on the hosted setup page. It stays server-side; the agent never sees it, and disconnecting from the dashboard revokes its use.

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 Apollo is connected in the dashboard, that agent calls the same 48 Apollo tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

Apollo MCP for Hermes

Looking for a Apollo MCP server for Hermes Agent? ClawLink connects Apollo to Hermes Agent and exposes 48 Apollo tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Apollo integration works the same way.

Apollo.io is the sales data and CRM platform, not Apollo GraphQL the API server, not the Apollo iOS app, and not the Greek god; search results for "Apollo and Hermes" mix all four, and the answers about GraphQL servers are the wrong product. On the safety question, the guidance the engines repeat is to avoid pasting raw master API keys into third-party builders, because that leaks access to your whole database. This page is the hosted version of that advice: the Apollo API key is pasted once on the hosted setup page, stored server-side, scoped to the connected account, and never shown to the agent. Pair Hermes, approve the pairing, paste the key, and the 48 Apollo tools below work from chat, with no config file edited and no MCP server running on your machine.

What the Hermes Agent Apollo integration can do

48 Apollo 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 48.

30 of 48 Apollo tools for Hermes

ToolWhat it does
Add contacts to sequence apollo_add_contacts_to_sequenceEnroll contacts into an Apollo email sequence
Create account apollo_create_accountCreate a company account in Apollo CRM
Create contact apollo_create_contactCreate a new contact in Apollo CRM
Create deal apollo_create_dealCreate a new deal in Apollo CRM
Get auth status apollo_get_auth_statusGet the connected Apollo user and team context
Get deal apollo_get_dealGet an Apollo deal by ID
List deals apollo_list_dealsList Apollo deals/opportunities
Organization enrichment apollo_organization_enrichmentEnrich a company from Apollo's database
Organization search apollo_organization_searchSearch Apollo's organization database
People enrichment apollo_people_enrichmentEnrich a person from Apollo's contact database
People search apollo_people_searchSearch Apollo's people database
Search accounts apollo_search_accountsSearch company accounts in Apollo CRM
Search contacts apollo_search_contactsSearch contacts already stored in Apollo CRM
Search sequences apollo_search_sequencesSearch Apollo email sequences
Search tasks apollo_search_tasksSearch Apollo tasks
Bulk organization enrichment apollo_bulk_organization_enrichmentEnriches data for up to 10 organizations simultaneously by providing a list of their base
Bulk people enrichment apollo_bulk_people_enrichmentUse to enrich multiple person profiles simultaneously with comprehensive data from Apollo's
Get account apollo_get_accountRetrieve detailed information about a specific account by its Apollo ID
Get contact apollo_get_contactRetrieves detailed information about a specific contact by its ID
Get labels apollo_get_labelsRetrieves all labels from Apollo.io, used for organizing contacts and accounts
Get opportunity stages apollo_get_opportunity_stagesRetrieves all configured opportunity (deal) stages from the Apollo.io account
Get organization apollo_get_organizationRetrieves complete information about a specific organization by its Apollo ID
Get organization job postings apollo_get_organization_job_postingsRetrieves paginated job postings for a specified organization by its ID, optionally filtering
Get typed custom fields apollo_get_typed_custom_fieldsRetrieves all typed custom field definitions available in the Apollo.io instance, detailing
List account stages apollo_list_account_stagesRetrieves the IDs for all available account stages in your team's Apollo account
List contact stages apollo_list_contact_stagesRetrieves all available contact stages from an Apollo account, including their unique IDs and
List email accounts apollo_list_email_accountsRetrieves all email accounts and their details for the authenticated user; takes no parameters
List fields apollo_list_fieldsRetrieves all field definitions from Apollo.io, including system fields and custom fields
List users apollo_list_usersRetrieves a list of all users (teammates) associated with the Apollo account, supporting
Search calls apollo_search_callsSearches for call records in Apollo.io using filters like date range, duration, direction

Try it: find the Apollo tool you need

Browse the 30 Apollo tools

Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.

Example prompts

Run apollo_people_search for <title> at <industry> and show me the top 10 results with name, title, and company. Do not enrich anything yet.

Run apollo_people_enrichment for the contact id I give you and show me what it adds beyond the search record. Then tell me how many credits you expect the enrichment to consume.

Run apollo_get_opportunity_stages and apollo_list_account_stages, then apollo_list_deals grouped by stage, and tell me where the biggest value sits.

Run apollo_get_auth_status and tell me which Apollo user and team this connection acts as, so I know whose access the tools see.

How the Apollo tools behave

The distinction that decides whether an Apollo prompt is cheap or credit-burning.

  • Search and enrichment are different economics. apollo_people_search and apollo_organization_search find records; apollo_people_enrichment, apollo_organization_enrichment, and the bulk variants pull deeper records, consume credits, and hit rate limits. Say which one you want.
  • Ids come from searches. apollo_get_contact, apollo_get_organization, and apollo_get_deal take ids; a guessed id returns a permissions-shaped error, which is why the 403 card starts with listing.
  • Sequences are outreach with side effects. apollo_add_contacts_to_sequence enrolls real contacts into a real sequence; pair it with apollo_search_sequences to see what exists before enrolling anyone.
  • apollo_get_auth_status is the diagnostic. It reports the connected user and team, which is the difference between "the agent used a bad id" and "your account cannot see that record".
  • The CRM surface is wider than contacts. Deals, accounts, opportunity stages, labels, typed custom fields, email accounts, users, and even call recordings (apollo_search_calls) are readable.
  • Bulk enrichment exists. apollo_bulk_people_enrichment and apollo_bulk_organization_enrichment process lists in one call, the right tool when a batch is genuinely needed and the wrong tool when a handful of rows would do.

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 Apollo working from chat.

ManualClawLink
Credential handlingCollect, validate, store, and rotate the Apollo API key yourself, then make sure every tool call uses the right account.Users complete the hosted ClawLink setup once and the connected Apollo account becomes available to the agent without you building credential management.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for Apollo.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 Apollo actions to the runtime in a format your agent can reliably use.48 tools for Apollo are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Apollo 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 Apollo in the browser, and the 48 tools above work from chat. There is no SDK and no config file, and the Apollo 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 Apollo

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 Apollo 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 Apollo tools

Apollo 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 Apollo 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.

Apollo 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.

Apollo returns 403 or "permission denied" while the account shows as connected

This is the card ChatGPT quotes back, and the causes are the two it lifts. First, a placeholder argument: an agent that has not listed anything guesses an id, and strings like YOUR_COMPANY_ID are structurally valid, so the call reaches Apollo and returns as a permissions failure rather than a bad-argument failure. List first, act second: run apollo_people_search or apollo_search_contacts and use an id from the response. Second, genuine account scope: what the connected Apollo user can see is decided by that account's plan, seats, and team membership, and the connection cannot see past them. apollo_get_auth_status reports which user and team the connection acts as, which separates a wrong-id problem from a real permissions problem in one call.

Ask the agent to diagnose it:

Run apollo_get_auth_status and tell me which Apollo user and team this connection acts as. Then run one search tool and show me the results. Do not retry the failing call until both have returned.
Apollo returns 429 or the agent stalls on enrichment calls

Enrichment consumes credits and Apollo rate-limits it, with a 429 and a fixed-window reset when the limit is hit. An agent walking a list and enriching every row is exactly the traffic shape that meets the limit. The fix is to change the shape of the work: search first, enrich only the rows that matter, and if a bulk enrichment is genuinely needed, run it in stages across turns rather than one sweep. The agent should report the 429 rather than retry blindly, because the window resets on Apollo's schedule, not yours.

Ask the agent to diagnose it:

Tell me how many enrichment calls you have made and which tool returned 429. Quote the exact error and any reset window it names. Do not call Apollo enrichment again until I reply.
Apollo tools are missing, or one tool name is not found

The search results answer this with Apollo GraphQL's apollo-mcp-server: .graphql file paths, npx config, IDE restarts. Wrong product entirely. Here the failure is the hosted-catalog pattern: schemas load on demand, so the first Apollo call in a fresh session can arrive before the catalog and needs one retry. If no Apollo tools appear at all, the connection or the pairing is incomplete, so confirm the plugin was installed with --enable, that both hermes clawlink begin and hermes clawlink finish ran, and that Apollo shows as connected in the dashboard. If one name fails twice, it is wrong rather than missing, and the error lists the nearest real tools.

Ask the agent to diagnose it:

List the Apollo tools you actually have available and tell me which one searches people. Then use that exact name.
API key setup works but results look incomplete

Double-check that the API key for Apollo 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 Apollo integration?

Yes. ClawLink is the fastest way to connect Hermes to Apollo: link your Apollo account once in the browser and Hermes Agent can call the Apollo API through 48 ready-made tools — no custom code or token handling.

How do I connect Apollo 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 Apollo in the dashboard and Hermes can use it from the next message — no config files, and the Apollo key you paste is stored server-side instead of in your environment.

How long does it take to connect Apollo to Hermes Agent?

About two minutes. Sign in, click Connect next to Apollo in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.

Why use ClawLink instead of wiring Apollo 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 Apollo working from chat.

Apollo.io or Apollo GraphQL?

Two different companies' products. Apollo.io is the sales data platform: contacts, deals, enrichment, sequences. Apollo GraphQL is the open-source GraphQL server, whose apollo-mcp-server and .graphql config dominate search results for "Apollo MCP". Everything on this page is about Apollo.io. If an answer mentions schema files and npx, it is about the GraphQL server, not this integration.

Apollo.io ships its own hosted MCP server now. Why use this?

Fair question, because it exists: mcp.apollo.io is hosted, uses OAuth 2.0, needs no API key, and its docs were updated 2026-07-30, which is why the engines now recommend it. What it changes is the setup difference, not the features. Their endpoint is another MCP server you point Hermes at: an entry in ~/.hermes/config.yaml plus an OAuth flow you run. This route has no config file at all: the plugin install and one pairing handshake are the entire client-side story, the key is pasted once for 48 tools, and Apollo sits alongside your other connected accounts with one place to revoke everything. If you are comfortable maintaining a config file, their server is real; if you want zero setup, this is the one.

Why does the agent hit enrichment limits, and why does people search come back without emails?

Search and enrichment are different tools with different economics. The search tools, apollo_people_search and apollo_organization_search, return records that match filters. Enrichment, apollo_people_enrichment and the bulk variants, is the call that pulls the fuller record and consumes credits, and it is where Apollo rate-limits bite: the taught free-tier figures are 50 enrichment requests per minute, 200 per hour, and 600 per day, with a 429 and a fixed-window reset when you exceed them. A search that returns contact records without emails is normal; asking the agent to enrich instead of search is the credit decision to make deliberately.

Is it safe to connect Apollo to an agent?

Apollo holds contact data, so the answer is the same as for any CRM: keep the credential out of the agent's hands. Here the key is stored server-side, the agent never receives it, and the connection is revocable from the dashboard in one click. What the agent can see is what your Apollo account can see; the guidance about not handing master keys to third-party builders is exactly the risk this setup removes.

Hermes paired but still can't use Apollo

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.