# BambooHR

BambooHR is a cloud-based human resources management system (HRMS) that helps businesses manage their employees, payroll, and benefits.

- **Category:** human resources
- **Auth:** OAUTH2, API_KEY
- **Composio Managed App Available?** No
- **Tools:** 41
- **Triggers:** 0
- **Slug:** `BAMBOOHR`
- **Version:** 20260313_00

## Tools

### Create Candidate Application

**Slug:** `BAMBOOHR_ATS_CREATE_CANDIDATE`

Tool to create a candidate application. Use when adding a new applicant to a specific job opening in BambooHR ATS.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `zip` | string | No | Postal code |
| `city` | string | No | City of residence |
| `email` | string | No | Candidate's email address |
| `jobId` | integer | Yes | ID of the job opening to apply for |
| `state` | string | No | State or province of residence |
| `resume` | object | No | Resume file. |
| `source` | string | No | Source of the application, e.g., 'LinkedIn' |
| `address` | string | No | Candidate's street address |
| `country` | string | No | Country code (ISO 2-letter format) |
| `lastName` | string | Yes | Candidate's last name |
| `firstName` | string | Yes | Candidate's first name |
| `references` | string | No | References information |
| `referredBy` | string | No | Person who referred the candidate |
| `websiteUrl` | string | No | Candidate's personal website URL |
| `collegeName` | string | No | Name of the college or university attended |
| `coverLetter` | object | No | Cover letter file. |
| `linkedinUrl` | string | No | LinkedIn profile URL |
| `phoneNumber` | string | No | Candidate's phone number |
| `dateAvailable` | string | No | Date candidate is available to start (YYYY-MM-DD) |
| `desiredSalary` | string | No | Desired salary (text) |
| `highestEducation` | string | No | Highest level of education achieved |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Job Opening

**Slug:** `BAMBOOHR_ATS_CREATE_JOB_OPENING`

Tool to create a new job opening in BambooHR ATS. Use when you need to open a new job for applicants.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `jobStatus` | string ("Draft" | "Open") | Yes | Status of the job opening. |
| `department` | string | No | Department name for the job opening. |
| `hiringLead` | integer | Yes | Employee ID of the hiring lead. Use BAMBOOHR_GET_HIRING_LEADS to get valid IDs. |
| `jobLocation` | integer | No | Location ID. Use BAMBOOHR_GET_META_LOCATIONS to get valid IDs. |
| `compensation` | string | No | Compensation range as text. |
| `postingTitle` | string | Yes | Title of the job opening. |
| `employmentType` | string | Yes | Employment type. Valid values depend on company configuration, common values: 'Full-Time', 'Part-Time', 'Contractor', 'Intern'. Use BAMBOOHR_GET_META_EMPLOYMENT_STATUSES to get valid values. |
| `jobDescription` | string | Yes | Full job description text. |
| `internalJobCode` | string | No | Internal job code reference for tracking purposes. |
| `minimumExperience` | string ("Entry-level" | "Mid-level" | "Experienced" | "Manager/Supervisor" | "Senior Manager/Supervisor" | "Executive" | "Senior Executive") | No | Minimum experience level. |
| `applicationQuestionResume` | string ("true" | "false" | "required") | No | Resume question requirement: true (optional), false (hidden), required. |
| `applicationQuestionAddress` | string ("true" | "false" | "required") | No | Address question requirement: true (optional), false (hidden), required. |
| `applicationQuestionCollege` | string ("true" | "false" | "required") | No | College question requirement: true (optional), false (hidden), required. |
| `applicationQuestionReferences` | string ("true" | "false" | "required") | No | References question requirement: true (optional), false (hidden), required. |
| `applicationQuestionReferredBy` | string ("true" | "false" | "required") | No | Referred by question requirement: true (optional), false (hidden), required. |
| `applicationQuestionWebsiteUrl` | string ("true" | "false" | "required") | No | Website URL question requirement: true (optional), false (hidden), required. |
| `applicationQuestionCoverLetter` | string ("true" | "false" | "required") | No | Cover letter question requirement: true (optional), false (hidden), required. |
| `applicationQuestionLinkedinUrl` | string ("true" | "false" | "required") | No | LinkedIn URL question requirement: true (optional), false (hidden), required. |
| `applicationQuestionDateAvailable` | string ("true" | "false" | "required") | No | Date available question requirement: true (optional), false (hidden), required. |
| `applicationQuestionDesiredSalary` | string ("true" | "false" | "required") | No | Desired salary question requirement: true (optional), false (hidden), required. |
| `applicationQuestionHighestEducation` | string ("true" | "false" | "required") | No | Highest education question requirement: true (optional), false (hidden), required. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Job Applications

**Slug:** `BAMBOOHR_ATS_GET_APPLICATIONS`

Tool to list job applications with optional filters. Use when retrieving ATS applications for reporting or integration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-indexed). |
| `jobId` | integer | No | Filter by job ID. |
| `jobStatusGroups` | string | No | Filter by job status groups: 'ALL', 'DRAFT_AND_OPEN', 'Open', 'Filled', 'Draft', 'Deleted', 'On Hold', or 'Canceled'. |
| `applicationStatus` | string | No | Filter by application status name, e.g., 'New', 'Active', 'Inactive', 'Hired'. |
| `applicationStatusId` | integer | No | Filter by application status ID (e.g., 1 for 'New', 2 for 'Reviewed'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Benefit Coverages

**Slug:** `BAMBOOHR_BENEFIT_GET_COVERAGES`

Tool to retrieve standard benefit coverage options. Use when you need to fetch all or specific coverages before configuring benefit plans.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `coverage_id` | string | No | ID of the benefit coverage to retrieve. If omitted, the API returns all available benefit coverages. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Member Benefit Events

**Slug:** `BAMBOOHR_BENEFIT_GET_MEMBER_EVENTS`

Tool to list member benefit events. Use when you need to fetch all benefit events visible to the authenticated user.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Company EINs

**Slug:** `BAMBOOHR_COMPANY_GET_EINS`

Tool to retrieve company Employer Identification Numbers (EINs). Use when you need to fetch your account's EINs after authenticating.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Company Information

**Slug:** `BAMBOOHR_COMPANY_GET_INFORMATION`

Tool to retrieve company information. Use when you need details about the current account's settings.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create File Category

**Slug:** `BAMBOOHR_CREATE_FILE_CATEGORY`

Tool to create new company file categories. Use when organizing company files by adding new categories after confirming desired names.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `categories` | array | Yes | A non-empty list of new company file category names. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Time Off Request

**Slug:** `BAMBOOHR_CREATE_TIME_OFF_REQUEST`

Tool to submit a new time off request. Use after confirming employee ID and valid payload.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | string | Yes | End date of the time off (YYYY-MM-DD). |
| `dates` | array | No | Optional list of date entries; each should have 'ymd' and 'amount' keys. |
| `notes` | array | No | Optional list of note objects to attach; each should have 'from' and 'note' keys. |
| `start` | string | Yes | Start date of the time off (YYYY-MM-DD). |
| `amount` | number | No | Total amount for the request (hours or days). If omitted, BambooHR calculates from dates. |
| `status` | string ("requested" | "approved" | "declined") | Yes | Status of the time off request; usually 'requested'. |
| `employeeId` | string | Yes | BambooHR numeric ID of the employee for whom to create the request. |
| `timeOffTypeId` | integer | Yes | ID of the time off policy/type to use. |
| `previousRequest` | integer | No | ID of a previous request to reference or adjust. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Datasets

**Slug:** `BAMBOOHR_DATASETS_LIST`

Tool to list available datasets via the Datasets API. Use when you need to discover available dataset schemas before querying data.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Employee Dependent

**Slug:** `BAMBOOHR_DEPENDENTS_CREATE`

Tool to add a dependent to an employee. Use when a new dependent needs to be recorded for benefits or HR tracking. Ensure the employee record exists before calling this tool.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ssn` | string | No | Dependent's Social Security Number (unmasked) |
| `city` | string | No | Dependent's city |
| `state` | string | No | Dependent's state code (2-character) |
| `gender` | string ("male" | "female") | No | Dependent's gender |
| `country` | string | No | Dependent's country code (2-character ISO) |
| `zipCode` | string | No | Dependent's ZIP or postal code |
| `lastName` | string | Yes | Dependent's last name |
| `firstName` | string | Yes | Dependent's first name |
| `homePhone` | string | No | Dependent's home phone number |
| `isStudent` | string ("true" | "false") | No | Dependent's student status flag; string value 'true' or 'false' |
| `employeeId` | integer | Yes | BambooHR employee ID to which the dependent will be added |
| `middleName` | string | No | Dependent's middle name |
| `dateOfBirth` | string | Yes | Dependent's date of birth in YYYY-MM-DD format |
| `isUsCitizen` | string ("true" | "false") | No | Dependent's US citizenship flag; string value 'true' or 'false' |
| `addressLine1` | string | No | Dependent's address line 1 |
| `addressLine2` | string | No | Dependent's address line 2 |
| `relationship` | string ("spouse" | "child" | "domestic partner" | "step child" | "foster child") | No | Relationship to the employee; one of spouse, child, domestic partner, step child, foster child |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Employee Dependents

**Slug:** `BAMBOOHR_DEPENDENTS_GET_ALL`

Tool to retrieve all employee dependents. Use after ensuring your API key has access to benefit settings.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Employee

**Slug:** `BAMBOOHR_EMPLOYEE_CREATE`

Tool to create a new employee record. Use when adding employees via BambooHR API. Returns the new employee's ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lastName` | string | Yes | Employee's last name. |
| `firstName` | string | Yes | Employee's first name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Employee File Category

**Slug:** `BAMBOOHR_EMPLOYEE_FILES_CREATE_CATEGORY`

Tool to create new employee file categories. Use when organizing employee files by adding new categories after confirming desired names.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `categories` | array | Yes | A non-empty list of new employee file category names. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Changed Employees

**Slug:** `BAMBOOHR_EMPLOYEE_GET_CHANGED`

Tool to get employees inserted, updated, or deleted since a given timestamp. Use when fetching incremental HR changes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `since` | string | Yes | Retrieve changes since this timestamp (ISO 8601 format, UTC). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Company Files

**Slug:** `BAMBOOHR_FILES_LIST`

Tool to list company file categories and their files. Use when you need to retrieve all company files organized by category after confirming file inventory exists.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Company File

**Slug:** `BAMBOOHR_FILES_UPLOAD`

Tool to upload a new company file. Use when you need to add a file to BambooHR after confirming its category and share settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | No | File to upload. |
| `share` | string ("yes" | "no") | Yes | Whether to make the file available to employees (yes or no). |
| `category` | string | Yes | Category ID to place the new file in. |
| `fileName` | string | Yes | File name to associate with the uploaded file. |
| `rawContent` | string | No | Inline file content to upload as bytes or UTF-8 string, used when FileUploadable is not available. |
| `rawMimetype` | string | No | MIME type for the inline content (e.g., 'text/plain', 'application/pdf'). Defaults to application/octet-stream. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Employees

**Slug:** `BAMBOOHR_GET_ALL_EMPLOYEES`

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

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Applicant Statuses

**Slug:** `BAMBOOHR_GET_APPLICANT_STATUSES`

Tool to retrieve applicant statuses. Use when you need to list ATS statuses for your company; requires ATS settings access.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Custom Employee Fields

**Slug:** `BAMBOOHR_GET_CUSTOM_EMPLOYEE_FIELDS`

Tool to fetch custom employee field values. Use when you need to retrieve only custom fields for all employees.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Run Custom Report

**Slug:** `BAMBOOHR_GET_CUSTOM_REPORTS`

Tool to run a custom report by ID or ad-hoc fields. Use when you need to execute a saved report or generate an ad-hoc report and retrieve its results in JSON or file format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Optional title for the generated report. |
| `fields` | array | No | List of field keys or aliases to include for an ad-hoc report. |
| `format` | string ("CSV" | "PDF" | "XLS" | "XML" | "JSON") | No | Output format of the report; JSON returns parsed content, others return a file. |
| `reportId` | string | No | ID of a saved custom report to execute. |
| `onlyCurrent` | boolean | No | Whether to include only current employees (true) or all employees (false). |
| `filters_last_changed_value` | string | No | ISO8601 datetime to include employees changed since this timestamp. |
| `filters_last_changed_include_null` | string ("yes" | "no") | No | Set to 'no' to exclude employees with null lastChanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Employee

**Slug:** `BAMBOOHR_GET_EMPLOYEE`

Tool to retrieve detailed information for a specific employee. Use when you need individual employee data by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | array | No | Optional list of field keys to include in the response. If omitted, returns default set of fields. |
| `employeeId` | string | Yes | The ID of the employee to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Employee Photo

**Slug:** `BAMBOOHR_GET_EMPLOYEE_PHOTO`

Tool to retrieve an employee's profile photo by size. Use when you need to download the image binary for the specified employee after confirming their ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | string ("original" | "large" | "medium" | "small" | "xs" | "tiny") | Yes | Size of the employee photo to retrieve |
| `employee_id` | string | Yes | BambooHR employee ID whose photo is to be fetched |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Hiring Leads

**Slug:** `BAMBOOHR_GET_HIRING_LEADS`

Tool to retrieve potential hiring leads (employees who can manage job openings) for use in creating a new job opening. The API key owner must have access to ATS settings.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Job Summaries

**Slug:** `BAMBOOHR_GET_JOB_SUMMARIES`

Tool to retrieve a list of ATS job summaries. Use when you need an overview of all job postings and their key details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sortBy` | string ("created" | "status" | "title") | No | Field to sort by. Possible values: created, status, title |
| `sortOrder` | string ("ASC" | "DESC") | No | Sort order, either ASC or DESC |
| `statusGroups` | string ("ALL" | "DRAFT_AND_OPEN" | "DRAFT" | "OPEN" | "CLOSED") | No | Filter jobs by status group. Possible values: ALL, DRAFT_AND_OPEN, DRAFT, OPEN, CLOSED |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Departments Metadata

**Slug:** `BAMBOOHR_GET_META_DEPARTMENTS`

Tool to list department metadata. Use after needing all available department codes and names.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return (non-negative) |
| `offset` | integer | No | Number of results to skip before returning items (non-negative) |
| `name_contains` | string | No | Case-insensitive substring that the department name must contain |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Meta Divisions

**Slug:** `BAMBOOHR_GET_META_DIVISIONS`

Tool to list all division metadata. Use after authenticating to fetch the account's divisions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return (non-negative) |
| `offset` | integer | No | Number of results to skip before returning items (non-negative) |
| `name_contains` | string | No | Case-insensitive substring that the division name must contain |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Employment Status Metadata

**Slug:** `BAMBOOHR_GET_META_EMPLOYMENT_STATUSES`

Tool to list all employment status metadata. Use when you need all defined employment statuses for the company.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Meta Job Titles

**Slug:** `BAMBOOHR_GET_META_JOB_TITLES`

Tool to retrieve job title metadata. Uses the list-field metadata endpoint and extracts the options for the `jobTitle` field.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return (non-negative) |
| `offset` | integer | No | Number of results to skip before returning items (non-negative) |
| `name_contains` | string | No | Case-insensitive substring that the job title name must contain |
| `include_archived` | boolean | No | When false, exclude archived job titles from results |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Meta Locations

**Slug:** `BAMBOOHR_GET_META_LOCATIONS`

Tool to list location metadata. Use when you need all configured company locations for lookups.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return (non-negative) |
| `offset` | integer | No | Number of results to skip before returning items (non-negative) |
| `name_contains` | string | No | Case-insensitive substring that the location name must contain |
| `include_archived` | boolean | No | When false, exclude archived locations from results |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Time-Off Types Metadata

**Slug:** `BAMBOOHR_GET_META_TIME_OFF_TYPES`

Tool to list time-off type metadata. Use when you need to discover available time-off types before creating time-off requests.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Report

**Slug:** `BAMBOOHR_GET_REPORT`

Tool to fetch a built-in or published report in JSON or other formats. Use when you need to retrieve report data or download report files after specifying the report ID and desired output format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fd` | string ("yes" | "no") | No | Apply duplicate field filtering: 'yes' or 'no' |
| `format` | string ("CSV" | "PDF" | "XLS" | "XML" | "JSON") | No | Output format of the report |
| `report_id` | string | Yes | ID of the report to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Time-Off Balances

**Slug:** `BAMBOOHR_GET_TIME_OFF_BALANCES`

Tool to retrieve time-off balances for employees. Use when you need current balances across your team.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_date` | string | No | End date (YYYY-MM-DD) to estimate balances as of. |
| `employee_ids` | array | No | Optional list of employee IDs to filter balances for. |
| `max_employees` | integer | No | Maximum number of employees to fetch balances for. Limits API calls to avoid timeouts. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Time-Off Requests

**Slug:** `BAMBOOHR_GET_TIME_OFF_REQUESTS`

Tool to list time-off requests within a date range. Use after confirming start and end dates; supports optional filters for status, employee, and time off type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Limit results to a specific request ID |
| `end` | string | Yes | Only show time off on or before this date, format YYYY-MM-DD |
| `type` | string | No | Comma-separated list of time off type IDs to include |
| `start` | string | Yes | Only show time off on or after this date, format YYYY-MM-DD |
| `action` | string ("view" | "approve") | No | Filter by access level; legal values: view, approve |
| `status` | string | No | Comma-separated list of request statuses; legal values: approved, denied, superseded, requested, canceled |
| `employeeId` | string | No | Limit results to a specific employee ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Company Reports

**Slug:** `BAMBOOHR_LIST_BUILTIN_REPORTS`

Tool to list all available company and custom reports. Use after confirming account setup. Requires 'report' scope for OAuth or an API key with report access permissions.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Country Options

**Slug:** `BAMBOOHR_META_GET_COUNTRIES`

Tool to retrieve all available country options. Use when you need a complete list of selectable countries before updating or validating country fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return (non-negative) |
| `offset` | integer | No | Number of results to skip before returning items (non-negative) |
| `name_contains` | string | No | Case-insensitive substring that the country name must contain |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get List Field Details

**Slug:** `BAMBOOHR_META_GET_LIST_FIELD_DETAILS`

Tool to get details for all list fields. Use when you need to discover list field options before using them.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Tabular Fields Metadata

**Slug:** `BAMBOOHR_META_GET_TABULAR_FIELDS`

Tool to list tabular table fields metadata. Use when you need standard table structures before accessing table rows.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Users

**Slug:** `BAMBOOHR_META_GET_USERS`

Tool to list active users with basic info. Use when you need to retrieve current users' IDs, names, and emails.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Employee

**Slug:** `BAMBOOHR_UPDATE_EMPLOYEE`

Tool to update fields on a specified employee record. Use when you need to modify employee properties via BambooHR API after confirming the target employee ID. Example: "Update employee 12345's department to Sales".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | object | Yes | Key/value pairs of employee fields to update, using BambooHR API field names. |
| `employee_id` | string | Yes | The BambooHR employee ID to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Time Off Request

**Slug:** `BAMBOOHR_UPDATE_TIME_OFF_REQUEST`

Tool to update the status of an existing time-off request. Use when you need to approve, deny, or cancel a request after reviewing it. Example: "Approve time-off request 12345".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note` | string | No | Optional note to include with the status change |
| `status` | string ("approved" | "denied" | "canceled") | Yes | New status for the time-off request |
| `request_id` | string | Yes | ID of the time-off request to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
