get_account_metadata
Retrieve company-level metadata including list values (e.g., departments, locations, divisions), table definitions, and user accounts. Useful for discovering valid values for fields and understanding the data model.
create_employee
Create a new employee record in BambooHR. At minimum, first name and last name are required. You can include additional fields like email, job title, department, hire date, and any other standard or custom fields.
get_time_off_balances
Retrieve time off balance information for an employee, showing available balances across all time off categories. Also returns assigned time off policies.
get_job_listings
Retrieve all job listings from BambooHR's applicant tracking system. Returns job summaries including titles, statuses, departments, and locations.
create_goal
Create a new goal for an employee. Specify a title and optionally a description, due date, initial progress, alignment, and sharing with other employees.
update_goal
Update an existing goal. Can change title, description, progress, due date, sharing, or close/reopen the goal. To close or reopen a goal, use the **action** field.
add_application_comment
Add a comment to a job application. Useful for leaving notes during the recruitment review process.
get_employee_training_records
Retrieve training records for a specific employee. Optionally filter by training type. Returns completion dates, instructors, hours, credits, and notes.
get_application_details
Retrieve detailed information about a specific job application, including the applicant's name, contact information, resume, answers to screening questions, and current status.
get_company_report
Retrieve a pre-defined company report by its ID. Company reports are configured in BambooHR by administrators and can be retrieved in JSON, CSV, PDF, or XML formats.
get_employee_directory
Retrieve the full company employee directory, including all employees' names, contact information, job titles, departments, and other directory fields. Useful for getting an overview of the entire organization.
get_goals
Retrieve goals for a specific employee. Optionally filter by status. Returns goal details including title, description, progress, due date, and sharing information.
add_goal_comment
Add a comment to an existing employee goal. Useful for providing feedback, status updates, or discussion on goal progress.
delete_table_row
Delete a specific row from an employee's table data. Requires the employee ID, table name, and row ID.
delete_file
Delete a file from an employee's file folder or the company file folder. Requires the file ID and optionally the employee ID (for employee files).
upload_file
Upload a file to an employee's file folder or the company file folder. Requires a category ID, file name, and the file content as a string. Specify an employee ID for employee files, or omit it for company files.
update_employee
Update one or more fields on an existing employee record. Pass the employee ID and the fields to update. Both standard fields (firstName, lastName, jobTitle, department, etc.) and custom fields are supported.
get_account_fields
Retrieve all available employee field definitions for the BambooHR account. Returns field IDs, names, types, and aliases. Useful for discovering what fields can be used in employee requests, reports, and webhook configurations.
update_application_status
Change the status of a job application. Use the **Get Application Statuses** tool to discover valid status IDs.
upsert_table_row
Add a new row or update an existing row in an employee's table data. If a rowId is provided, the existing row is updated; otherwise a new row is created. Tables include job history, compensation, education, and other structured data.
get_applications
Retrieve job applications from BambooHR's applicant tracking system. Filter by job ID, status, or new applications since a given date. Supports pagination.
update_time_off_request_status
Change the status of an existing time off request. Can approve, deny, or cancel a request. Optionally include a note explaining the status change.
add_training_record
Record a completed training for an employee. Specify the training type, completion date, and optionally the instructor, hours, credits, cost, and notes.
add_timesheet_entry
Add a timesheet hour entry for an employee on a specific date. Can include hours worked, a note, and optionally associate with a project or task.
get_benefits_overview
Retrieve benefits information including benefit plans, deduction types, and optionally benefit coverages and dependents for a specific employee. Provides a comprehensive view of the company's benefits setup.
list_files
List files for an employee or the company. Returns file metadata organized by categories, including file IDs, names, sizes, and dates. Specify an employee ID for employee files, or omit it to list company-level files.
get_timesheet_entries
Retrieve timesheet entries and clock entries for a date range. Optionally filter by specific employee IDs. Returns both timesheet hour entries and clock-in/clock-out entries.
get_time_off_types
Retrieve all available time off types configured in BambooHR (e.g., vacation, sick leave, personal days). Returns type IDs, names, and policy details.
get_whos_out
See which employees are currently out or will be out during a given date range. Returns a list of employees with their time off details. If no dates are provided, returns who is out today.
clock_in_out
Clock an employee in or out for time tracking. Supports adding notes and associating the entry with a project or task.
get_time_off_requests
Retrieve time off requests within a date range. Optionally filter by employee, status, or time off type. Returns all matching requests with their details including dates, status, type, and notes.
get_employee
Retrieve detailed information about a specific employee by their ID. Specify which fields to include in the response — common fields include name, email, job title, department, hire date, status, and more. Use the **Get Account Fields** tool to discover all available field names.
get_table_data
Retrieve tabular data for an employee. Tables include job history, compensation, education, and other structured data. Use the **Get Account Metadata** tool to discover available table names.
get_training_types
Retrieve all training types configured in BambooHR, including their IDs, names, categories, and whether they are required. Also returns associated categories.
create_time_off_request
Submit a new time off request for an employee. Specify the employee, time off type, date range, and requested status. The request can be submitted as "requested" (pending approval) or "approved" (if you have admin permissions).
generate_custom_report
Generate a custom report by specifying which employee fields to include. Returns data for all current employees with the requested fields. Supports JSON, CSV, PDF, and XML formats. Use the **Get Account Fields** tool to discover all available field names.