# BambooHR MCP for AI Agents | FlyMy.AI

> BambooHR MCP for Claude, Codex and Cursor through FlyMy.AI. BambooHR HRIS: employee records and directory, files and photos, time off requests and balances...

Page: https://flymy.ai/mcp/bamboohr/

MCP / HR and education

# BambooHR MCP

BambooHR HRIS: employee records and directory, files and photos, time off requests and balances, company reports and fields. Connect it to Claude, Codex, Cursor or any MCP client through one FlyMy.AI MCP.

[Connect BambooHR](https://flymy.ai/mcp/bamboohr/#connect) [What it can do](https://flymy.ai/mcp/bamboohr/#actions)

Your own API key, 48 actions, HR and education

Ask your agent

```
Read the time-off types configured in my connected BambooHR company and show up to 10 names and IDs.
```

Paste it into an assistant connected to FlyMy.AI. The agent picks the actions.

## What BambooHR MCP can do

48 actions in the FlyMy.AI catalog, the most used first. Your agent finds them through search_tools and calls the one the task needs.

| Action | What it does |
|---|---|
| `bamboohr_add_company_file_category` | Create a company file category WRITE action |
| `bamboohr_add_employee` | Add a new employee |
| `bamboohr_add_employee_file_category` | Create an employee file category WRITE action |
| `bamboohr_add_table_row` | Add a row to a tabular table. Use table 'employmentStatus' with a 'terminationDate'/status to off-board, or 'jobInfo'/'compensation' to record a change. |
| `bamboohr_add_time_off_history` | Create a time-off history item for an employee with {timeOffRequestId, date, amount, eventType}. |
| `bamboohr_add_time_off_request` | Create a time-off request for an employee Needs start, end, timeOffTypeId, amount; status defaults to 'requested'. |
| `bamboohr_adjust_time_off_balance` | Adjust an employee's time-off balance with {timeOffTypeId, date, amount (signed), note}. |
| `bamboohr_change_time_off_status` | Approve/deny/cancel a time-off request with {status, note}. |
| `bamboohr_create_webhook` | Create a webhook subscription Needs name, monitorFields (field names to watch), postFields (field -> payload key map), url. |
| `bamboohr_custom_report` | Run an ad-hoc custom report with {title, fields (<=400), filters, onlyCurrent}. |
| `bamboohr_delete_employee_file` | Delete an employee file WRITE action |
| `bamboohr_delete_table_row` | Delete a tabular row WRITE action |

**Show all 48 actions**

| Action | What it does |
|---|---|
| `bamboohr_delete_webhook` | Delete a webhook subscription WRITE action |
| `bamboohr_get_company_file` | Get a company file's metadata/content |
| `bamboohr_get_dataset_data` | Get rows from a dataset (v2) with {fields, filter, orderBy, page, pageSize}. |
| `bamboohr_get_dataset_fields` | Discover the fields available in a dataset (v1.2). |
| `bamboohr_get_directory` | Get the employee directory. Returns the company roster with basic fields (name, job title, department, photo url). |
| `bamboohr_get_employee` | Get one employee Pass fields (comma list of field names, discover via bamboohr_list_fields) to choose what to return; use id '0' for the API-key owner. |
| `bamboohr_get_employee_file` | Get an employee file's metadata/content |
| `bamboohr_get_employee_photo` | Get an employee photo size is one of original, large, medium, small, xs, tiny. |
| `bamboohr_get_field_options` | Get the allowed option values for one or more list-type dataset fields with {fields: [...]}. |
| `bamboohr_get_report` | Get a saved company report by id |
| `bamboohr_get_table_rows` | Get all rows of a tabular table for an employee Common tables: jobInfo, compensation, employmentStatus, customAddress. |
| `bamboohr_get_webhook` | Get one webhook subscription |
| `bamboohr_list_company_files` | List company files and categories |
| `bamboohr_list_datasets` | List available datasets (Workforce Analytics) (v1). |
| `bamboohr_list_employee_files` | List an employee's files and file categories |
| `bamboohr_list_employees` | List employees via the built-in employee report style is preferred, but this uses the simple list of all employees with chosen fields (comma list). |
| `bamboohr_list_employees_bulk` | List employees via the first-class endpoint Cursor-paginated, supports field selection (fields=comma list), batch lookup by ids (filter[ids]), sort and page[limit]/page[after]. |
| `bamboohr_list_fields` | List all employee fields. Returns field id, name, type, alias. |
| `bamboohr_list_list_fields` | List the option sets for list-type fields. |
| `bamboohr_list_reports` | List saved custom reports. Returns a paginated list of saved reports with their ids and names so you can discover report ids to pass to bamboohr_get_report. |
| `bamboohr_list_tabular_fields` | List tabular (table) fields. Returns the available table names (jobInfo, compensation, employmentStatus,...) and their columns. |
| `bamboohr_list_time_off_policies` | List time-off policies |
| `bamboohr_list_time_off_requests` | List time-off requests Filter by start/end (YYYY-MM-DD), employeeId, status (approved,denied,requested,...), type. |
| `bamboohr_list_time_off_types` | List time-off types |
| `bamboohr_list_users` | List BambooHR users (accounts with login access) |
| `bamboohr_list_webhooks` | List webhook subscriptions |
| `bamboohr_time_off_balances` | Estimate an employee's future time-off balances |
| `bamboohr_update_employee` | Update an employee Pass `fields` as a map of field name/alias -> new value. |
| `bamboohr_update_employee_file` | Update an employee file's name/category/visibility WRITE action |
| `bamboohr_update_table_row` | Update a tabular row WRITE action |
| `bamboohr_update_webhook` | Update a webhook subscription Pass only the fields to change. |
| `bamboohr_upload_company_file` | Upload a company file (multipart). Needs fileName, category id and content_base64 (base64 bytes, under 20MB); optional share (yes/no) to share with all employees. |
| `bamboohr_upload_employee_file` | Upload a file to an employee's file section (multipart). |
| `bamboohr_upload_employee_photo` | Set/replace an employee's profile photo (multipart). |
| `bamboohr_webhook_monitor_fields` | List the fields available to monitor in webhooks |
| `bamboohr_whos_out` | Who is out of office |

## Ask your agent

Requests to paste as they are. Each one runs on the actions named under it.

**“Read the time-off types configured in my connected BambooHR company and show up to 10 names and IDs.”** uses `bamboohr_list_time_off_types`

**“Read the BambooHR time-off policy list and show up to 10 policy names and IDs.”** uses `bamboohr_list_time_off_policies`

**“List up to 10 saved BambooHR custom reports with their names and IDs.”** uses `bamboohr_list_reports`

## Connect BambooHR in a minute

One MCP for every integration. Add it once, then every MCP in the catalog is a request away.

1. 01 ### Add FlyMy.AI Add the FlyMy.AI MCP to your assistant with one of the commands below and sign in. No key to copy.
2. 02 ### Add your BambooHR credentials Paste them into the BambooHR [connection settings](https://app.flymy.ai/mcp-configs#bamboohr) once; they stay with FlyMy.AI, never in a prompt or a chat.
  - **Bamboohr api key** - From BambooHR - see docs. [Get credentials ->](https://www.bamboohr.com)
  - **Bamboohr subdomain** - From BambooHR - see docs. [Get credentials ->](https://www.bamboohr.com)
3. 03 ### Ask Paste a request from this page. Every run shows what it cost.

Claude Code

```
claude mcp add --transport http flymyai https://mcp-agents.flymy.ai/mcp
```

Then run /mcp in Claude Code and sign in.

Codex

```
codex mcp add flymy --url https://mcp-agents.flymy.ai/mcp
```

Then run codex mcp login flymy to sign in.

claude.ai and Claude Desktop

```
https://mcp-agents.flymy.ai/mcp
```

Settings, Connectors, Add custom connector: paste this URL.

## Pay per run

FlyMy.AI bills the run: the model and the tool's seconds. Calls go to your own BambooHR account, under its plan and limits. No seats and no minimum.

[See usage pricing →](https://flymy.ai/pricing/)

## More HR and education MCPs

People, hiring, payroll and learning.

### Accredible certificates

Accredible Certificates is a platform that enables organizations to create, manage, and distribute digital certificates, open badges, and blockchain credentials

14 actions / your API key

Link: https://docs.flymy.ai/mcp/apps/accredible_certificates

### Ashby

Ashby applicant tracking: candidates, applications, interviews and schedules, offers, job postings, notes, tags and feedback

58 actions / your API key

Link: https://flymy.ai/mcp/ashby/

### Async Interview

Async Interview is an on-demand video interview platform that streamlines the hiring process by allowing candidates to respond to pre-recorded questions at...

3 actions / your API key

Link: https://docs.flymy.ai/mcp/apps/async_interview

### Blackboard

Anthology Adopt powered by Pendo allows institutions to gain insights on Blackboard Learn usage and take action through in-app messages, digital walkthrough...

314 actions / sign in

Link: https://docs.flymy.ai/mcp/apps/blackboard

### Canvas

Canvas is a learning management system supporting online courses, assignments, grading, and collaboration, widely used by schools and universities for...

87 actions / sign in

Link: https://docs.flymy.ai/mcp/apps/canvas

### Classmarker

ClassMarker is a professional, flexible, and easy-to-use online quiz maker for business and education, offering customizable exams, instant grading, and...

32 actions / your API key

Link: https://docs.flymy.ai/mcp/apps/classmarker

## Go to the source

[BambooHR in the docs →](https://docs.flymy.ai/mcp/bamboohr), [BambooHR connection settings →](https://app.flymy.ai/mcp-configs#bamboohr), [Every MCP in the catalog →](https://flymy.ai/mcp/#catalog), [Usage pricing →](https://flymy.ai/pricing/)

From the FlyMy.AI platform catalog of 2026-10-31: name, description, actions and setup as the platform lists them. Examples are requests to paste, not recorded runs.

---

For agents: the FlyMyAI operating guide (sign up, connect, run models, tools and agents) is https://flymy.ai/skill.md, and https://flymy.ai/llms.txt lists the other pages and the documentation.
