View as Markdown

BambooHR Integration

Manage BambooHR get company report, list employees, get employee, update employee, list time off requests

The BambooHR integration provides access to manage BambooHR get company report, list employees, get employee, update employee, list time off requests through the Integrate MCP server.

Installation

The BambooHR integration is included with the SDK:

import { bamboohrIntegration } from "integrate-sdk/server";

Setup

1. Create a BambooHR OAuth App

  1. Create an OAuth application for BambooHR
  2. Configure your redirect URI
  3. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the BambooHR integration to your server configuration. The integration automatically reads BAMBOOHR_CLIENT_ID and BAMBOOHR_CLIENT_SECRET from your environment variables:

import { createMCPServer, bamboohrIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    bamboohrIntegration({
      scopes: ["employee.read", "employee.write", "time_off.read", "time_off.write"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

bamboohrIntegration({
  clientId: process.env.CUSTOM_BAMBOOHR_ID,
  clientSecret: process.env.CUSTOM_BAMBOOHR_SECRET,
      scopes: ["employee.read", "employee.write", "time_off.read", "time_off.write"], // Optional
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("bamboohr");
const result = await client.bamboohr.getCompanyReport({
  report_json: "value",
});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, bamboohrIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [bamboohrIntegration()],
});

Configuration Options

export interface BamboohrIntegrationConfig {
  clientId?: string;

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • employee.read
  • employee.write
  • time_off.read
  • time_off.write

Tools

bamboohr_get_company_report

Get company report

export interface BamboohrGetCompanyReportParams { report_json: string;

bamboohr_list_employees

List employees

export interface BamboohrListEmployeesParams { company_domain: string }

bamboohr_get_employee

Get employee

export interface BamboohrGetEmployeeParams { employee_id: string;

bamboohr_update_employee

Update employee

export interface BamboohrUpdateEmployeeParams { employee_id: string;

bamboohr_list_time_off_requests

List time off requests

export interface BamboohrListTimeOffRequestsParams { "start"?: string;

bamboohr_create_time_off_request

Create time off request

export interface BamboohrCreateTimeOffRequestParams { employee_id: string;

Notes

  • Category: HR & Recruiting
  • Authentication mode: OAuth