KosmoKrator

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, configure, and verify
# 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.

KeyEnv varTypeRequiredLabel
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.

Generic CLI call
kosmo integrations:call bamboohr.bamboohr_list_employees '{}' --json
Provider shortcut
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.

Discovery commands
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 read
Parameters
none
Generic call
kosmo integrations:call bamboohr.bamboohr_list_employees '{}' --json
Shortcut
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 read
Parameters
employee_id, fields
Generic call
kosmo integrations:call bamboohr.bamboohr_get_employee '{"employee_id":1,"fields":"example_fields"}' --json
Shortcut
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 write
Parameters
first_name, last_name, work_email, job_title, department, hire_date, status, location, supervisor_id
Generic call
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
Shortcut
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 write
Parameters
employee_id, first_name, last_name, work_email, job_title, department, status, location, supervisor_id
Generic call
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
Shortcut
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 read
Parameters
none
Generic call
kosmo integrations:call bamboohr.bamboohr_list_departments '{}' --json
Shortcut
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 read
Parameters
start, end, status, employee_id, type_id
Generic call
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
Shortcut
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 read
Parameters
request_id
Generic call
kosmo integrations:call bamboohr.bamboohr_get_time_off_request '{"request_id":1}' --json
Shortcut
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 read
Parameters
fields, title
Generic call
kosmo integrations:call bamboohr.bamboohr_list_reports '{"fields":"example_fields","title":"example_title"}' --json
Shortcut
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 read
Parameters
none
Generic call
kosmo integrations:call bamboohr.bamboohr_get_current_user '{}' --json
Shortcut
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
Schema command
kosmo integrations:schema bamboohr.bamboohr_list_employees --json
ParameterTypeRequiredDescription
No parameters.
bamboohr.bamboohr_get_employee 2 parameters
Schema command
kosmo integrations:schema bamboohr.bamboohr_get_employee --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema bamboohr.bamboohr_create_employee --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema bamboohr.bamboohr_update_employee --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema bamboohr.bamboohr_list_departments --json
ParameterTypeRequiredDescription
No parameters.
bamboohr.bamboohr_list_time_off_requests 5 parameters
Schema command
kosmo integrations:schema bamboohr.bamboohr_list_time_off_requests --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema bamboohr.bamboohr_get_time_off_request --json
ParameterTypeRequiredDescription
request_id integer yes The BambooHR time-off request ID.
bamboohr.bamboohr_list_reports 2 parameters
Schema command
kosmo integrations:schema bamboohr.bamboohr_list_reports --json
ParameterTypeRequiredDescription
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
Schema command
kosmo integrations:schema bamboohr.bamboohr_get_current_user --json
ParameterTypeRequiredDescription
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.