Bamboohr MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Bamboohr MCP or direct API to fetch employee records, manage PTO, onboard new hires, and update HR data through natural language.

Bamboohr logoBamboohr
Oauth2Api Key

BambooHR is a cloud-based HR management platform for small and mid-sized businesses. It streamlines employee data, HR workflows, and reporting in one easy interface.

42 Tools

Try Bamboohr now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Bamboohr
Try asking
TOOLS

Supported Tools

Every Bamboohr action and event your agent gets out of the box.

Create Candidate Application

Tool to create a candidate application.

Create Job Opening

Tool to create a new job opening in BambooHR ATS.

List Job Applications

Tool to list job applications with optional filters.

Get Benefit Coverages

Tool to retrieve standard benefit coverage options.

Get Member Benefit Events

Lists member benefit enrollment events for employees and their dependents over the past year, with optional offset and limit on returned members.

Get Company EINs

Tool to retrieve company Employer Identification Numbers (EINs).

Get Company Information

Tool to retrieve company information.

Create File Category

Tool to create new company file categories.

Create Time Off Request

Tool to submit a new time off request.

List Datasets

Lists available datasets via the BambooHR Datasets API, returning dataset names and labels for discovery before querying.

Create Employee Dependent

Tool to add a dependent to an employee.

Get All Employee Dependents

Tool to retrieve all employee dependents.

Create Employee

Tool to create a new employee record.

Create Employee File Category

Tool to create new employee file categories.

Get Changed Employees

Get employee IDs grouped by inserted, updated, or deleted changes since a given timestamp.

List Company Files

List company file categories and their files that the requesting user is permitted to see.

Upload Company File

Tool to upload a new company file.

Get All Employees

Retrieves all employees from the BambooHR employee directory including their basic information and status.

Get Applicant Statuses

Tool to retrieve applicant statuses.

Get Custom Employee Fields

Lists employee field definitions available in the account, including standard and custom fields.

Run Custom Report

Tool to run a custom report by ID or ad-hoc fields.

Get Employee

Tool to retrieve detailed information for a specific employee.

Get Employee Photo

Retrieve an employee's profile photo by ID and size, returning its content as Base64 with a filename and MIME type.

Get Hiring Leads

Tool to retrieve potential hiring leads (employees who can manage job openings) for use in creating a new job opening.

Get Job Summaries

Retrieve ATS job opening summaries, optionally filtered by status group and sorted.

Get Departments Metadata

Tool to list department metadata.

Get Meta Divisions

Tool to list all division metadata.

List Employment Status Metadata

Tool to list all employment status metadata.

Get Meta Job Titles

Tool to retrieve job title metadata.

Get Meta Locations

Tool to list location metadata.

Get Time-Off Types Metadata

Tool to list time-off type metadata.

Get Report

Tool to fetch a built-in or published report in JSON or other formats.

Get Time-Off Balances

Retrieve estimated time-off balances for specified employees as of an optional end date.

Get Time-Off Policies

List time-off policies, with accrual and rollover details when available.

Get Time-Off Requests

Tool to list time-off requests within a date range.

List Company Reports

Lists a page of saved custom reports available in the account.

Get Country Options

Retrieve BambooHR country options for use when updating or validating country fields.

Get List Field Details

Tool to get details for all list fields.

Get Tabular Fields Metadata

Tool to list tabular table fields metadata.

Get Users

List company users with basic information, including IDs, names, email addresses, and account status.

Update Employee

Tool to update fields on a specified employee record.

Update Time Off Request

Tool to update the status of an existing time-off request.

SETUP GUIDE

Connect Bamboohr MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["bamboohr"],
  mcp: true,
});
Create a session scoped to Bamboohr and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Add a dependent to employee 123 for health benefits",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a Bamboohr request
SETUP GUIDE

Connect Bamboohr API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["bamboohr"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Bamboohr
3

Run Bamboohr tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Add a dependent to employee 123 for health benefits" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the Bamboohr tool calls through the session, and print the final answer

Why Use Composio?

AI Native Bamboohr Integration

  • Supports both Bamboohr MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Bamboohr data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Bamboohr access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Bamboohr
  • Scoped, least privilege access to Bamboohr resources
  • Full audit trail of agent actions to support review and compliance

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

Start with Bamboohr.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Bamboohr tool your agent needs.Free to start.

Start building