ClawLink

How to connect BambooHR to Hermes Agent

Connect BambooHR to Hermes Agent with ClawLink: paste your BambooHR key once, 41 tools work from chat. The key stays server-side, never in a prompt or on your machine. 403 fixes for the literal BambooHR error text.

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
BambooHR
BambooHR
BambooHRAPI KEYMCP

Manage employees, time-off, benefits, and hiring. Once connected, Hermes Agent can read and act on BambooHR from chat — pairing, token refresh, and tool wiring handled for you.

41 tools

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

  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 BambooHR

    Paste your API key in the dashboard.

  3. 3

    Use it from chat

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

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 BambooHR in the ClawLink dashboard — paste your BambooHR API key once.

Verify the connection by asking Hermes:

Call bamboohr_get_all_employees and summarize the headcount by department using the department values in the records. Do not quote full employee records; summarize names and counts only.

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

BambooHR MCP for Hermes

Looking for a BambooHR MCP server for Hermes Agent? ClawLink connects BambooHR to Hermes Agent and exposes 41 BambooHR tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw BambooHR integration runs on the same hosted BambooHR provider and the same 41 tools; OpenClaw installs ClawLink through a ClawHub skill instead of the Hermes pairing commands.

The advice every engine gives for connecting BambooHR to an AI agent contains a warning: never paste a personal employee API key into an external AI agent, and never create a broad HR admin credential for a tool. That is sound advice about the way the alternatives work, where a key lives in a config file or an environment variable on a machine you do not control and is handed to a model that might echo it. This page's setup differs in exactly that particular: you paste the key once into a hosted setup page, and it stays server-side. The agent never sees it, it is not written to any .env or config file on your machine, it never enters a prompt, and revoking it in BambooHR or from the dashboard kills access instantly. BambooHR authenticates with API keys rather than OAuth, so a key is the credential either way; what this flow removes is everything a key normally drags in. Two guidance points follow from the engines' own advice: connect with a BambooHR user whose permissions match what the agent should do rather than a broad admin, and treat employee data as the sensitive surface it is, draft before write.

What the Hermes Agent BambooHR integration can do

41 BambooHR 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 41.

30 of 41 BambooHR tools for Hermes

ToolWhat it does
Ats create candidate bamboohr_ats_create_candidateCreate a candidate application
Ats create job opening bamboohr_ats_create_job_openingCreate a new job opening in BambooHR ATS
Company get information bamboohr_company_get_informationGet company information
Create time off request bamboohr_create_time_off_requestSubmit a new time off request
Datasets list bamboohr_datasets_listList available datasets via the Datasets API
Employee create bamboohr_employee_createCreate a new employee record
Ats get applications bamboohr_ats_get_applicationsList job applications with optional filters
Benefit get coverages bamboohr_benefit_get_coveragesRetrieve standard benefit coverage options
Benefit get member events bamboohr_benefit_get_member_eventsList member benefit events
Company get eins bamboohr_company_get_einsRetrieve company Employer Identification Numbers (EINs)
Dependents get all bamboohr_dependents_get_allRetrieve all employee dependents
Employee get changed bamboohr_employee_get_changedGet employees inserted, updated, or deleted since a given timestamp
Files list bamboohr_files_listList company file categories and their files
Get all employees bamboohr_get_all_employeesRetrieves all employees from the BambooHR employee directory including their basic information
Get applicant statuses bamboohr_get_applicant_statusesRetrieve applicant statuses
Get custom employee fields bamboohr_get_custom_employee_fieldsFetch custom employee field values
Get custom reports bamboohr_get_custom_reportsRun a custom report by ID or ad-hoc fields
Get employee bamboohr_get_employeeRetrieve detailed information for a specific employee
Get employee photo bamboohr_get_employee_photoRetrieve an employee's profile photo by size
Get hiring leads bamboohr_get_hiring_leadsRetrieve potential hiring leads (employees who can manage job openings) for use in creating a
Get job summaries bamboohr_get_job_summariesRetrieve a list of ATS job summaries
Get meta departments bamboohr_get_meta_departmentsList department metadata
Get meta divisions bamboohr_get_meta_divisionsList all division metadata
Get meta employment statuses bamboohr_get_meta_employment_statusesList all employment status metadata
Get meta job titles bamboohr_get_meta_job_titlesRetrieve job title metadata
Get meta locations bamboohr_get_meta_locationsList location metadata
Get meta time off types bamboohr_get_meta_time_off_typesList time-off type metadata
Get report bamboohr_get_reportFetch a built-in or published report in JSON or other formats
Get time off balances bamboohr_get_time_off_balancesRetrieve time-off balances for employees
Get time off requests bamboohr_get_time_off_requestsList time-off requests within a date range

Try it: find the BambooHR tool you need

Browse the 30 BambooHR tools

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

Example prompts

Call bamboohr_get_all_employees and summarize the headcount by department using the department values in the records. Do not quote full employee records; summarize names and counts only.

List time off requests with bamboohr_get_time_off_requests for the next 30 days and show me who is out, when, and the time off type. Then pull the balances for each with bamboohr_get_time_off_balances.

List my custom reports with bamboohr_get_custom_reports, then run the one named <name> with bamboohr_get_report and show me the result as a table.

Pull the departments, divisions, job titles, and locations meta lists with the bamboohr_get_meta_* tools and tell me which departments have no employees according to bamboohr_get_all_employees.

How the BambooHR tools behave

The shapes that decide whether a BambooHR prompt returns fast or walks into the rate limit, from the live schemas.

  • Employees read both ways. bamboohr_get_employee takes one id and bamboohr_get_all_employees takes the sweep; bamboohr_employee_get_changed answers "what changed since" without a full walk.
  • Reports are the heavy read. bamboohr_get_custom_reports lists what exists and bamboohr_get_report runs one; a custom report does the join work an agent would otherwise do with many calls.
  • The meta lists are free reads. Departments, divisions, job titles, locations, employment statuses, and time off types are each one call, which is how an agent grounds itself before touching employee records.
  • Employee data is sensitive by default. The prompts above ask for summaries rather than raw records for a reason; an agent that quotes full employee rows into chat is doing more than the question needs.
  • Writes exist and are real. bamboohr_employee_create and bamboohr_create_time_off_request change HR records; both deserve an explicit draft-and-approve step in the prompt.
  • ATS is a separate surface. Candidates, job openings, applications, and hiring leads have their own tools, so recruiting questions need the ATS tools named rather than the employee tools.

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

ManualClawLink
Credential handlingCollect, validate, store, and rotate the BambooHR API key yourself, then make sure every tool call uses the right account.Users complete the hosted ClawLink setup once and the connected BambooHR 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 BambooHR.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 BambooHR actions to the runtime in a format your agent can reliably use.41 tools for BambooHR are already exposed through ClawLink, so the agent can read and act from chat immediately.

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

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

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

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

"Your Account Does Not Have Sufficient Permissions to Fetch the Necessary Data From BambooHR"

This exact error string is BambooHR's own API message, and it is the one engines cite most for this provider's permission problems. It means the connected user lacks permission for the requested data, and the taught causes are: the user is not an admin of the account, the call targets the wrong account, or the token was issued before a permission change. Run the diagnosis in this order: confirm which user the connection acts as, reconnect from the dashboard if permissions changed after the connection was made (a fresh token picks up the new permissions), and check the arguments, because a placeholder employee or report id returns the same string when BambooHR hides what the account cannot see. A broad "the integration is broken" conclusion is wrong for this error; it is always a permissions or id question.

Ask the agent to diagnose it:

Call bamboohr_get_all_employees and bamboohr_get_meta_departments. Tell me which BambooHR account this connection acts as and how many employees it can see, then quote the exact error from the failed call. Do not retry it yet.
BambooHR returns 429 or the agent stalls while enumerating employees

BambooHR rate-limits API usage and answers over-allowance calls with 429, and an agent walking every employee, department, and time off balance in sequence is the shape that meets it. The numbers vary by plan and are documented in BambooHR's API docs; the behavior that matters here is the shape of the work. Ask for one employee or one report rather than a full sweep, have the agent say what it intends to enumerate before it starts, and spread a large audit across turns. A 429 means wait for the window, not retry in a loop.

Ask the agent to diagnose it:

Tell me how many BambooHR calls you have made recently and what you were enumerating. Quote any 429 text from the last response. Do not call BambooHR again until I reply.
BambooHR tools are missing, or one tool name is not found

Two different failures. If Hermes shows no BambooHR tools at all, the connection or the pairing is incomplete: confirm the plugin was installed with --enable, that both hermes clawlink begin and hermes clawlink finish ran, and that BambooHR shows as connected in the dashboard, then start a fresh chat. If most tools work and a single name fails, the name is wrong rather than missing, and the error lists the closest real ones. The search-result fix for this symptom, verifying an API key and domain in a local MCP server's config, is the self-hosted version of the same failure and does not apply here: the key was verified at setup. One timing case is unique to this setup: schemas load on demand, so the opening BambooHR call in a fresh session can arrive before the catalog and needs one retry.

Ask the agent to diagnose it:

List the BambooHR tools you actually have access to. If there are none, say so plainly. If there are, tell me which one reads an employee by id and use that exact name.
API key setup works but results look incomplete

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

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

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

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

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

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

Is it safe to paste my BambooHR API key into ClawLink?

The engines' warning is about keys handed to an external agent in a way that can leak: pasted into prompts, stored in config files on machines you do not control, or shared broadly. Here the key is entered once into hosted storage, never shown to the agent, never written to your machine, and revocable at any moment from BambooHR itself or the dashboard. The remaining risk decisions are yours, and they are the same ones the warning cares about: use a BambooHR user whose permissions match the work rather than a broad admin credential, and keep employee data out of prompts by telling the agent to summarize rather than quote raw records.

What can the agent do with 41 tools?

The employee surface and the HR administration around it: employees (get one, get all, create, changed since), custom reports and the report runner, time off requests and balances, meta lists (departments, divisions, job titles, locations, employment statuses, time off types), files, benefits coverages and member events, company information and EINs, and the ATS side (candidates, job openings, applications, applicant statuses, hiring leads, job summaries). The writes to be deliberate about are employee creation and time off requests; the meta lists and reports are read-only and safe to let an agent explore.

Does this work without an API key, like "Ask BambooHR" does?

BambooHR's own "Ask BambooHR" chat works without an API key because it lives inside BambooHR, and the engines list it as the no-key option. This integration is the external-agent route, and BambooHR's API is key-based, so a key exists somewhere in every external route. The differentiator is where the key lives: server-side here, versus a config file or environment variable in the routes the engines teach. If what you want is a bot inside BambooHR, the native chat exists; if you want your agent working across apps, this is the route that connects it to HR data without holding the key on your machine.

Is it safe to connect BambooHR, of all apps, to an AI agent?

HR data is the most sensitive surface in this product, and the market's safety answers are least-privilege, human-in-the-loop approval, no model training, and audit trails. The mechanics of this connection cover the credential half: the key is stored server-side, the tool table on this page is the complete set of operations the agent can invoke, and revocation is immediate. The behavioral half is yours: connect a BambooHR user with the minimum permissions the work needs, have the agent draft before it creates or changes anything, and prefer the report and meta tools, which are read-only, for exploratory questions.

Why does a tool fail with "Your Account Does Not Have Sufficient Permissions"?

That literal string is BambooHR's own error, and it means the connected BambooHR user lacks permission for the data the tool asked for. The taught causes: the connected user is not an admin of the account, the call targets the wrong account entirely, or the token was issued before a permission change and the grant is stale. The fixes in order: check which BambooHR user the connection acts as, reconnect from the dashboard after a permission change so the token is re-issued, and before all of that, check the arguments, since an invented employee id or report id returns the same permission-shaped error because BambooHR hides what the account cannot see.

Hermes paired but still can't use BambooHR

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.