productivity
BambooHR CLI for AI Agents
Use the BambooHR CLI from KosmoKrator to call BambooHR tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.BambooHR CLI Setup
BambooHR can be configured headlessly with `kosmokrator integrations:configure bamboohr`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure bamboohr --set api_key="$BAMBOOHR_API_KEY" --set subdomain="$BAMBOOHR_SUBDOMAIN" --enable --read allow --write ask --json
kosmokrator integrations:doctor bamboohr --json
kosmokrator integrations:status --json Credentials
Authentication type: API key api_key. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
api_key | BAMBOOHR_API_KEY | Secret secret | yes | API Key |
subdomain | BAMBOOHR_SUBDOMAIN | Text string | yes | Subdomain |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call bamboohr.bamboohr_list_employees '{}' --json kosmo integrations:bamboohr bamboohr_list_employees '{}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs bamboohr --json
kosmo integrations:docs bamboohr.bamboohr_list_employees --json
kosmo integrations:schema bamboohr.bamboohr_list_employees --json
kosmo integrations:search "BambooHR" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
bamboohr.bamboohr_list_employees
List employees from the BambooHR company directory. Returns employee names, job titles, departments, and other directory fields.
read - Parameters
- none
kosmo integrations:call bamboohr.bamboohr_list_employees '{}' --json kosmo integrations:bamboohr bamboohr_list_employees '{}' --json bamboohr.bamboohr_get_employee
Get detailed information for a specific BambooHR employee by ID. Optionally specify which fields to retrieve.
read - Parameters
- employee_id, fields
kosmo integrations:call bamboohr.bamboohr_get_employee '{"employee_id":1,"fields":"example_fields"}' --json kosmo integrations:bamboohr bamboohr_get_employee '{"employee_id":1,"fields":"example_fields"}' --json bamboohr.bamboohr_create_employee
Create a new employee in BambooHR. Provide employee data such as first name, last name, work email, job title, and department.
write - Parameters
- first_name, last_name, work_email, job_title, department, hire_date, status, location, supervisor_id
kosmo integrations:call bamboohr.bamboohr_create_employee '{"first_name":"example_first_name","last_name":"example_last_name","work_email":"example_work_email","job_title":"example_job_title","department":"example_department","hire_date":"example_hire_date","status":"example_status","location":"example_location"}' --json kosmo integrations:bamboohr bamboohr_create_employee '{"first_name":"example_first_name","last_name":"example_last_name","work_email":"example_work_email","job_title":"example_job_title","department":"example_department","hire_date":"example_hire_date","status":"example_status","location":"example_location"}' --json bamboohr.bamboohr_update_employee
Update an existing employee in BambooHR. Provide the employee ID and the fields to update.
write - Parameters
- employee_id, first_name, last_name, work_email, job_title, department, status, location, supervisor_id
kosmo integrations:call bamboohr.bamboohr_update_employee '{"employee_id":1,"first_name":"example_first_name","last_name":"example_last_name","work_email":"example_work_email","job_title":"example_job_title","department":"example_department","status":"example_status","location":"example_location"}' --json kosmo integrations:bamboohr bamboohr_update_employee '{"employee_id":1,"first_name":"example_first_name","last_name":"example_last_name","work_email":"example_work_email","job_title":"example_job_title","department":"example_department","status":"example_status","location":"example_location"}' --json bamboohr.bamboohr_list_departments
List all departments in the BambooHR company account.
read - Parameters
- none
kosmo integrations:call bamboohr.bamboohr_list_departments '{}' --json kosmo integrations:bamboohr bamboohr_list_departments '{}' --json bamboohr.bamboohr_list_time_off_requests
List time-off requests from BambooHR. Optionally filter by date range, status, or employee ID.
read - Parameters
- start, end, status, employee_id, type_id
kosmo integrations:call bamboohr.bamboohr_list_time_off_requests '{"start":"example_start","end":"example_end","status":"example_status","employee_id":1,"type_id":1}' --json kosmo integrations:bamboohr bamboohr_list_time_off_requests '{"start":"example_start","end":"example_end","status":"example_status","employee_id":1,"type_id":1}' --json bamboohr.bamboohr_get_time_off_request
Get detailed information for a specific BambooHR time-off request by its ID.
read - Parameters
- request_id
kosmo integrations:call bamboohr.bamboohr_get_time_off_request '{"request_id":1}' --json kosmo integrations:bamboohr bamboohr_get_time_off_request '{"request_id":1}' --json bamboohr.bamboohr_list_reports
Generate a custom report from BambooHR. Specify which employee fields to include in the report results.
read - Parameters
- fields, title
kosmo integrations:call bamboohr.bamboohr_list_reports '{"fields":"example_fields","title":"example_title"}' --json kosmo integrations:bamboohr bamboohr_list_reports '{"fields":"example_fields","title":"example_title"}' --json bamboohr.bamboohr_get_current_user
Get information about the currently authenticated BambooHR user.
read - Parameters
- none
kosmo integrations:call bamboohr.bamboohr_get_current_user '{}' --json kosmo integrations:bamboohr bamboohr_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
bamboohr.bamboohr_list_employees 0 parameters
kosmo integrations:schema bamboohr.bamboohr_list_employees --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bamboohr.bamboohr_get_employee 2 parameters
kosmo integrations:schema bamboohr.bamboohr_get_employee --json | Parameter | Type | Required | Description |
|---|---|---|---|
employee_id | integer | yes | The BambooHR employee ID. |
fields | array | no | List of fields to retrieve (e.g., ["firstName", "lastName", "jobTitle", "workEmail", "department", "hireDate", "status"]). If omitted, returns default fields. |
bamboohr.bamboohr_create_employee 9 parameters
kosmo integrations:schema bamboohr.bamboohr_create_employee --json | Parameter | Type | Required | Description |
|---|---|---|---|
first_name | string | yes | Employee first name. |
last_name | string | yes | Employee last name. |
work_email | string | no | Employee work email address. |
job_title | string | no | Job title. |
department | string | no | Department name. |
hire_date | string | no | Hire date (YYYY-MM-DD). |
status | string | no | Employment status (e.g., "Active", "Inactive"). |
location | string | no | Work location. |
supervisor_id | integer | no | Employee ID of the supervisor/manager. |
bamboohr.bamboohr_update_employee 9 parameters
kosmo integrations:schema bamboohr.bamboohr_update_employee --json | Parameter | Type | Required | Description |
|---|---|---|---|
employee_id | integer | yes | The BambooHR employee ID to update. |
first_name | string | no | Updated first name. |
last_name | string | no | Updated last name. |
work_email | string | no | Updated work email. |
job_title | string | no | Updated job title. |
department | string | no | Updated department. |
status | string | no | Updated employment status. |
location | string | no | Updated work location. |
supervisor_id | integer | no | Updated supervisor employee ID. |
bamboohr.bamboohr_list_departments 0 parameters
kosmo integrations:schema bamboohr.bamboohr_list_departments --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
bamboohr.bamboohr_list_time_off_requests 5 parameters
kosmo integrations:schema bamboohr.bamboohr_list_time_off_requests --json | Parameter | Type | Required | Description |
|---|---|---|---|
start | string | no | Start date for filtering requests (YYYY-MM-DD). |
end | string | no | End date for filtering requests (YYYY-MM-DD). |
status | string | no | Filter by status (e.g., "approved", "pending", "denied"). |
employee_id | integer | no | Filter by employee ID. |
type_id | integer | no | Filter by time-off type ID. |
bamboohr.bamboohr_get_time_off_request 1 parameters
kosmo integrations:schema bamboohr.bamboohr_get_time_off_request --json | Parameter | Type | Required | Description |
|---|---|---|---|
request_id | integer | yes | The BambooHR time-off request ID. |
bamboohr.bamboohr_list_reports 2 parameters
kosmo integrations:schema bamboohr.bamboohr_list_reports --json | Parameter | Type | Required | Description |
|---|---|---|---|
fields | array | yes | List of employee fields to include in the report (e.g., ["firstName", "lastName", "jobTitle", "department", "workEmail", "hireDate", "status"]). |
title | string | no | Optional title for the custom report. |
bamboohr.bamboohr_get_current_user 0 parameters
kosmo integrations:schema bamboohr.bamboohr_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.