BambooHR for AI agents

BambooHR is an HR platform for tracking employees, job openings, time off, benefits, and company files, used by HR teams to run people operations in one place. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

HR and recruitingOAuth 2.0MCP + RESTbamboohr.com
AUDIT LOG · BAMBOOHRPOLICY: acme-support
09:41:07 · claude · u_8f2read
bamboohr.list_builtin_reports
List Company Reports✓ allowed · 212ms
09:41:08 · claude · u_8f2read
bamboohr.get_report
Get Report✓ allowed · 164ms
09:41:09 · claude · u_8f2write
bamboohr.create_file_category
Create File Category✓ approved · approved by user
EVERY BAMBOOHR CALL, ON THE RECORD
01 · USE CASES

What agents do in BambooHR.

01

Look up an employee's record

Get an employee's profile, department, and job title before answering a manager's question about the org chart.

02

Log a new hire

Create an employee record and add their dependents once a new hire's paperwork has been signed off.

03

Route a time-off request

Create a time-off request on an employee's behalf, but route it for a manager's approval before it's marked approved.

02 · ACTIONS

42 BambooHR actions, graded by risk.

Every BambooHR action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

19

Look things up. Allowed by default.

  • bamboohr.get_report
    Get Report
  • bamboohr.get_employee
    Get Employee
  • bamboohr.get_hiring_leads
    Get Hiring Leads
  • bamboohr.get_all_employees
    Get All Employees
  • bamboohr.get_job_summaries
    Get Job Summaries
  • bamboohr.get_custom_reports
    Run Custom Report
  • bamboohr.get_employee_photo
    Get Employee Photo
  • bamboohr.get_meta_divisions
    Get Meta Divisions
  • bamboohr.get_meta_locations
    Get Meta Locations
  • bamboohr.get_meta_job_titles
    Get Meta Job Titles
  • bamboohr.get_meta_departments
    Get Departments Metadata
  • bamboohr.list_builtin_reports
    List Company Reports
  • bamboohr.get_time_off_balances
    Get Time-Off Balances
  • bamboohr.get_time_off_policies
    Get Time-Off Policies
  • bamboohr.get_time_off_requests
    Get Time-Off Requests
  • bamboohr.get_applicant_statuses
    Get Applicant Statuses
+ 3 MORE

write

23

Create and change things. Allow, or ask the user first.

  • bamboohr.update_employee
    Update Employee
  • bamboohr.create_file_category
    Create File Category
  • bamboohr.create_time_off_request
    Create Time Off Request
  • bamboohr.update_time_off_request
    Update Time Off Request
  • bamboohr.files_list
    List Company Files
  • bamboohr.files_upload
    Upload Company File
  • bamboohr.datasets_list
    List Datasets
  • bamboohr.meta_get_users
    Get Users
  • bamboohr.employee_create
    Create Employee
  • bamboohr.company_get_eins
    Get Company EINs
  • bamboohr.dependents_create
    Create Employee Dependent
  • bamboohr.dependents_get_all
    Get All Employee Dependents
  • bamboohr.meta_get_countries
    Get Country Options
  • bamboohr.ats_create_candidate
    Create Candidate Application
  • bamboohr.ats_get_applications
    List Job Applications
  • bamboohr.employee_get_changed
    Get Changed Employees
+ 7 MORE

destructive

0

Delete, cancel or archive. Ask first, or deny outright.

  • No destructive actions.
03 · HOW IT WORKS

BambooHR in three steps.

  1. 01Your users connect BambooHRThey sign in to BambooHR on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 02You set the rulesReads run, and writes like “create File Category” can wait for the user to approve.
  3. 03Any agent can actYour agent calls BambooHR through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('bamboohr', {
  read: 'allow',
  write: 'ask',        // create_file_category
  destructive: 'deny',  
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How BambooHR connects.

Users sign in to BambooHR on Arc0 Connect and approve the scopes you request. Build with Arc0’s BambooHR OAuth app, or bring your own so the BambooHR consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

The same BambooHR connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key · OAuth 2.0
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use BambooHR from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

BambooHR and Arc0, answered.

Q01

Can I use BambooHR with Claude, ChatGPT or Cursor?

Yes. Connect BambooHR to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the BambooHR actions you allow.

Q02

How do users connect BambooHR?

Users sign in to BambooHR on Arc0 Connect and approve the scopes you request. Build with Arc0’s BambooHR OAuth app, or bring your own so the BambooHR consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

Q03

Which BambooHR actions can my agent take?

42 in total: 19 read, 23 write and 0 destructive, such as “create File Category”. Your policies decide which of them each agent may call.

Q04

Can I make my agent read-only in BambooHR?

Yes. Allow read actions and deny writes in the BambooHR policy. Your agent can still look things up, and any write it attempts is blocked and logged.

Q05

Can my own backend call BambooHR too?

Yes. The same BambooHR connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug BambooHR into your agent.

Your users connect BambooHR once, under your brand. Your agent gets 42 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan