HRIS
BambooHR
API integration
Ship HRIS features without building the integration. Full BambooHR API access via Proxy, normalized data through Unified APIs, and 470+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with BambooHR
Common scenarios for SaaS companies building BambooHR integrations for their customers.
Automate employee provisioning and deprovisioning
IT and identity management platforms can sync BambooHR's employee directory in real time using webhooks and employee list endpoints to automatically provision accounts, assign licenses, and revoke access when employees are terminated — without HR lifting a finger.
Sync org structure for expense and approval workflows
Finance and expense management SaaS products can pull employee records, job info tables, and reporting hierarchies from BambooHR to automatically configure spending limits by role and route approvals to the correct manager.
Push completed training records back to BambooHR
Learning management systems can write course completions, certifications, and compliance training data directly into BambooHR's employee training records, keeping HR's system of record audit-ready without manual data entry.
Enrich scheduling with time-off and timesheet data
Workforce scheduling and capacity planning tools can read approved time-off requests and push clock entries or hour entries back into BambooHR, ensuring shift plans respect PTO and payroll gets accurate hours worked.
Streamline hiring by connecting ATS workflows
Recruitment and background check platforms can pull open jobs, create applications, and update candidate statuses in BambooHR's applicant tracking system — closing the loop from sourcing to hire without context switching.
What You Can Build
Ship these features with Truto + BambooHR
Concrete product features your team can ship faster by leveraging Truto’s BambooHR integration instead of building from scratch.
Real-time employee directory sync
Continuously import and update employee profiles — including department, location, job title, and manager — using BambooHR webhooks and the unified HRIS Employees model.
Automated onboarding and offboarding triggers
Configure BambooHR webhooks to listen for status field changes and instantly trigger provisioning or deprovisioning workflows in your product.
PTO-aware scheduling and capacity planning
Pull approved time-off requests and time-off balances from BambooHR so your app can block unavailable employees from assignments, shifts, or project plans.
Two-way goal and performance sync
Read and write OKRs, performance goals, and goal comments between your platform and BambooHR so HR always has a unified view of employee progress.
Candidate pipeline integration via unified ATS
List open jobs, push new applications, and advance candidates through interview stages in BambooHR directly from your sourcing or assessment tool using Truto's unified ATS API.
Compliance document upload to employee files
Automatically attach background check reports, signed agreements, or certification PDFs to the correct employee's file repository in BambooHR.
SuperAI
BambooHR AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_bamboo_hr_employees
Get employee directory for companyDomain in BambooHR. Returns employee id, displayName, firstName, lastName, gender, jobTitle, workPhone, workPhoneExtension, skypeUsername, and facebook fields. Note: Directory feature may be disabled by company.
get_single_bamboo_hr_employee_by_id
Get employee data by specifying id and fields in BambooHR. Returns id, firstName, lastName, and other requested fields.
update_a_bamboo_hr_employee_by_id
Update an employee by id in BambooHR. Requires company_domain and id. Returns success message on update. If employee syncs with Trax Payroll, all specified fields must be included for successful update.
create_a_bamboo_hr_employee
Add a new employee in BambooHR with required fields firstName and lastName. Returns the Location header containing the URL with the new employee's id.
delete_a_bamboo_hr_employee_by_id
Permanently delete an employee and all associated data in BambooHR by id. Returns an empty 204 response on success. Required: id (the internal employee ID — do not pass the editable employeeNumber, which may fail with 404 or target the wrong employee).
list_all_bamboo_hr_users
Get a list of users for the companyDomain in BambooHR. Returns user id, employeeId if linked, firstName, lastName, email, status, and lastLogin in ISO 8601 format.
list_all_bamboo_hr_time_off_requests
Get time off requests for companyDomain with required start and end dates. Returns id, employeeId, name, status (lastChanged, lastChangedByUserId, status), start, end, created, type (id, name, icon), amount (unit, amount), notes, and dates if available in BambooHR.
create_a_bamboo_hr_time_off_request
Create a time off request for employee with id in BambooHR. Requires company_domain and employee id. Returns empty response with 201 status on success. Request includes status, start, end, timeOffTypeId, amount, notes, dates, and previousRequest.
list_all_bamboo_hr_time_off_balance
Get estimated future time off balances for employee id in BambooHR with required company_domain and end date. Returns timeOffType, name, units, balance, policyType, usedYearToDate, and end date fields.
list_all_bamboo_hr_jobs
Get a list of job summaries in BambooHR for the specified companyDomain. Returns job details including title, lead, created date, and status.
create_a_bamboo_hr_job
Add a new job opening in BambooHR with required parameters company_domain, postingTitle, jobStatus, hiringLead, employmentType, and jobDescription. Returns success status on creation.
get_single_bamboo_hr_job_by_id
Retrieves detailed information about a specific job posting in BambooHR based on the unique job ID.
list_all_bamboo_hr_applications
Get a list of applications for companyDomain in BambooHR. Returns application id, appliedDate, status with rating, applicant info, and job info. Requires companyDomain.
get_single_bamboo_hr_application_by_id
Get details about a specific application in BambooHR. Requires company_domain and id. Returns fields such as id, appliedDate, status, rating, education, resumeFileId, coverLetterFileId, applicant details, job details, and related counts.
bamboo_hr_applications_change_status
Change applicant's status by application id in BambooHR. Requires companyDomain and applicationId. Returns success status on update.
create_a_bamboo_hr_application
Add a new candidate application to a job opening in BambooHR. Requires company_domain and jobId. Returns success status on completion.
list_all_bamboo_hr_statuses
Get a list of statuses for a company in BambooHR using company_domain. Returns all available status entries for applicant tracking.
list_all_bamboo_hr_company_locations
Get company locations using company_domain in BambooHR. Returns an array of location objects for creating new job openings.
list_all_bamboo_hr_fields
Get a list of fields available in a BambooHR account using companyDomain. Returns id, name, type, and alias for each field.
update_a_bamboo_hr_field_by_id
Use this endpoint to update one or more metadata fields in the account.
create_a_bamboo_hr_custom_report
Request a custom report in BambooHR with companyDomain and format. Returns the report with specified fields such as firstName and lastName. Supports filtering by lastChanged date to include only employees changed since that time.
list_all_bamboo_hr_company_files
List company files and categories for companyDomain in BambooHR. Returns categories with id and name, and files with id, name, originalFileName, size, dateCreated, createdBy, and shareWithEmployee fields.
bamboo_hr_company_files_download
Use this endpoint to download a specific file stored in the company's BambooHR file repository by providing the file_id.
get_single_bamboo_hr_company_file_by_id
Get company file by id in BambooHR using company_domain and id. Returns the file content if found.
create_a_bamboo_hr_company_file
Add a new company file category in BambooHR using company_domain. Returns 201 status on successful creation.
update_a_bamboo_hr_company_file_by_id
Update a company file in BambooHR using company_domain and id. Returns status 200 if the file is updated. Fields updated can include name, categoryId, and shareWithEmployees.
delete_a_bamboo_hr_company_file_by_id
Delete a company file by id in BambooHR. Requires company_domain and id. Returns 200 on successful deletion, 403 if permission denied, and 404 if file not found.
list_all_bamboo_hr_employee_files
List employee files and categories for employee with id in BambooHR. Returns categories with id and name, and files with id, name, originalFileName, size, dateCreated, createdBy, and shareWithEmployee fields.
get_single_bamboo_hr_employee_file_by_id
Get an employee file by id and file_id in BambooHR. Returns the file content if found. Requires company_domain, id, and file_id.
create_a_bamboo_hr_employee_file
Add an employee file category in BambooHR using company_domain. Returns 201 status on successful creation.
update_a_bamboo_hr_employee_file_by_id
Update an employee file by id in BambooHR with parameters name, categoryId, and shareWithEmployee. Returns status 200 if the file was updated successfully.
delete_a_bamboo_hr_employee_file_by_id
Delete an employee file by employee id and fileId in BambooHR. Returns confirmation of deletion.
list_all_bamboo_hr_payroll_deductions
Use this endpoint to retrieve a list of payroll deductions assigned to a specific employee, identified by their employee_id
list_all_bamboo_hr_time_off_types
Get a list of time off types for companyDomain in BambooHR. Returns id, name, units, color, and icon for each time off type.
list_all_bamboo_hr_time_off_policies
Get a list of time off policies for the companyDomain in BambooHR. Returns id, timeOffTypeId, name, effectiveDate, and type for each policy.
list_all_bamboo_hr_employee_time_off_policies
List time off policies for an employee in BambooHR. Requires company_domain and id. Returns timeOffPolicyId, timeOffTypeId, and accrualStartDate for each policy.
list_all_bamboo_hr_timesheet
Get all timesheet entries for a given period with start and end dates in BambooHR. Returns id, employeeId, type, date, start, end, timezone, hours, note, projectInfo, approvedAt, and approved fields. Data limited to last 365 days.
create_a_bamboo_hr_clock_entry
Create a timesheet clock-in entry for an employee in BambooHR. Requires company_domain and id. Returns id, employeeId, type, date, start, end, timezone, hours, note, and projectInfo with project and task details.
update_a_bamboo_hr_clock_entry_by_id
Add or edit timesheet clock entries in BambooHR with required entries including employeeId, date, start, and end. Returns id, employeeId, type, date, start, end, timezone, hours, note, and projectInfo fields for each entry.
delete_a_bamboo_hr_clock_entry_by_id
Delete timesheet clock entries by providing clockEntryIds in BambooHR. Returns 204 on successful deletion with no content.
bamboo_hr_clock_entries_clock_out
Create a timesheet clock-out entry for an employee in BambooHR using company_domain and id. Returns id, employeeId, type, date, start, end, timezone, hours, note, and projectInfo fields.
update_a_bamboo_hr_hour_entry_by_id
Add or edit timesheet hour entries in BambooHR. Requires companyDomain and an array of hours objects with employeeId, date, hours, note, projectId, and taskId. Returns id, employeeId, type, date, hours, note, and projectInfo with project and task details.
delete_a_bamboo_hr_hour_entry_by_id
Delete timesheet hour entries in BambooHR using companyDomain and hourEntryIds. Returns no content on success.
list_all_bamboo_hr_webhooks
Get a list of webhooks for the user API key in BambooHR. Requires company_domain. Returns webhook id, name, created date, lastSent date, and url.
get_single_bamboo_hr_webhook_by_id
Get webhook data for a specific webhook by id in BambooHR. Returns id, name, created timestamp, lastSent timestamp, monitorFields, postFields, url, format, frequency, limit, and includeCompanyDomain fields.
create_a_bamboo_hr_webhook
Create a new webhook in BambooHR with required parameters company_domain, name, monitorFields, postFields, and url. Returns webhook id, name, created timestamp, lastSent timestamp, monitorFields, postFields, url, format, frequency, limit, privateKey, and includeCompanyDomain flag.
update_a_bamboo_hr_webhook_by_id
Update a webhook by id in BambooHR with required fields name, monitorFields, postFields, and url. Returns updated webhook id, name, created timestamp, lastSent timestamp, monitorFields, postFields, url, format, frequency, limit, and includeCompanyDomain.
delete_a_bamboo_hr_webhook_by_id
Delete a webhook by id for the specified companyDomain in BambooHR. Returns confirmation of deletion.
bamboo_hr_webhooks_logs
Get webhook logs for a specific webhook by id in BambooHR. Returns webhookId, url, lastAttempted, lastSuccess, failureCount, status, and employeeIds fields.
bamboo_hr_webhooks_fields
Get a list of fields that webhooks can monitor in BambooHR. Requires company_domain. Returns fields with id, name, and alias.
list_all_bamboo_hr_dataset
Get available datasets for the companyDomain in BambooHR. Returns dataset name and label fields.
bamboo_hr_dataset_fields
Get available fields for a dataset in BambooHR using companyDomain and datasetName. Returns fields with name, label, parentType, and parentName.
bamboo_hr_dataset_data
Get data from the specified dataset in BambooHR using company_domain and dataset_name. Returns data array with requested fields, aggregations, and sorting as specified in the request body.
list_all_bamboo_hr_employee_dependents
Get all employee dependents for employeeid in BambooHR. Returns id, employeeId, firstName, lastName, relationship, gender, maskedSSN, dateOfBirth, address, city, state, zipCode, country, isUsCitizen, and isStudent fields.
get_single_bamboo_hr_employee_dependent_by_id
Get employee dependent by id in BambooHR. Returns fields including id, employeeId, firstName, lastName, relationship, gender, maskedSSN, dateOfBirth, address, city, state, zipCode, country, isUsCitizen, and isStudent.
create_a_bamboo_hr_employee_dependent
Add an employee dependent in BambooHR with employeeId, firstName, lastName, relationship, gender, ssn, dateOfBirth, addressLine1, city, state, zipCode, country, isUsCitizen, and isStudent. Date of birth must be in ISO YYYY-MM-DD format. Gender must be male or female. Relationship must be spouse, child, domestic partner, step child, or foster child. State must be 2 character code. Country must be 2 character ISO code.
update_a_bamboo_hr_employee_dependent_by_id
Update an employee dependent by id in BambooHR. Requires company_domain and id. Returns status 201 on success.
list_all_bamboo_hr_benefits
Get benefit coverages for the companyDomain in BambooHR. Returns id, shortName, description, and sortOrder for each benefit coverage.
bamboo_hr_benefits_deduction_type
Get all benefit deduction types for the companyDomain in BambooHR. Returns id, deductionTypeName, and allowableBenefitTypes for each deduction type.
bamboo_hr_benefits_member_events
Get a list of member benefit events in BambooHR for the specified companyDomain. Returns members with memberId, coverages with planId, and events including effectiveDate, type, premiumTierId, and monthlyPremiumInCents.
list_all_bamboo_hr_company_information
Get company information for companyDomain in BambooHR. Returns legalName, displayName, address (line1, line2, city, state, zip), and phone number.
list_all_bamboo_hr_company_eins
Get Company EINs for the companyDomain in BambooHR. Returns an array of EIN strings representing the company's Employer Identification Numbers.
list_all_bamboo_hr_table
Get all updated employee table data for table using companyDomain and table. Returns employees with changes since the provided 'since' timestamp including employee id, lastChanged timestamp, and all table rows with fields.
get_single_bamboo_hr_table_by_id
Get all table rows for a given employee and table in BambooHR. Requires company_domain, id (employee ID), and table name. Returns rows with fields like date, location, division, department, jobTitle, and reportsTo.
create_a_bamboo_hr_table
Add a table row for an employee in BambooHR using company_domain, id, and table. Returns success message if row is added. Requires all required fields for the table and employee if on compensation table.
update_a_bamboo_hr_table_by_id
Update a table row for an employee in BambooHR using company_domain, id, table, and row_id. Returns 200 if at least one field is updated. Requires all required fields for pay schedule or compensation table if applicable.
delete_a_bamboo_hr_table_by_id
Delete a table row for an employee in BambooHR. Requires employee id, table name, and rowId.
list_all_bamboo_hr_goals
Get goals for an employee in BambooHR using company_domain and employee_id. Returns id, title, description, percentComplete, dueDate, completionDate, status, milestones, and actions for each goal.
create_a_bamboo_hr_goal
Create a new goal for an employee in BambooHR using company_domain and employee id. Returns the goal id, title, description, percentComplete, sharedWithEmployeeIds, dueDate, completionDate, status, and milestones if included.
delete_a_bamboo_hr_goal_by_id
Delete a goal for an employee in BambooHR using company_domain, employee_id, and id. Returns 204 on successful deletion.
update_a_bamboo_hr_goal_by_id
Update a goal for employeeId and id in BambooHR. Requires title, sharedWithEmployeeIds, dueDate. Returns updated goal fields including id, title, description, percentComplete, sharedWithEmployeeIds, dueDate, completionDate, status, and milestones if enabled.
list_all_bamboo_hr_goal_comments
Get comments for a specific goal using employee_id and goal_id in BambooHR. Returns comment id, authorUserId, createdAt, text, canEdit, and canDelete fields.
create_a_bamboo_hr_goal_comment
Create a new goal comment for employeeId and goalId in BambooHR. Returns id, authorUserId, createdAt, text, canEdit, and canDelete fields in the response.
update_a_bamboo_hr_goal_comment_by_id
Update a goal comment for employeeId, goalId, and commentId in BambooHR. Returns id, authorUserId, createdAt, text, canEdit, and canDelete fields in the response.
delete_a_bamboo_hr_goal_comment_by_id
Delete a goal comment for employee_id, goal_id, and comment_id in BambooHR. Returns 204 No Content on success.
get_single_bamboo_hr_photo_by_id
Get an employee photo in BambooHR using company_domain, employee id, and size. Returns binary JPEG data of the photo in specified size (original, large, medium, small, xs, tiny).
create_a_bamboo_hr_photo
Store a new employee photo for employeeId in BambooHR. The photo must be jpg, gif, or png, have equal width and height, and be no larger than 20MB. Returns 201 on success.
get_single_bamboo_hr_time_tracking_by_id
Get an hour record by id in BambooHR. Returns fields including timeTrackingId, employeeId, dateHoursWorked, hoursWorked, adjustedHours, payRate, and job details.
create_a_bamboo_hr_time_tracking
Add a time tracking record in BambooHR with required parameters companyDomain, timeTrackingId, employeeId, dateHoursWorked, rateType, and hoursWorked. Returns timeTrackingId of the created record.
update_a_bamboo_hr_time_tracking_by_id
Edit an hour record in BambooHR using timeTrackingId and hoursWorked. Returns the updated timeTrackingId.
delete_a_bamboo_hr_time_tracking_by_id
Delete an hour record in BambooHR using companyDomain and id. Returns status and message confirming record removal.
bamboo_hr_login_user
Authenticate user login in BambooHR using companyDomain, user email, password, and applicationKey. Returns success status, userId, employeeId, and key in response.
list_all_bamboo_hr_custom_reports_new
List available custom reports in BambooHR using company_domain. Returns report id and name fields.
get_single_bamboo_hr_custom_reports_new_by_id
Get data for a specific custom report in BambooHR using company_domain and id. Returns the report data fields as specified in the report configuration.
list_all_bamboo_hr_training
Get a list of training types in BambooHR for the specified companyDomain. Returns trainingId for each training type.
create_a_bamboo_hr_training
Add a training type in BambooHR with required parameter name. Returns id, name, renewable, frequency, dueFromHireDate, required, category (id and name), linkUrl, description, and allowEmployeesToMarkComplete fields in the response.
update_a_bamboo_hr_training_by_id
Update an existing training type in BambooHR using company_domain and id. Returns updated training type fields including id, name, renewable, frequency, dueFromHireDate, required, category (id and name), linkUrl, description, and allowEmployeesToMarkComplete.
delete_a_bamboo_hr_training_by_id
Delete an existing training type by id in BambooHR. Requires company_domain and id. Deletion succeeds only if all employee trainings for this type have been removed.
list_all_bamboo_hr_training_category
Get a list of training categories in BambooHR. Requires company_domain. Returns categoryId objects containing the category ID and name.
create_a_bamboo_hr_training_category
Add a training category with name in BambooHR. Requires companyDomain and name. Returns id and name of the created training category.
update_a_bamboo_hr_training_category_by_id
Update an existing training category by id in BambooHR. Requires company_domain and id. Returns updated category with id and name.
delete_a_bamboo_hr_training_category_by_id
Delete an existing training category by id in BambooHR. Requires company_domain and id. Returns success status if deleted.
list_all_bamboo_hr_employee_training
Get all training records for an employee in BambooHR using company_domain and id. Returns trainingId objects representing each training record.
create_a_bamboo_hr_employee_training
Add a new employee training record for employeeId in BambooHR. Requires completed date in yyyy-mm-dd format and an existing training type id. Returns id, employeeId, completed, notes, instructor, credits, hours, cost, and type fields in the response.
update_a_bamboo_hr_employee_training_by_id
Update an existing employee training record in BambooHR with id. Requires completed date in yyyy-mm-dd format. Returns id, employeeId, completed, notes, instructor, credits, hours, cost, and type fields in the response.
delete_a_bamboo_hr_employee_training_by_id
Delete an existing employee training record by id in BambooHR. Requires company_domain and id. Returns success status if the record is deleted.
list_all_bamboo_hr_dataset_data
Query a BambooHR dataset (for example employee) and return its rows: choose the fields to return, filter with typed operators (contains, equal, lt, gte, last, next, range, includes …) combined by match=all or any, sort, optionally group by one field and aggregate (count, count_unique, sum, avg, min, max). Use dataset.list and dataset.fields to discover dataset and field names. This is the method the unified HRIS employees.list is built on. Returns data rows (each row's values keyed by field name), aggregations and pagination; when groupBy is used, data becomes an object keyed by group value. Required: datasetName, fields.
create_a_bamboo_hr_alert_configuration
Create an alert configuration in BambooHR from one of its alert templates. Returns the stored configuration including its server-assigned id, bambooAlertId, filterListValueIds, and additionalRecipientEmails. Required: bambooAlertId. The configuration goes live immediately; repeating the call with the same bambooAlertId adds a second configuration rather than replacing one, and no endpoint deletes…
get_single_bamboo_hr_alert_configuration_by_id
Get one alert configuration the company has set up by id: which alert template it uses, when it runs, who receives it, and any list-value filters. Returns: id, schedule. Required: id. The id is the configuration's own identifier, not the bambooAlertId of its underlying template; no wildcard or 0 sentinel is supported.
list_all_bamboo_hr_alert_configurations
List every alert configuration the company has set up: which alert template each one uses, when it runs, who receives it, and any list-value filters. Each entry includes: id, bambooAlertId, filterListValueIds, additionalRecipientEmails, employeeIds, listValueIds, and userIds. The response is a top-level JSON array with no wrapper, empty when none are configured, and in no guaranteed order.
update_a_bamboo_hr_alert_configuration_by_id
Replace an alert configuration by id, overwriting the whole configuration — a property left out of the body is reset to its default rather than kept. Returns: id, schedule. Required: id, bambooAlertId. The response echoes the submitted values rather than re-reading the saved row, and an update that omits the sendTo* properties can re-enable delivery to recipients the previous state excluded.
list_all_bamboo_hr_alerts
List BambooHR's built-in alert templates (e.g. New Hire, Birthdays, Time Off Approved) that company alert configurations are built from. Returns each template's id, name, and groupName, ordered by groupName then name. The catalog is global and not limited to features the company has enabled; use it to discover the id required as bambooAlertId when creating alert configurations.
list_all_bamboo_hr_calendar_events
List BambooHR calendar events (time off, holidays, birthdays, and anniversaries) overlapping a date range, sorted by start date, then type, then id; TIME_OFF entries cover approved requests only and events the caller cannot view are omitted. Returns per event: id, type, start, employeeId, with remaining fields varying by event type. Required: start, end. The range must span less than one year;…
list_all_bamboo_hr_compensation_tools
List the compensation tools and settings available for the company in BambooHR, covering Levels & Bands, Compensation Benchmarking, Compensation Planning, and Total Rewards. Returns the company's compensation tools object with tool-specific availability fields defined by BambooHR, plus upsell information when applicable.
bamboo_hr_employee_verifications_employees_bulk_update
Update an employee verification record in BambooHR for a given employee. Partial update: any field omitted from the request body is left unchanged, and at least one updatable field must be supplied. Returns the updated verification record (employeeVerification) including verificationType, verificationStatus, verificationStatusNotes, and eVerifyStatus. Required: employee_id, verification_id.
get_single_bamboo_hr_employee_verifications_employee_by_id
List employee verification records for a BambooHR employee by id, including archived rows, newest first. Returns: id, employeeId, integrationType, verificationType, verificationStatus, verificationStatusNotes, remoteAccessUrl, eVerifyStatus, archived, billingProcessed, createdByUserId, createdYmdt, lastModifiedYmdt, startDateYmdt. Required: id (the employee's internal ID).
bamboo_hr_employee_verifications_integrations_bulk_update
Enable or disable the BambooHR employee verification integration. Returns the integration state object (integration) including its enabled flag and integrationType. Required: enabled. Enabling installs the configured partner app and schedules the daily sync (the company must have a valid US work location); disabling tears it down. Idempotent — repeat calls to the same state return the same object.
list_all_bamboo_hr_employee_verifications_integrations
Get the employee verification integration status in BambooHR. Returns the integration status object including its enabled flag (whether the partner app is installed and usable) and integrationType (the configured verification partner). Takes no parameters.
bamboo_hr_equity_settings_bulk_update
Update the company-level equity settings in bamboohr, covering calculation type, valuation, shares, pricing, and vesting configuration. Returns the updated settings object including calculationType, companyValuation, outstandingShares, pricePerShare, and vestingConditions. Requires an equity settings request body.
list_all_bamboo_hr_equity_settings
Get the company-level equity settings configured in bamboohr, including calculation type, valuation, shares, pricing, and vesting configuration. Returns: calculationType, companyValuation, outstandingShares, pricePerShare, currencyCode, sliderMin, sliderMax, vestingConditions, disclaimers. Takes no parameters.
create_a_bamboo_hr_holiday
Create a BambooHR company holiday. The body may be fully specified or carry a globalHolidayUuid that seeds the holiday's details from the global catalog entry; partner-supplied values override catalog defaults. Returns: id, name, audience, createdAt, updatedAt, deletedAt.
delete_a_bamboo_hr_holiday_by_id
Delete a BambooHR company holiday by id. Soft-deletes the holiday and removes its audience, pay, and country sub-rows; deleting a missing or already-deleted holiday also succeeds. Returns an empty 204 response on success. Required: id.
get_single_bamboo_hr_holiday_by_id
Get a BambooHR company holiday by id. Returns: id, name, audience, createdAt, updatedAt, deletedAt. Required: id.
list_all_bamboo_hr_holidays
List active BambooHR company holidays; soft-deleted holidays are never returned. Supports OData filtering via filter, sorting via orderBy, and field projection via select. Returns: id, name, startDate, endDate, isPublic, countryCodes, audience, holidayPay, globalHolidayUuid, createdAt, updatedAt, deletedAt. Max 100 per page.
update_a_bamboo_hr_holiday_by_id
Update a BambooHR company holiday by id with a JSON Merge Patch document; only patched fields change, and countryCodes, audience, and holidayPay replace their stored blocks wholesale when supplied. Send null endDate to revert to a single-day holiday and null holidayPay to clear the pay treatment. Returns: id, name, audience, createdAt, updatedAt, deletedAt. Required: id.
create_a_bamboo_hr_holidays_bulk_insert
Bulk create company holidays in BambooHR from a JSON array of 1-100 holiday records, each fully specified or seeded from a global catalog entry via globalHolidayUuid. Returns an opaque bulk-insert result envelope. With atomic=true any per-record failure aborts the whole batch; otherwise records commit independently and partial failures are reported per record.
get_single_bamboo_hr_holidays_catalog_by_id
Get a single holiday catalog entry from BambooHR's global holiday catalog by its UUID. Returns: uuid, name, type, startDate, endDate, countryCode, source. Required: id (the catalog entry UUID).
list_all_bamboo_hr_holidays_catalogs
List entries in the BambooHR global holiday catalog — read-only reference data whose uuid values are used to seed company holidays. Returns each catalog holiday's uuid, name, type, countryCode, and startDate. Supports optional countryCode and year filters; max 100 results per page.
create_a_bamboo_hr_user_send_email
Send a BambooHR employee verification lifecycle email (signup_survey or app_installed) for a specific user to the company owner contact. Returns: status, message. Required: user_id and emailType. The email is queued for delivery; the employee verification integration must be enabled; not an employee I-9 reminder.
bamboo_hr_approvals_employees_bulk_delete
Remove an employee from all approval chains for a specific compensation planning cycle in bamboohr. Returns the updated approval flows after removal as an open object whose exact keys depend on the cycle's approval flow configuration. Required: planning_cycle_id, employee_id.
create_a_bamboo_hr_approvals_final_approver
Set or update the final approver for all approval flows in a BambooHR compensation planning cycle. Returns the updated approval flows for the cycle as a free-form JSON object. Required: planning_cycle_id, employee_id.
bamboo_hr_budgets_breakdowns_bulk_update
Save the budget breakdown for a compensation planning cycle in BambooHR by sending an array of per-employee entries (id, employeeId, and budgetAllocations with salaryIncrease, bonuses, and equity). Returns an empty 204 response on success. Required: planning_cycle_id.
bamboo_hr_budgets_guidelines_bulk_update
Save budget guidelines for a compensation planning cycle in bamboohr. Sets whether guidelines are enabled along with the soft minimum and maximum values, and returns the saved guidelines view. Returns: useGuidelines, softMinimum, softMaximum, guidelinesWarningErrors, requireComments, softMin, softMax. Required: planning_cycle_id.
create_a_bamboo_hr_budgets_import
Import a budget breakdown into a BambooHR compensation planning cycle from structured per-employee data and apply it to allocations. Returns: message. Required: planning_cycle_id, budgetBreakdown (array of items with employeeName, emailAddress, and salary/bonus/equity budget values).
bamboo_hr_change_comm_templates_bulk_update
Save the change communication email template for a BambooHR compensation planning cycle. Returns: message. Required: planning_cycle_id, subjectText, messageText. Only applies to cycles whose letter is a single message (section-based cycles are rejected with nothing written); a successful save also marks the cycle's change communications reviewed, which launching requires.
create_a_bamboo_hr_compensation_planning_cycle
Create a new compensation planning cycle in BambooHR with default settings. Returns the created cycle including its id and attributes. No request body is required.
delete_a_bamboo_hr_compensation_planning_cycle_by_id
Delete a compensation planning cycle in BambooHR by id. Returns an empty 204 response on success. Required: id.
get_single_bamboo_hr_compensation_planning_cycle_by_id
Get a compensation planning cycle's details and currency settings in BambooHR. Returns the cycle including its id and attributes. Required: id.
list_all_bamboo_hr_compensation_planning_cycles
List all compensation planning cycles for the BambooHR company. Returns each cycle including its id, status, and attributes; the vendor does not publish a field-level response schema.
update_a_bamboo_hr_compensation_planning_cycle_by_id
Update a compensation planning cycle's details and currency settings in BambooHR. Returns the updated cycle including its id and attributes. Required: id and a JSON body with the cycle details and currency settings to update.
bamboo_hr_compensation_planning_cycles_update_complete
Complete a compensation planning cycle in bamboohr and finalize its employee compensation records. Returns: cycleId, updatedEmployeesCount, cycleClosedEmailError, errors. Required: planning_cycle_id. cycleClosedEmailError is set when closed-cycle emails fail to send.
bamboo_hr_planning_cycle_admins_bulk_delete
Remove a cycle admin from a BambooHR compensation planning cycle by internal employee ID. Full account admins cannot be removed. Returns an empty 204 response on success. Required: planning_cycle_id, employee_id.
create_a_bamboo_hr_planning_cycle_admin
Add one or more cycle admins to a BambooHR compensation planning cycle by internal employee IDs. Returns: added, skipped. Required: planning_cycle_id, employeeIds.
list_all_bamboo_hr_planning_cycle_admins
List the admins of a BambooHR compensation planning cycle. Returns the admins array — each admin with employeeId, displayName, firstName, lastName, jobTitle, photoUrl, adminType (FULL_ACCOUNT_ADMIN or CYCLE_ADMIN), isRemovable, addedAt, and addedByEmployeeId — plus isFullAdmin indicating whether the requesting user is a full compensation plan admin. Required: planning_cycle_id.
bamboo_hr_planning_cycle_approvals_bulk_update
Update an approval flow for a compensation planning cycle in BambooHR, modifying the recommenders and approvers for a specific approval flow template. Returns the updated approval flows for the cycle as an open object whose keys follow the requested grouping (e.g. department). Required: planning_cycle_id, template_id, assignees, flowData.
list_all_bamboo_hr_planning_cycle_approvals
Get approval flows for a compensation planning cycle in BambooHR, grouped by department by default. Returns the approval-flows response as an open object whose keys follow the requested grouping. Required: planning_cycle_id.
list_all_bamboo_hr_planning_cycle_budgets
Get the budget guidelines and breakdown for a compensation planning cycle in BambooHR. Returns an open-ended budgets object (CompensationPlanningCycleBudgetsResponse) carrying the cycle's budget guidelines and breakdown data; BambooHR does not enumerate its fields. Required: planning_cycle_id.
get_single_bamboo_hr_planning_cycle_change_comm_by_id
Get the change communication letter details for a BambooHR compensation planning cycle by id. Returns: changeCommunicationMessageText, changeCommunicationSubjectText, cycleStatus, variablePlaceholders, hasSections, sections. hasSections and sections are absent when the cycle no longer exists, and sections is empty while the cycle still uses a single message. Required: id.
bamboo_hr_planning_cycle_employees_bulk_delete
Remove employees from a BambooHR compensation planning cycle by internal employee ID. Requires planning_cycle_id and employeeIds (array of internal employee IDs to remove). Returns an empty 204 response on success.
create_a_bamboo_hr_planning_cycle_employee
Add employees to a BambooHR compensation planning cycle by internal employee ID. Requires planning_cycle_id and employeeIds (array of internal employee IDs to add). Returns an empty 204 response on success.
list_all_bamboo_hr_planning_cycle_employees
List employees in a BambooHR compensation planning cycle (picker data: company roster and membership). Returns data, meta, and _links; each employee record includes employeeId, firstName, lastName, preferredName, photoUrl, jobTitleName, status, and _restrictedFields. Required: planning_cycle_id.
bamboo_hr_planning_cycle_launches_bulk_update
Launch a BambooHR compensation planning cycle, validating all cycle data and setting the cycle's status to Live. Returns an empty 204 response on success. Required: planning_cycle_id. The cycle must be a draft and fully ready to launch; otherwise the call fails with a CYCLE_NOT_READY error naming the blocking requirement, and re-launching an already-live cycle is not retried.
create_a_bamboo_hr_planning_cycle_recommendation
Save compensation recommendations for an employee in a BambooHR planning cycle. Returns the saved-recommendation response object (BambooHR publishes it as a generic JSON object without enumerated fields). Required: planning_cycle_id, employeeId, assigneeEmployeeId, approvalStage.
get_single_bamboo_hr_planning_cycle_summary_by_id
Get the summary of a BambooHR compensation planning cycle. Returns the summary object with the cycle's progress and stats data; the exact field set is not enumerated upstream. Required: id.
get_single_bamboo_hr_planning_cycle_worksheet_by_id
Get the compensation planning worksheet for a bamboohr planning cycle by id. Returns a worksheet object with fields that vary by requested context (recommendations, approvals, or overview; overview requires cycle admin). Required: id.
create_a_bamboo_hr_recommendations_send
Send compensation recommendations to the next approval stage for a planning cycle in bamboohr. Returns: message. Requires planning_cycle_id, templateId, assigneeEmployeeId, and approvalStage.
get_single_bamboo_hr_worksheet_export_by_id
Export a BambooHR compensation planning cycle worksheet to CSV. Returns the worksheet data as a UTF-8 CSV file download (Excel-friendly BOM); omit type for the default worksheet view. Required: id. The overview context requires cycle admin.
create_a_bamboo_hr_employee_onboarding_experience
Create (start) a BambooHR onboarding experience workflow for an employee's existing new hire packet. Returns the created onboarding experience record including its id, employeeId, and upstream-defined experience attributes. Requires employee_id. The company's onboarding experience toggles must be enabled, and the employee must not already have a running experience.
get_single_bamboo_hr_employee_onboarding_experience_by_id
Get a single BambooHR onboarding experience by id for an employee. Returns the onboarding experience record including its id, employeeId, and upstream-defined experience attributes. Requires employee_id and id. The id must match the employee's current new hire packet instance while its workflow execution is running.
list_all_bamboo_hr_employee_onboarding_experiences
List BambooHR onboarding experiences for an employee. Returns onboarding experience summaries, each with its id, employeeId, and upstream-defined experience attributes. Requires employee_id. The list is empty when no workflow is currently running for the employee.
bamboo_hr_new_hire_packet_question_visibilities_bulk_update
Update GTKY (get-to-know-you) answer visibility for a BambooHR new hire packet, applying the hidden flag to all answer rows or only the questions in questionIds. Returns the current visibility for each GTKY answer row: responseId, questionId, hidden. Required: new_hire_packet_id and hidden. Updates are rejected once the employee's hire date is reached.
bamboo_hr_new_hire_packets_cancel
Cancel a BambooHR new hire packet. Completed packets cannot be cancelled. Returns: id, location, cancelled, status. Required: new_hire_packet_id and id (the packet's numeric identifier).
create_a_bamboo_hr_new_hire_packet
Create a new BambooHR new hire packet draft for an employee, applying company configuration for default inclusion flags. Returns: id, employeeId, location, cancelled, status. Required: employeeId. Fails if the employee already has an in-progress packet.
delete_a_bamboo_hr_new_hire_packet_by_id
Delete a BambooHR new hire packet by id. Returns an empty 204 response on success.
get_single_bamboo_hr_new_hire_packet_by_id
Get a single BambooHR new hire packet by id. Sub-resources (sections, tasks, questions, GTKY) are not included. Returns: id, location, cancelled, status. Required: id.
list_all_bamboo_hr_new_hire_packets
List BambooHR new hire packets for the company as flat summaries (no sections, tasks, questions, or GTKY recipients). Returns: id, employeeId, contactEmployeeId, requiresPersonalInformation, requiresPhoto, requiresPersonalQuestions, arriveByTime, location, sentDatetime, viewedDatetime, completedDatetime, createdByUserId, createdDatetime, sendGetToKnowYouEmail, getToKnowYouEmailSent,…
bamboo_hr_new_hire_packets_send
Send a BambooHR new hire packet to its employee by email or the onboarding experience workflow, depending on company configuration. Returns the packet object (id plus packet attributes). Required: new_hire_packet_id. The packet must be in draft state.
update_a_bamboo_hr_new_hire_packet_by_id
Update an existing BambooHR new hire packet. Returns the updated packet object (id plus packet attributes); sent, viewed, and completed timestamps are not changed through this endpoint. Required: id and a JSON request body.
list_all_bamboo_hr_onboarding_new_hire_widgets
List the upcoming new hires that power the BambooHR home "Welcome New Hires" widget, ordered by most recent hire date first. Returns: id, preferredFirstName, lastName, hireDate, profilePictureUrl, department, location, canSeeEmployee, getToKnowYou. The list is empty when the caller lacks new-hire-packet or company-directory access.
list_all_bamboo_hr_policie_versions
List a BambooHR time off policy's rate-table versions (both currently effective and archived) with milestones inlined, ordered by effective date descending. Returns: id, policyId, effectiveDate, status, rateTransitions, firstAccrual, carryOverYmd, negativeBalanceResetOnCarryOver, milestones, createdAt, updatedAt. Required: policy_id. Unlimited and manual policies return an empty list; max 100 per…
get_single_bamboo_hr_schedule_pdf_by_id
Download a PDF of a specific schedule in BambooHR for a given date range, with options to group employees by location, department, division, job title, or team. Returns the rendered schedule as a PDF binary stream (application/pdf), not JSON. Required: id, startYmd, endYmd.
create_a_bamboo_hr_scheduling_schedule
Create a new schedule in BambooHR. Returns the created schedule object including its id, name, locationId, timezone, startOfWeek, clock-in/out thresholds, and createdAt/updatedAt timestamps. Duplicate schedule data for the same location and configuration is rejected.
delete_a_bamboo_hr_scheduling_schedule_by_id
Delete a BambooHR schedule by id. Unworked shifts belonging to the schedule are deleted as a result. Returns an empty 204 response on success. Required: id.
get_single_bamboo_hr_scheduling_schedule_by_id
Get a single BambooHR schedule by its UUID id. Returns the schedule object including its id, name, locationId, timezone, startOfWeek, clock-in/out thresholds, and createdAt/updatedAt timestamps. Required: id.
list_all_bamboo_hr_scheduling_schedules
List BambooHR schedules for the company. Returns schedule records including id, name, locationId, timezone, clock-in/out thresholds, and createdAt/updatedAt. Supports optional OData-style filter and sort. Defaults to 100 per page.
update_a_bamboo_hr_scheduling_schedule_by_id
Partially update a BambooHR schedule by id; fields not provided retain their existing values. Returns the updated schedule object including its id, name, locationId, timezone, clock-in/out thresholds, and createdAt/updatedAt timestamps. Required: id.
list_all_bamboo_hr_scheduling_shift_assessments
List BambooHR shift assessments matching an OData v4 filter. Returns: id, shiftId, employeeId, date, result, violations, createdAt, updatedAt. Required: filter (must include at least one of employeeId, shiftId, or a date comparison). Max 1000 per page.
create_a_bamboo_hr_scheduling_shift
Create a new shift in a BambooHR schedule. Returns the created shift object including id, status, employeeIds, and recurrence. Requires a JSON request body; BambooHR documents the field-level schema in its Create Shift API reference.
delete_a_bamboo_hr_scheduling_shift_by_id
Delete a BambooHR shift by id (its UUID or projected composite recurrence ID). Returns an empty 204 response on success. Required: id. Use recurrenceEditOption to delete a single instance or the whole recurrence series.
get_single_bamboo_hr_scheduling_shift_by_id
Get a single BambooHR shift by id (UUID). Returns the full shift object including id, status, employeeIds, and recurrence settings; returns 404 if the shift does not exist or has been deleted. Required: id.
list_all_bamboo_hr_scheduling_shifts
List BambooHR shifts matching filters. Returns shift objects with id, status, employeeIds, and recurrence. Provide either ids, or start and end plus at least one of employeeIds or scheduleIds; the time window must be no longer than 1 month.
update_a_bamboo_hr_scheduling_shift_by_id
Update a BambooHR shift by id; fields not provided retain their existing values. Returns the updated shift object including id, status, employeeIds, and recurrence. Required: id. recurrenceEditOption is required when the shift already has recurrence settings, and a stale updatedAt is rejected with 409.
list_all_bamboo_hr_scheduling_timezones
List BambooHR timezones available for use when creating or editing schedules, with OData-style filtering on the name field and sorting by name or UTC offset. Returns each timezone's name and offset. No required parameters.
create_a_bamboo_hr_shifts_publish
Publish one or more planned shifts in BambooHR, making them visible to employees; shifts with scheduling conflicts are skipped and reported as failures. Returns a publish result object (Scheduling-PublishShiftsResult-V1) with upstream-defined fields reporting which shifts were published and which failed. Returns 200 if all shifts succeed, 207 if some fail, 409 if all fail. Required: shiftIds (1…
create_a_bamboo_hr_time_off_category
Create a time off category in BambooHR. Returns the created category including id, name, enabled, and unit. Required: name. Category names are unique across all of the company's categories, including disabled and deleted ones; a colliding name is rejected with the conflicting category identified.
delete_a_bamboo_hr_time_off_category_by_id
Delete a time off category by id in BambooHR. Soft deletes the category, unassigns and soft deletes every active policy under it, and removes it from payroll; historical balances and requests are preserved. Returns an empty 204 response on success. Required: id. Idempotent: a non-existent or already-deleted id also succeeds.
get_single_bamboo_hr_time_off_category_by_id
Get a single time off category by id in BambooHR. Returns: id, name, unit, color, icon, paid, includeInPayroll, enabled, createdAt, updatedAt, deletedAt, deleted, hoursPerDay. Disabled categories are returned with enabled set to false; soft-deleted categories are treated as non-existent. Required: id.
update_a_bamboo_hr_time_off_category_by_id
Update a time off category by id in BambooHR using merge-patch semantics — only fields present in the body change. Returns the updated category including id, name, enabled, unit, and hoursPerDay. Required: id. Changing unit converts all existing balances and requests and requires hoursPerDay; setting enabled to false disables the category and removes it from payroll.
bamboo_hr_time_off_policies_bulk_delete
Unassign a time off policy from a BambooHR employee. End-dates the assignment as of today while preserving historical balances and time off requests, and also ends any later-starting assignment in the same category; idempotent. Returns an empty 204 response on success. Required: employee_id, assignment_id.
bamboo_hr_time_off_policies_bulk_update
Assign time off policies to a BambooHR employee in bulk (deprecated v1 endpoint). Supply one entry per policy; a null accrualStartDate removes an existing assignment. Returns the current list of assigned policies, each with timeOffPolicyId, timeOffTypeId, and accrualStartDate. Required: employee_id and a body array of timeOffPolicyId and accrualStartDate entries.
bamboo_hr_time_off_policies_bulk_update_time_off
Update a BambooHR employee's time off policy assignment using merge-patch semantics: the addressed assignment is kept as a SUPERSEDED audit copy and replaced by a new one. Returns the assignment under a new id, with policyId, effectiveDate, endDate, status, and supersededAssignments. Required: employee_id, assignment_id. At least one of policyId or effectiveDate must be sent in the body; neither…
create_a_bamboo_hr_time_off_policy
Create a BambooHR time off policy. Returns the created policy including id, name, type, currentVersion (inlined with milestones for accruing policies only), createdAt, and updatedAt. Required: name.
delete_a_bamboo_hr_time_off_policy_by_id
Delete a BambooHR time off policy by id. Soft-deletes the policy, automatically unassigns every assigned employee, and retains historical balances and time off requests; idempotent. Returns an empty 204 response on success. Required: id.
get_single_bamboo_hr_time_off_policy_by_id
Get a single time off policy in BambooHR by id. Returns the policy object including id, name, type, categoryId, createdAt, and updatedAt; accruing policies also include currentVersion, the currently effective accrual schedule with milestones inlined. Required: id.
list_all_bamboo_hr_time_off_policies
List the time off policies assigned to an employee in BambooHR, ordered by effective date descending with the most recent assignment first; only active assignments are returned. Returns assignment records including id, policyId, categoryId, effectiveDate, endDate, and status. Required: employee_id.
update_a_bamboo_hr_time_off_policy_by_id
Partially update a time off policy in BambooHR by id using JSON Merge Patch semantics; supplying a new accrual schedule version replaces the complete schedule by archiving overlapping versions and creating a new one. Returns the updated policy including id, name, type, categoryId, and currentVersion. Required: id. The policy's type and categoryId cannot be changed.
bamboo_hr_time_off_policies_bulk_update_assign
Assign time off policies to an employee in BambooHR with accruals starting on the given date; setting accrualStartDate to null removes an existing assignment. Returns the current list of assigned policies including manual and unlimited types, each with timeOffPolicyId, timeOffTypeId, and accrualStartDate. Required: employee_id and a body array of { timeOffPolicyId, accrualStartDate }.
create_a_bamboo_hr_time_off_policies_time_off
Assign a time off policy to a BambooHR employee, effective from effectiveDate. Returns the created assignment (id, policyId, effectiveDate, endDate, status) plus supersededAssignments listing same-category assignments the call end-dated or archived. Required: employee_id, policyId, effectiveDate. endDate is not accepted; re-assigning the same policy with the same effective date is refused.
list_all_bamboo_hr_time_off_policies_time_off
List the time off policies assigned to a BambooHR employee, ordered by effective date descending (most recent first). Returns active assignments with id, policyId, categoryId, effectiveDate, endDate, and status. Required: employee_id.
list_all_bamboo_hr_time_off_policies_time_off
List all non-deleted time off policies in bamboohr, sorted alphabetically by name. Returns: id, timeOffTypeId, name, effectiveDate, type. Only includes policies whose time off type has not been deleted.
list_all_bamboo_hr_time_off_requests
List BambooHR time off requests with OData filtering and sorting support. Returns each request's id, employeeId, categoryId, startDate, endDate, amount, unit, status, and requestedAt. Max 1000 per page.
bamboo_hr_time_off_requests_attach_comment
Add a comment to a BambooHR time off request. Returns the created comment including its id and createdAt. Required: request_id. Empty or whitespace-only comments are rejected.
bamboo_hr_time_off_requests_bulk_update
Create a time off request for a BambooHR employee via the employee-scoped endpoint. Returns the created request including its id, employeeId, name, start, end, created, status, type, amount, and notes. Required: employee_id. Submitting status approved or denied requires owner/admin or time-off-type field access; a previousRequest id destructively supersedes the prior request.
create_a_bamboo_hr_time_off_request
Create a time off request in BambooHR on behalf of an employee; it is created with status REQUESTED and enters the approval workflow. Returns the created request including its id, employeeId, categoryId, startDate, endDate, amount, unit, and requestedAt.
get_single_bamboo_hr_time_off_request_by_id
Get a single BambooHR time off request by id. Returns: id, amount, unit, status, _links. Required: id.
update_a_bamboo_hr_time_off_request_by_id
Update a BambooHR time off request by id using JSON Merge Patch semantics — only fields present in the body change, and employeeNote may be set to null to clear it. Returns: id, amount, unit, status, _links. Editing a REQUESTED request replaces it, so the returned id is authoritative and the replaced id returns 410 thereafter; changing startDate or endDate requires dailyAmounts. Required: id.
create_a_bamboo_hr_time_tracking_project
Create a time tracking project in bamboohr using the legacy contract. Returns the created (or restored) project with its tasks, including id, name, tasks, and employeeIds. Requires name. If a deleted project with the same name exists it is restored with the supplied values instead of a new project being created; this legacy endpoint is deprecated in favor of the current create endpoint.
delete_a_bamboo_hr_time_tracking_project_by_id
Delete a time tracking project in bamboohr by id. Returns an empty 204 response on success. Required: id.
get_single_bamboo_hr_time_tracking_project_by_id
Get a single time tracking project in bamboohr by id, including the employees assigned to it. Returns: id, name, billable, includeInPayroll, allEmployeesAssigned, archived, hasTasks, createdAt, updatedAt, deletedAt, employeeIds, employees. Required: id.
list_all_bamboo_hr_time_tracking_projects
List time tracking projects in bamboohr with OData-style filtering and sorting. Returns projects with id, name, billable, includeInPayroll, allEmployeesAssigned, archived, and employees. Max 500 per page; required: none.
update_a_bamboo_hr_time_tracking_project_by_id
Partially update a time tracking project in bamboohr by id; only fields provided in the request body are changed. Returns the updated project: id, name, billable, includeInPayroll, employees. Required: id. At least one body field must be supplied.
create_a_bamboo_hr_time_tracking_projects_time_tracking
Create a time tracking project in BambooHR. Returns the created project including id, name, hasTasks, billable, and createdAt; if a deleted project with the same name exists, it is restored with its existing id instead. Required: name. Created tasks are not embedded; retrieve them via the project task list.
create_a_bamboo_hr_request_approval
Approve a BambooHR time off request, completing the caller's step in the approval chain (or every remaining step when bypass is true). Returns the updated request with its id, status (still REQUESTED while further approvals are outstanding), and _links when returnActions is set. Required: request_id.
create_a_bamboo_hr_request_cancellation
Cancel a time off request in bamboohr. Allowed while the request is in REQUESTED status, and after approval only if it has not started yet. Returns the updated time off request including its id and, when returnActions is true, the _links block of available state transitions. Required: request_id. Takes no request body.
create_a_bamboo_hr_request_denial
Deny a BambooHR time off request. The denial is final: it completes the caller's step in the approval chain and discards any remaining steps, so the returned request is always in DENIED status. Returns: id, amount, unit, status, _links. Required: request_id.
list_all_bamboo_hr_time_off_requests_comments
List the comments on a BambooHR time off request, ordered oldest first; an empty thread returns an empty array. Returns each comment's id and its schema-defined comment fields (attributes). Required: request_id.
list_all_bamboo_hr_time_off_requests_time_off
List BambooHR time off requests overlapping a start/end date window or changed on/after updatedSince. Returns each request's id, employeeId, name, start, end, status, type, amount, actions, dates, and notes. Requires start and end together, or updatedSince. Use action=myRequests for the caller's own requests; employeeId=0 is not supported here.
bamboo_hr_time_tracking_break_policies_assign
Assign employees to a BambooHR break policy, adding them without removing existing assignments. Returns an empty 204 response on success. Required: break_policy_id, employeeIds (at least one internal employee ID).
create_a_bamboo_hr_time_tracking_break_policy
Create a BambooHR break policy; breaks and employee assignments can optionally be created in the same request. Returns the created policy with id, description, createdAt, updatedAt, and deletedAt. Requires a JSON request body.
delete_a_bamboo_hr_time_tracking_break_policy_by_id
Delete a BambooHR break policy by id. Associated breaks and employee assignments are also removed. Returns an empty 204 response on success. Required: id.
get_single_bamboo_hr_time_tracking_break_policy_by_id
Get a single BambooHR break policy by id. Returns: id, name, description, allEmployeesAssigned, createdAt, updatedAt, deletedAt. Set includeCounts to also include employee and break counts. Required: id.
list_all_bamboo_hr_time_tracking_break_policies
List BambooHR time tracking break policies with OData v4 filtering. Returns: id, name, description, allEmployeesAssigned, createdAt, updatedAt, deletedAt. Set includeCounts to include employee and break counts per policy. Max 500 per page.
bamboo_hr_time_tracking_break_policies_unassign
Unassign employees from a break policy in BambooHR without affecting the policy itself or other assigned employees. Returns an empty 204 response on success. Required: break_policy_id and employeeIds (array of internal employee IDs). Only policies that are not assigned to all employees can be unassigned.
update_a_bamboo_hr_time_tracking_break_policy_by_id
Partially update a break policy in BambooHR by id; only fields provided in the request body are changed. Returns the updated break policy including its id, name, description, and createdAt/updatedAt timestamps. Required: id (UUID).
bamboo_hr_time_tracking_break_policies_update_assign
Set the employee assignments for a break policy in BambooHR; the provided list replaces all existing assignments. Returns an empty 204 response on success. Required: break_policy_id and employeeIds (array of internal employee IDs).
bamboo_hr_break_policie_breaks_bulk_update
Replace all breaks for a BambooHR break policy: items with an id are updated, items without an id are created, and existing breaks omitted from the payload are soft-deleted. Returns the resulting breaks including id, name, duration, paid, availabilityType, and the availability window. Required: break_policy_id; each payload item requires name, duration, paid, and availabilityType.
create_a_bamboo_hr_break_policie_break
Create a new break in BambooHR and associate it with a break policy. Returns the created break including id, name, duration, paid status, availabilityType, and the availability window. Required: break_policy_id, name, duration, paid, availabilityType.
list_all_bamboo_hr_break_policie_breaks
List the breaks configured on a BambooHR break policy, with OData v4 filtering support (e.g. `paid eq true and name ne 'Quick Break'`). Returns each break's id, name, duration, paid status, availabilityType, availability window, and createdAt/updatedAt. Required: break_policy_id. Max 500 per page.
bamboo_hr_break_policie_syncs_bulk_update
Sync a BambooHR Time Tracking break policy by fully replacing its state; any breaks or employee assignments omitted from the payload are removed (unlike the partial update endpoint). Returns: id, name, description, allEmployeesAssigned, createdAt, updatedAt, deletedAt, breaks, employeeIds. Required: break_policy_id and a request body describing the full policy state.
get_single_bamboo_hr_break_policies_suggestion_by_id
Get AI-generated meal and rest break policy suggestions in BambooHR. An AI agent analyzes existing break policies and company context and returns structured recommendations ready for form pre-fill. Returns suggestedPolicies, each with id, title, description, and breaks. Required: prompt (non-empty).
list_all_bamboo_hr_employee_break_availabilities
List an employee's break availabilities in BambooHR Time Tracking. Returns the collection of break availability records computed as of the effective time; the published spec does not enumerate the record fields. Required: employee_id. The effective parameter defaults to the current time and must be in Y-m-d\TH:i:s format with no timezone offset.
list_all_bamboo_hr_employee_break_policies
List break policies assigned to a specific employee in BambooHR. Returns attributes holding the paginated collection of assigned break policies; record fields are content-type-specific, defined by BambooHR's upstream break-policy schema (TimeTracking-TimeTrackingBreakPolicyCollection-V1). Required: employee_id. Max 500 per page.
list_all_bamboo_hr_time_tracking_break_assessments
List break assessments in bamboohr — each records whether an employee complied with their assigned break policy for a given day, along with any violations. Returns: id, breakId, employeeId, employeeTimesheetId, date, timezone, result, availableYmdt, unavailableYmdt, createdAt, updatedAt, violations, clockEntryIds, expectedDuration, recordedDuration, durationDifference. Scope results with the…
delete_a_bamboo_hr_time_tracking_break_by_id
Delete a time tracking break in BambooHR by id. The break is soft-deleted and removed from any break policies it was associated with. Returns an empty 204 response on success. Required: id (break UUID).
get_single_bamboo_hr_time_tracking_break_by_id
Get a single time tracking break in BambooHR by its UUID. Returns the full break details: id, name, duration, paid, availabilityType, and createdAt. Required: id (break UUID).
update_a_bamboo_hr_time_tracking_break_by_id
Partially update a time tracking break in BambooHR by its UUID; only fields provided in the request body are updated. Returns the updated break with id, name, duration, paid, and availabilityType. Required: id (break UUID).
create_a_bamboo_hr_time_tracking_configuration
Create a GROUP time tracking configuration together with its approval workflow in bamboohr. Returns the created configuration including id, name, type, timesheetType, approverType, approverUserId, and customOvertimeEnabled. Type is forced to GROUP server-side — the auto-managed GLOBAL configuration cannot be created. Retries are safe with an optional Idempotency-Key header.
delete_a_bamboo_hr_time_tracking_configuration_by_id
Delete an empty GROUP time tracking configuration in bamboohr by id. Returns an empty 204 response on success. Configurations that still have enrolled employees cannot be deleted — move or un-enroll them first — and the auto-managed GLOBAL configuration cannot be deleted. Deletion is idempotent: an unknown or already-deleted id also returns 204.
get_single_bamboo_hr_time_tracking_configuration_by_id
Get a single bamboohr time tracking configuration by id. Returns the configuration record including id, name, type, timesheetType, approverType, approverUserId, customOvertimeEnabled, and createdAt. Soft-deleted configurations return 404. Required: id.
list_all_bamboo_hr_time_tracking_configurations
List bamboohr time tracking configurations — both GLOBAL and GROUP are returned; soft-deleted ones never are. Returns configurations including id, name, type, timesheetType, and createdAt. Supports an OData-style filter, an orderBy sort expression, and select sparse fieldsets. Max 100 per page.
update_a_bamboo_hr_time_tracking_configuration_by_id
Update a bamboohr time tracking configuration by id using JSON Merge Patch (RFC 7396) semantics — only the properties present in the body change, and explicit nulls clear nullable fields. Returns the updated configuration including id, name, type, approverType, and customOvertimeEnabled. Both GLOBAL and GROUP configurations can be updated. Required: id.
create_a_bamboo_hr_employees_bulk_upsert
Bulk enable, disable, or reassign BambooHR time tracking employee enrollments by POSTing a JSON array of 1–1000 upsert records, each requiring employeeId and applying merge-patch semantics. Records apply asynchronously; the 202 response returns only requestId for log correlation — confirm final state via the enrollment list endpoint. Set atomic=true to commit the batch as one unit; any per-record…
get_single_bamboo_hr_time_tracking_employee_by_id
Get a BambooHR employee's time tracking enrollment by id (the employee ID). Returns the enrollment record including employeeId, enabled, configurationId, enabledOn, timezone, clockInId, createdAt, and updatedAt. Required: id (employee ID).
list_all_bamboo_hr_time_tracking_employees
List BambooHR employee time tracking enrollments, including both enabled and disabled ones, with optional OData filter, sort, and sparse fieldsets. Returns enrollment records including employeeId, enabled, configurationId, enabledOn, and createdAt. Max 100 per page.
update_a_bamboo_hr_time_tracking_employee_by_id
Update a BambooHR employee's time tracking enrollment by id (the employee ID) using merge-patch semantics — only sent fields change; enabling an un-enrolled employee creates the record. Returns: id, employeeId, configurationId, enabled, enabledOn, timezone, clockInId, createdAt, updatedAt. Required: id (employee ID). configurationId and enabledOn cannot be combined with enabled: false.
bamboo_hr_import_rows_bulk_update
Update a single BambooHR time tracking import row using JSON Merge Patch semantics: only the fields sent in the body are applied, omitted fields are unchanged, and the row is auto-corrected and re-validated. Returns the refreshed row with its id, hoursWorked, errors, and corrections. Required: import_id, row_id. Once the import is COMPLETE only hoursWorked may be corrected, and the new value is…
get_single_bamboo_hr_import_row_by_id
Get a single BambooHR time tracking import row by id, including anything on it that failed validation and anything the import corrected. Returns: id, importId, rowNumber, employeeNumber, dateWorked, hoursWorked, rateType, payRate, payCode, projectName, taskName, shiftDifferentialName, holidayName, qualifiedOvertimeHours, errors, corrections, timeTrackingId. Rows of a soft-deleted import are not…
list_all_bamboo_hr_import_rows
List BambooHR time tracking import rows in the order they appear in the uploaded file. Returns each row's id, hoursWorked, errors, and corrections. Required: import_id, id. Rows of a soft-deleted import are not returned.
create_a_bamboo_hr_time_tracking_import
Create a BambooHR time tracking import by uploading a CSV of hours; every row is validated and auto-corrected and the import starts in DRAFT for review before execution. Returns the created import including id, columnMapping, createdAt, and updatedAt. Required: file (UTF-8 .csv with a header row, at least one data row, max 20 MB).
delete_a_bamboo_hr_time_tracking_import_by_id
Delete a BambooHR time tracking import by id. Deletion is terminal and idempotent, and time tracking records created by a COMPLETE import remain in place. Returns an empty 204 response on success. Required: id.
bamboo_hr_time_tracking_imports_execute
Execute a DRAFT BambooHR time tracking import, committing every row as a time tracking record in one synchronous transaction; every row must pass validation first or the request is rejected and names the failing rows. Returns the executed import including id, columnMapping, createdAt, and updatedAt, with completedAt populated. Required: import_id, id.
get_single_bamboo_hr_time_tracking_import_by_id
Get a single BambooHR time tracking import by id, including its resolved column mapping. Returns: id, status, createdAt, updatedAt, deletedAt. Soft-deleted imports are not returned. Required: id (positive integer).
list_all_bamboo_hr_time_tracking_imports
List BambooHR time tracking imports, newest first. Returns import records including id, columnMapping, createdAt, updatedAt, and deletedAt. Soft-deleted imports are never returned.
get_single_bamboo_hr_time_tracking_kiosk_by_id
Get a single BambooHR time tracking kiosk by id. Returns: id, name, lastUsed, createdAt, updatedAt, deletedAt. Deleted kiosks return 404. Required: id.
list_all_bamboo_hr_time_tracking_kiosks
List BambooHR time tracking kiosks, sorted by name ascending by default. Returns kiosks with id, name, lastUsed, createdAt, and updatedAt. Supports an OData filter, orderBy, and select; max 100 per page.
delete_a_bamboo_hr_time_tracking_kiosk_by_id
Delete a BambooHR time tracking kiosk by id (soft delete). Returns an empty 204 response on success. Deletion is idempotent: a missing or already-deleted kiosk also returns 204. Required: id.
update_a_bamboo_hr_time_tracking_kiosk_by_id
Update a BambooHR time tracking kiosk by id with a JSON Merge Patch body. Returns: id, name, createdAt, updatedAt, deletedAt. Only name is mutable (1-255 characters, unique among active kiosks). Required: id, name.
list_all_bamboo_hr_whos_outs
List BambooHR approved time off occurrences overlapping a requested date range. Returns: id, employeeId, timeOffTypeId, start, end. Required: start and end (YYYY-MM-DD); the range may not exceed 366 days.
delete_a_bamboo_hr_clock_entries_delete_by_id
Delete one or more timesheet clock entries in bamboohr by their IDs. Returns an empty 204 response on success. Required: clockEntryIds (array of clock entry IDs). Delete operations are idempotent; entries still clocked in or on an already-approved timesheet cannot be deleted.
create_a_bamboo_hr_clock_entries_store
Create or update BambooHR timesheet clock entries in bulk — entries with an existing id are updated and entries without one are created. Returns the resulting clock entry details for each processed entry. Invalid clock times, project, task, or note data are rejected upstream.
get_single_bamboo_hr_custom_report_by_id
Execute a saved BambooHR custom report by id and retrieve its data rows. Each row is a flat key-value map keyed by the report's configured field names, with string or null values. Required: id (the report's numeric ID). Max 1000 rows per page.
list_all_bamboo_hr_custom_reports
List the saved custom reports available in the BambooHR account. Returns: id, name. Defaults to 500 records per page (max 1000); out-of-range page values are clamped to the nearest valid page.
get_single_bamboo_hr_dataset_by_id
Retrieve records from a BambooHR dataset by name. Supply the fields to return in the request body, with optional filters, sorting, grouping, and aggregations; returned rows are keyed by the requested field names (an object keyed by group value when grouping is used). Required: dataset_name and fields. Deprecated — use Get Data from Dataset (v2).
list_all_bamboo_hr_datasets
List the BambooHR datasets available for querying via the Datasets API. Returns each dataset's machine-readable name and human-readable label. No required parameters. Deprecated — use List Datasets (v1.2).
create_a_bamboo_hr_employee_clock_in
Clock in a BambooHR employee at the current server time, or record a historical clock-in by supplying date, start, and timezone. Returns the new clock entry details, including its id and the entry attributes. Required: employee_id. Omit the body to clock in now; taskId requires projectId.
create_a_bamboo_hr_employee_clock_out
Clock out a currently clocked-in employee in bamboohr at the current server time. Returns the completed clock entry as its id and content-specific attributes. Required: employee_id. Optionally provide date, end (HH:MM 24-hour), and timezone in the body to record a historical clock-out instead.
delete_a_bamboo_hr_hour_entries_delete_by_id
Delete one or more timesheet hour entries in bamboohr by their IDs. Returns an empty 204 response on success. Delete operations are idempotent — deleting already-removed entries does not require client retries. Required: hourEntryIds.
create_a_bamboo_hr_hour_entries_store
Create or update timesheet hour entries in bulk in BambooHR. Entries carrying an existing id are updated and entries without an id are created. On success returns the resulting hour entry details collection; the entry-level field set is not enumerated in the published docs. Requires a JSON body of the hour entries to store.
create_a_bamboo_hr_project_task
Create a new task on a BambooHR time tracking project. Returns the created task record including its id, name, createdAt, updatedAt, and deletedAt. Task names must be unique within the project. Required: name and the project ID (project_id, projectId).
list_all_bamboo_hr_project_tasks
List the tasks of a BambooHR time tracking project. Returns a paginated collection of task records including id, name, projectId, billable, createdAt, updatedAt, and deletedAt. Required: project_id. Defaults to active tasks only; pass statuses[] (active, deleted) or an OData filter to include deleted tasks.
create_a_bamboo_hr_time_tracking_clock_entry
Manually create a clock entry in bamboohr for corrections or retroactive time; the parent daily entry and timesheet are resolved from start and timezone. Returns: id, date, start, end, timezone, hours, note, createdAt, updatedAt. start and end must fall on the same calendar day in timezone; entries crossing local midnight are rejected. Required: start, end, timezone.
delete_a_bamboo_hr_time_tracking_clock_entry_by_id
Delete a bamboohr clock entry by id. Returns an empty 204 response on success. Deletion is idempotent; entries on an approved timesheet or still open are rejected. Required: id.
get_single_bamboo_hr_time_tracking_clock_entry_by_id
Get a single bamboohr clock entry by id. Returns the entry including id, date, start, end, timezone, timesheetId, employeeId, clockInLocation, and clockOutLocation. end and clockOutLocation are null while the entry is open. Required: id.
list_all_bamboo_hr_time_tracking_clock_entries
List bamboohr time tracking clock entries, sorted start desc by default. Returns entries including id, date, start, end, timezone, timesheetId, employeeId, and updatedAt. Supports OData-style filter and sort query parameters. Max 200 per page.
update_a_bamboo_hr_time_tracking_clock_entry_by_id
Partially update a bamboohr clock entry by id; only fields present in the body change, and changing start, end, or timezone revalidates the entry against the same-day rule. Returns: id. Pass null for clockInLocation or clockOutLocation to clear stored geolocation. Required: id.
create_a_bamboo_hr_time_tracking_clock_in
Clocks an employee in at the current server time, creating an open clock entry in BambooHR. Returns the new clock entry with id, employeeId, timesheetId, date, start, and timezone (end is null until clock-out). Requires a JSON body; fails with 409 if the employee is already clocked in.
create_a_bamboo_hr_time_tracking_clock_out
Clock an employee out in bamboohr at the current server time, closing their open clock entry. Returns the closed clock entry including its end timestamp and endSource (USER). The request body is required; validation rejects missing required fields and location accuracy above 10000 meters.
create_a_bamboo_hr_time_tracking_hour_entry
Create a time tracking hour entry in BambooHR for an employee's timesheet. Returns: id, employeeId, timesheetId, date, hours, note, projectId, taskId, createdAt, updatedAt. Requires date and hours (must be greater than zero); the date must fall within an existing timesheet for the employee.
delete_a_bamboo_hr_time_tracking_hour_entry_by_id
Delete a time tracking hour entry in BambooHR by id. Returns an empty 204 response on success. Required: id. Deletion is idempotent and fails if the entry's parent timesheet is already approved.
get_single_bamboo_hr_time_tracking_hour_entry_by_id
Get a single time tracking hour entry in BambooHR by id. Returns the entry with id, timesheetId, employeeId, date, hours, taskId, projectId, createdAt, and updatedAt. Required: id.
list_all_bamboo_hr_time_tracking_hour_entries
List time tracking hour entries in BambooHR. Filter by timesheetId, employeeId, or date and sort by date or updatedAt. Returns entries with id, employeeId, date, hours, timesheetId, and updatedAt. Max 200 per page.
update_a_bamboo_hr_time_tracking_hour_entry_by_id
Partially update a time tracking hour entry in BambooHR by id; only fields present in the body change. Returns: id, createdAt, updatedAt. Required: id. At least one body field must be provided, and employeeId cannot be changed.
create_a_bamboo_hr_time_tracking_shift_differential
Create a BambooHR time tracking shift differential. Returns the created differential including id, name, rate, rateType, times, archived, createdAt, and updatedAt. Requires name, rate, and a non-empty times array; a duplicate name is rejected with a conflict.
delete_a_bamboo_hr_time_tracking_shift_differential_by_id
Delete a BambooHR time tracking shift differential by id. Returns an empty 204 response on success.
get_single_bamboo_hr_time_tracking_shift_differential_by_id
Get a single BambooHR time tracking shift differential by id. Returns the differential record including id, name, rate, rateType, times, archived, createdAt, and updatedAt. Archived records are returned normally; soft-deleted ones return 404. Required: id.
list_all_bamboo_hr_time_tracking_shift_differentials
List BambooHR time tracking shift differentials. Returns a paginated collection; each item includes id, name, rate, rateType, times, archived, createdAt, and updatedAt. Archived rows are excluded by default (include them with filter=archived eq true); max 100 per page.
update_a_bamboo_hr_time_tracking_shift_differential_by_id
Partially update a BambooHR time tracking shift differential by id. Returns the updated differential including id, name, rate, rateType, times, archived, createdAt, and updatedAt. Required: id; at least one body field must be provided or the update is rejected.
delete_a_bamboo_hr_time_tracking_task_by_id
Delete a time tracking task in BambooHR by its ID. Returns an empty 204 response on success. Required: id (integer task ID).
get_single_bamboo_hr_time_tracking_task_by_id
Get a single time tracking task in BambooHR by its ID. Returns: id, attributes. Required: id (integer task ID).
update_a_bamboo_hr_time_tracking_task_by_id
Update a time tracking task in BambooHR by id using a partial PATCH — only supplied fields are changed, and at least one field must be provided. Returns the updated task object with its id, name, projectId, billable flag, and timestamps. Required: id.
get_single_bamboo_hr_time_tracking_time_clock_by_id
Get a single BambooHR time tracking time clock by id. Returns: id, name, serialNumber, timezone. Device health flags are reported as null while device status is temporarily unavailable. Required: id.
list_all_bamboo_hr_time_tracking_time_clocks
List BambooHR time tracking time clocks. Returns: id, name, serialNumber, type, online, configOnline, dataOnline, firmwareOnline, timezone. Supports an OData-style filter, an orderBy sort expression, and select sparse fieldsets; pageSize min 10, max 100. Device health flags are reported as null while device status is temporarily unavailable.
update_a_bamboo_hr_time_tracking_time_clock_by_id
Update a BambooHR time tracking time clock by id using JSON Merge Patch semantics; only name and timezone are mutable. Returns: id, name. Required: id. At least one of name or timezone must be provided in the body. A write returns 503 with a Retry-After header when the GT Clocks partner is unreachable.
create_a_bamboo_hr_time_tracking_timesheet_approval
Approve a timesheet in bamboohr. Returns the approved timesheet with id, status (APPROVED), type, and hoursLastChangedAt. Required: timesheetId, lastChangedAt. Only timesheets in PENDING_APPROVAL can be approved; rejected with 409 if already approved, the approval window has not opened, or hours changed after the supplied lastChangedAt.
list_all_bamboo_hr_time_tracking_timesheet_entries
List BambooHR timesheet entries for all employees or a filtered subset within a date range; results include both clock and hour entry types. Returns timesheet entries grouped by employee, with fields defined by the upstream response schema. Dates must fall within the last 365 days and are interpreted in the company timezone. Required: start, end.
get_single_bamboo_hr_time_tracking_timesheet_by_id
Get a single BambooHR time-tracking timesheet by id. Returns: id, employeeId, startDate, endDate, status, type, approvedAt, updatedAt, hoursLastChangedAt. Required: id. Timesheets for pay periods that have not started yet return 404.
list_all_bamboo_hr_time_tracking_timesheets
List BambooHR time-tracking timesheets. Returns each with id, status, type, employeeId, startDate, endDate, approvedAt, and updatedAt. Supports an OData-style filter (employeeId, status, startDate, endDate) and sort (defaults to startDate desc). Future-period timesheets are excluded; max 200 per page.
get_single_bamboo_hr_timesheet_summary_by_id
Get the daily hours summary for a BambooHR timesheet by id. Returns the pay period's day-by-day breakdown of regular, overtime, and double-time hours, with every date in the pay period represented (0.0 in each bucket on days with no logged hours). Required: id (the timesheet ID). Returns 404 if the timesheet does not exist or its pay period has not started yet.
get_single_bamboo_hr_webhook_log_by_id
List recent delivery log entries for a BambooHR webhook by id. Returns entries with webhookId, url, lastAttempted, lastSuccess, statusCode, format, and employeeIds; lastAttempted/lastSuccess may contain status strings instead of datetimes. Logs cover the last 14 days (max 200 entries) and the array is empty when no deliveries occurred. Required: id.
list_all_bamboo_hr_webhooks_monitor_fields
List the BambooHR employee fields that can be monitored by a webhook. Returns: id, name, alias. Monitor fields apply only to update-event webhooks (employee.updated, employee_with_fields.updated); use the returned ids or aliases in the monitorFields array when creating or updating a webhook.
list_all_bamboo_hr_webhooks_post_fields
List the employee fields that can be included in the post body of a BambooHR field-based webhook. Returns postable field records with id, alias, and type; use the returned IDs or aliases in the postFields map when creating or updating a field-based webhook.
create_a_bamboo_hr_webhooks_v_1
Create a webhook in BambooHR that fires when the specified events occur or monitored fields change. Returns: id, name, created, lastSent, monitorFields, postFields, url, format, privateKey, includeCompanyDomain, events. Required: format, url; monitorFields is also required when events includes employee.updated or employee_with_fields.updated — the default event set when events is omitted.
delete_a_bamboo_hr_webhooks_v_1_by_id
Delete a BambooHR webhook by id. Returns a plain text confirmation message ("Web hook has been deleted."). Required: id.
get_single_bamboo_hr_webhooks_v_1_by_id
Get a single BambooHR webhook by id. Returns the full configuration including id, name, created, lastSent, monitorFields, postFields, url, format, includeCompanyDomain, and events. Required: id.
list_all_bamboo_hr_webhooks_v_1
List all BambooHR webhooks owned by the authenticated user. Returns one summary entry per webhook containing id, name, url, created, and lastSent.
update_a_bamboo_hr_webhooks_v_1_by_id
Fully replace the configuration of a BambooHR webhook by id — all body fields overwrite existing values, so omitted optional fields revert to defaults. Returns: id, name, created, lastSent, monitorFields, postFields, url, format, includeCompanyDomain, events, errors, privateKey. Required: id, format, url; monitorFields is also required when events includes employee.updated or…
bamboo_hr_applicant_tracking_applications_attach_comment
Add a comment to a BambooHR job application. Returns the created comment's type and id. Required: application_id, comment. The comment type defaults to 'comment' if omitted.
create_a_bamboo_hr_applicant_tracking_application
Create a new candidate application for a job opening in BambooHR. Returns the result status and the new candidateId. Required: firstName, lastName, jobId. Resume and coverLetter accept file uploads; only fields required by the target job opening's standard questions need to be provided beyond the required three.
get_single_bamboo_hr_applicant_tracking_application_by_id
Get the full details of a single BambooHR job application by id, including applicant info, job details, questions and answers, and status history. Returns: id, status, rating, attachments, applicant, job. Required: id.
list_all_bamboo_hr_applicant_tracking_applications
List BambooHR job applications, optionally filtered by job, status, search string, or submission date. Each application includes id, appliedDate, status, rating, applicant, and job. Optional query filters: jobId, applicationStatusId, applicationStatus, jobStatusGroups, searchString, sortBy, sortOrder, newSince.
list_all_bamboo_hr_applicant_tracking_hiring_leads
List hiring leads in bamboohr — the employees who can be assigned as a hiring lead when creating a new job opening. Returns: employeeId, preferredFullName. Use the returned employeeId values as the hiringLead field when calling the Create Job Opening endpoint.
create_a_bamboo_hr_applicant_tracking_job_opening
Create a new job opening in BambooHR. Returns: result, jobOpeningId. Requires postingTitle, jobStatus, hiringLead, employmentType, and jobDescription.
list_all_bamboo_hr_applicant_tracking_locations
List all company locations in BambooHR that are available for use when creating a job opening. Returns an array of location objects with: id (pass it as the jobLocation field on the Create Job Opening endpoint), label, and address.
list_all_bamboo_hr_applicant_tracking_statuses
List applicant statuses configured for the company in bamboohr, including both system-defined and custom statuses. Returns: id, code, name, translatedName, description, enabled, manageable.
list_all_bamboo_hr_benchmarks_details
Get detailed compensation benchmark data for a single bamboohr job title, optionally scoped to one location. Returns: location, employees, oauth. Required: jobId.
create_a_bamboo_hr_benchmarks_import
Import compensation benchmarks into bamboohr by uploading a CSV file. Returns a preview payload with uploadData (parsed CSV rows as arrays of string cell values) and columnMap (suggested mapping between expected benchmark fields and CSV column headers); a follow-up publish step is required to persist benchmarks. Required: file. The upload fails when the file part is missing or the CSV is…
bamboo_hr_benchmarks_sources_bulk_delete
Delete a compensation benchmark source in BambooHR together with all benchmarks currently attached to it. Returns: result. Required: id — look it up from the list endpoint before deleting.
bamboo_hr_benchmarks_sources_bulk_update
Update the name and sort order of one or more existing compensation benchmark sources in BambooHR in a single call. Returns: result. Required: benchmarkSources, where every item must include a non-empty id and name; the reserved name `mercer` is rejected.
create_a_bamboo_hr_benchmarks_source
Create a new compensation benchmark source in BambooHR that the company can attach to its benchmarks. Returns: id, name. Required: name. The name must be non-empty and cannot be the reserved value `mercer` (case-insensitive).
list_all_bamboo_hr_benchmarks_sources
List every enabled compensation benchmark source configured for the company in BambooHR. Each source identifies where a benchmark value came from (e.g. a survey provider). Returns: id, name, sort, count, colorCode. Use the returned id as the sourceId input when creating or updating a benchmark.
list_all_bamboo_hr_benefit_company_benefits
List all active (non-deleted) company benefit plans in BambooHR. Returns summary fields for each plan: id, name, benefitCategoryType, vendorId, deductionId. Deleted plans are excluded.
list_all_bamboo_hr_benefit_employee_benefits
List bamboohr employee benefit enrollments grouped by employee, including current and scheduled-future records for each plan. Returns: employeeId, payFrequency, employeeBenefit. Required: filters. The filters object must include at least one of employeeId, companyBenefitId, or enrollmentStatusEffectiveDate; an empty or missing filters object is rejected.
list_all_bamboo_hr_benefit_member_benefits
List BambooHR benefit enrollment events for all employees and their dependents over the past year, organized by member. Returns member benefit event records with id and member-specific attributes that list per-plan coverage events (eligibility granted, enrolled, or loss of coverage) sorted chronologically.
list_all_bamboo_hr_benefits_member_benefits
List BambooHR member benefit enrollment records for all members (employees and dependents) for a given calendar year. Returns per-member records including memberId, subscriberId, and plans with planId and dateRanges (startDate, endDate, status). Required: calendarYear (YYYY). Dependents appear alongside their subscribing employee via subscriberId; use "List Company Benefits" to resolve valid…
list_all_bamboo_hr_company_informations
Get basic profile information for a BambooHR company. Returns: legalName, displayName, address, phone. For payroll users, legal name and address come from the active payroll client metadata; otherwise from account settings.
bamboo_hr_company_profile_data_company_informations_bulk_update
Update BambooHR company profile information — legal name, phone, and/or address — using JSON merge-patch semantics (JSON null removes a value). Returns the full company profile: id, legalName, displayName, address, phone, status, terminationDate, and industryCode. String fields must be JSON strings (not numbers); when patching address, city, state, and zip must all be non-empty.
bamboo_hr_company_profile_data_display_names_bulk_update
Update the BambooHR company's display name. Returns: success, employees. Required: companyName — a non-empty string of up to 255 characters (character count, not bytes).
bamboo_hr_company_profile_data_industry_codes_bulk_update
Update the industry codes associated with the company in BambooHR. Returns the updated list of enabled industries under company_industries, each with industryId, addedByCustomer, addedByUserId, and addedYmdt. Requires industryIds — currently limited to a single entry per company.
list_all_bamboo_hr_company_profile_integrations
List the integration feature identifiers currently enabled for the company in bamboohr. Returns an array of uppercase identifier strings (e.g. BAMBOOHR_PAYROLL, GOOGLE_SSO, SLACK) reflecting the company's current subscription and configuration.
list_all_bamboo_hr_custom_fields_types
List the custom field types available when creating a custom field in BambooHR. Returns the collection of supported custom field type definitions, each describing one type a new custom field can use.
list_all_bamboo_hr_custom_reports_legacy_field_maps
List the legacy report field mappings in BambooHR that repoint deprecated Get Company Report field identifiers to the current Custom Reports and Datasets field names. Returns: legacyFieldId, fieldName, fieldLabel, type, entityName, qualifier. Not paginated and not scoped to the caller's field permissions; cached per account for up to an hour.
list_all_bamboo_hr_custom_reports_legacy_id_maps
List the BambooHR legacy-to-new custom report ID mappings produced by the report migration. Returns: legacyReportId, newReportId, status. Non-administrators receive entries only for reports they can access.
bamboo_hr_custom_table_fields_bulk_delete
Delete a single column (field) from a BambooHR custom table by id, permanently removing all data stored in it and the field from any custom reports that reference it; this cannot be undone. Returns an empty 204 response on success. Required: custom_table_id, field_id. Repeating a delete returns 404 rather than succeeding.
create_a_bamboo_hr_custom_table_field
Add a new column (field) to an existing BambooHR custom table; the new column is appended after the table's current columns and any id supplied in the request body is ignored. Returns: id, name, type, isEncrypted, isCalculated, isRequired, order, summarize, values, sortField. Required: custom_table_id, name, type.
get_single_bamboo_hr_datum_by_id
Query rows from a named BambooHR dataset (v2). Returns each row's requested values under fields plus _restrictedFields naming any requested fields the caller cannot read. Required: dataset_name, fields. Filter expressions use OData syntax (a single expression may use and or or, not both); orderBy fields must also appear in fields; pageSize max 1000.
create_a_bamboo_hr_dataset_field_option
Get the allowed field options for one or more fields in a BambooHR dataset (v1.2), for use as filter values with Get Data from Dataset (v2). Returns an object keyed by field name (e.g. status), where each value is an array of option objects with id and value. Required: dataset_name, fields. Unrecognised field names may produce a 500 error; use Get Fields from Dataset (v1.2) to discover valid…
get_single_bamboo_hr_dataset_field_option_by_id
Get the allowed field options for one or more fields in a BambooHR dataset (v1, deprecated — use Get Field Options v1.2). Returns an object keyed by field name (e.g. status), where each value is an array of option objects with id and value. Required: dataset_name, fields. Unrecognised field names may produce a 500 error with a plain-text body.
list_all_bamboo_hr_dataset_fields
List field descriptors for a BambooHR dataset. Returns: name, label, parentType, parentName, entityName. Required: dataset_name. Deprecated: use Get Fields from Dataset (v1.2) instead. The returned field name values are used in the fields array when querying data via Get Data from Dataset.
list_all_bamboo_hr_dataset_fields_datasets
List field descriptors for a BambooHR dataset. Returns: name, label, parentType, parentName, entityName, id, type. Required: dataset_name. Max 1000 fields per page; employee dataset field names are section-prefixed and differ from those in list-employees/get-employee.
list_all_bamboo_hr_deduction_types_alls
List all benefit deduction types available in bamboohr (e.g. 401(k), HSA, Section 125). Returns: id, timestamp, data.
list_all_bamboo_hr_details_exports
Export BambooHR compensation benchmark details for a single job as a CSV download. Rows include employee name, location, annualized pay, compa-ratio, range penetration, years of experience, and the job's internal pay band. Required: jobId. Omitting locationId aggregates across all locations; use the compensation benchmarks list endpoint to find valid jobId and locationId values.
bamboo_hr_fields_reorders_bulk_update
Reorder the columns of a BambooHR custom table. Returns the full updated custom table including id, name, tab, columns, and sortOrderDirection. Required: custom_table_id and columns (must list every field ID currently in the table — a partial list or an ID from another table is rejected with 422). Any id in the request body is ignored; requires an owner-admin.
create_a_bamboo_hr_hris_custom_field
Create a new custom field in BambooHR. Returns the created custom field object including its id, name, and type. Requires a JSON request body defining the new field.
delete_a_bamboo_hr_hris_custom_field_by_id
Archive a custom field in BambooHR by id. The field is soft-archived rather than permanently deleted; archived fields remain retrievable via the archived list. Returns: success. Required: id.
get_single_bamboo_hr_hris_custom_field_by_id
Get a single active custom field definition in BambooHR by id. Returns: id, name, type, order, summarize, values, fields. Archived fields are not available through this method — list archived fields instead. Required: id.
list_all_bamboo_hr_hris_custom_fields
List active custom field definitions in BambooHR, paginated (up to 1000 per page). Returns each field's id and legacyId identifiers. For archived fields, list archived custom fields instead.
update_a_bamboo_hr_hris_custom_field_by_id
Edit an existing custom field in BambooHR by id. Returns the edited custom field object including its id, name, and type. Required: id and a JSON request body.
create_a_bamboo_hr_hris_custom_table
Create a BambooHR custom table together with its columns in a single request. Returns: id, name, type, isEncrypted, isCalculated, isRequired, order, summarize, values, fields, sortOrderDirection, legacyId. Required: name, type, tab, columns. Any id in the body is ignored and a new table id is always assigned.
get_single_bamboo_hr_hris_custom_table_by_id
Get a BambooHR custom table definition with its fields by id. Returns: id, name, type, order, summarize, values, fields. Required: id.
list_all_bamboo_hr_hris_custom_tables
List active BambooHR custom tables with their fields. Returns: id, legacyId, name, type, isEncrypted, isCalculated, isRequired, order, pageId, pageLegacyId, sectionId, sectionLegacyId, customTableId, customTableLegacyId, sortOrderDirection, summarize, sortField, values, fields, tab, columns, allowEdits. Max 1000 per page.
update_a_bamboo_hr_hris_custom_table_by_id
Update a BambooHR custom table by id, optionally replacing its full column set. Returns: id, name, type, isEncrypted, isCalculated, isRequired, order, summarize, values, fields, sortOrderDirection, legacyId. Required: name, type, tab, id. Omitting columns leaves existing columns unchanged; providing columns replaces the entire set. Omitted allowEdits resets to true and omitted sortOrderDirection…
list_all_bamboo_hr_v_1_2_datasets
List the datasets available for querying in BambooHR's Datasets API. Returns the catalog of dataset entries, each with its name (machine-readable identifier used as the datasetName path parameter in other dataset endpoints) and label (human-readable display name). No required parameters.
bamboo_hr_custom_field_list_values_bulk_delete
Delete a dropdown option from a list-type custom field in bamboohr. Returns an empty 204 response on success. Fails if the list value is still assigned to employees. Required: custom_field_id, list_value_id.
bamboo_hr_custom_field_list_values_bulk_update
Edit a dropdown option on a list-type custom field in bamboohr. Returns the updated list value with id, legacyId, and display. Required: custom_field_id, list_value_id.
create_a_bamboo_hr_custom_field_list_value
Add one or more dropdown options to a list-type custom field in bamboohr. Returns the created value with id, legacyId, and display (an array of objects when several values are added). Supply either option (single) or values (multiple). Required: custom_field_id.
list_all_bamboo_hr_custom_field_list_values
List the dropdown options, with the number of employees using each option, for a list-type custom field in bamboohr. Returns: id, legacyId, name, type, isEncrypted, isCalculated, isRequired, summarize, values. Required: custom_field_id.
list_all_bamboo_hr_custom_fields_archiveds
List archived custom fields in BambooHR. Returns a paginated list of archived field definitions, each with a string id and a numeric legacyId companion for legacy integrations; for active fields use List Custom Fields instead. Max 1000 per page.
create_a_bamboo_hr_custom_fields_unarchive
Unarchive custom fields in BambooHR. Returns: success. Requires a JSON request body.
bamboo_hr_employee_files_bulk_delete
Permanently delete an employee file in bamboohr. This action cannot be undone and is idempotent — it Returns an empty 204 response on success. Returns no response body on success. Required: employee_id, file_id.
create_a_bamboo_hr_employee_file
Upload a file to an employee's file section in bamboohr. Returns 201 with no response body — the URL of the newly created file resource is returned in the Location header. Files must be under 20MB and use a supported extension. Required: employee_id, fileName, category, file.
list_all_bamboo_hr_employee_files
Download an employee file in bamboohr as a binary attachment — the response returns the raw file bytes, with Content-Type reflecting the file's stored MIME type and Content-Disposition carrying the original filename, not a JSON object. Archived or soft-deleted files are excluded. Required: employee_id, file_id.
update_a_bamboo_hr_employee_file_by_id
Update an employee file's metadata in bamboohr — rename the file, move it to a different category, or toggle employee visibility. Only fields present in the request body are updated; an empty JSON body is rejected. Returns no response body on success. Required: id.
bamboo_hr_employee_goals_attach_comment
Add a comment to a BambooHR employee's goal. Returns the created comment including id, text, authorUserId, createdAt, canEdit, and canDelete. Required: employee_id, goal_id, text.
bamboo_hr_employee_goals_bulk_delete
Permanently delete a goal for a BambooHR employee. Returns an empty 204 response on success. Required: employee_id, goal_id (exact goal ID — resolve by title via list when only the title is known).
bamboo_hr_employee_goals_bulk_update
Update a BambooHR employee goal's top-level fields (title, description, dueDate, sharing, alignment, progress). Returns the updated goal including id, title, dueDate, status, and percentComplete. Required: employee_id, goal_id, title, dueDate, sharedWithEmployeeIds. Deprecated: this v1 endpoint cannot add milestones — use the v1.1 update endpoint instead.
create_a_bamboo_hr_employee_goal
Create a new goal for a BambooHR employee. Returns the created goal including id, title, dueDate, status, and percentComplete. Required: employee_id, title, dueDate, sharedWithEmployeeIds (must include the goal owner). Omit milestones for a simple goal; a non-empty milestones array creates a milestone-based goal whose progress derives from milestone completion.
list_all_bamboo_hr_employee_goals
List a BambooHR employee's goals, e.g. to locate a goal by title before updating, commenting on, or deleting it. Returns goal records including id, title, dueDate, status, percentComplete, and milestones. Required: employee_id. Closed goals are excluded unless filter is set; results are capped at 50 goals.
bamboo_hr_employee_goals_list_comments
List comments for a BambooHR employee goal. Returns up to 50 comments ordered by creation date, each with id, authorUserId, text, createdAt, and canEdit/canDelete permissions. Required: employee_id, goal_id.
update_a_bamboo_hr_employee_goal_by_id
Update a BambooHR employee goal's top-level fields (v1.1). Returns the updated goal response object including id, description, and lastChangedDateTime. Requires title, dueDate, sharedWithEmployeeIds, employee_id, and id. Milestones passed in are added as new, never reconciled or replaced; to remove milestones use deletedMilestoneIds.
bamboo_hr_employee_tables_bulk_delete
Delete a row from a BambooHR employee table. Returns: success, error, data, meta, _links. Required: employee_id, table, row_id. Deletion fails when the row has pending approval changes or is tied to an active pay schedule.
create_a_bamboo_hr_employee_table
Create a new row in a BambooHR employee table by submitting field name/value pairs in the body (e.g. jobInfo or compensation history rows). Deprecated: use the v1.1 create-table-row endpoint. Returns no response body on success. Required: employee_id, table.
list_all_bamboo_hr_employee_tables
List all rows for a BambooHR employee and table combination. Returns rows with id, employeeId, plus the table's field columns (fields the caller lacks permission for are omitted). Required: employee_id, table. Pass employee_id="all" to retrieve rows for every accessible employee.
update_a_bamboo_hr_employee_table_by_id
Update fields on an existing BambooHR employee table row by submitting the field name/value pairs to change. Deprecated: use the v1.1 update-table-row endpoint. Returns no response body on success. Required: id (the table row id), table.
create_a_bamboo_hr_employee_tables_employee
Add a new row to a BambooHR employee table by submitting the row's field name/value pairs, keyed by the table's field API names. Returns an empty response body on success. Required: employee_id, table.
update_a_bamboo_hr_employee_tables_employee_by_id
Update an existing row in a BambooHR employee table by submitting field name/value pairs for the fields to change; a 200 is returned as long as at least one field was updated, even if some fields were skipped due to permissions. Returns an empty response body on success. Required: id, table.
create_a_bamboo_hr_employees_v_1
Create a new BambooHR employee. Returns the created employee record including id, firstName, lastName, and the other supplied field values. Required: firstName, lastName. Any valid writable employee field name may also be included as a key (discover via List Fields); photo-related keys are silently ignored — attach a photo afterward via the Upload Employee Photo endpoint.
get_single_bamboo_hr_employees_v_1_by_id
Get a single BambooHR employee by id. Returns an object keyed by the requested field names: id is always present (string), plus values for firstName, lastName, workEmail and other requested fields. Required: id. Without fields the response contains only id; up to 400 fields per request. Pass id 0 to read the authenticated caller's own record.
list_all_bamboo_hr_employees_v_1
List all BambooHR employees in the company as a cursor-paginated collection, or batch-lookup multiple employees by id. Returns records with employeeId, firstName, lastName, preferredName, photoUrl, jobTitleName, status, and _restrictedFields (fields the caller cannot read). Page size defaults to 250, maximum 2500.
update_a_bamboo_hr_employees_v_1_by_id
Update a BambooHR employee's fields by submitting field name/value pairs. Returns the updated employee record including id, firstName, lastName, and the saved field values. Required: id. Any valid writable employee field name may be used as a key (discover via List Fields); employmentType and terminationDate cannot be changed here, and photo keys are silently ignored.
create_a_bamboo_hr_file
Upload a company file to a file category in bamboohr via multipart form-data. Returns no response body on success; the URL of the newly created file is delivered in the Location header. Files must be under 20MB and use a supported extension. Requires fileName, category, and file.
delete_a_bamboo_hr_file_by_id
Permanently delete a company file in bamboohr by id, removing it and its associated storage. Read-only file types such as e-signature templates are silently skipped. Returns an empty 204 response on success. Required: id.
get_single_bamboo_hr_file_by_id
Download a company file from bamboohr by id. Returns the raw binary file content as the response body rather than JSON, with the Content-Type header reflecting the file's MIME type. Required: id (the numeric company file ID).
update_a_bamboo_hr_file_by_id
Update a company file's metadata in bamboohr by id: rename the file, move it to a different category, or toggle employee visibility. Only fields included in the request body are updated. Returns no response body on success. Required: id.
bamboo_hr_goal_progreses_bulk_update
Update the progress percentage of a simple, non-milestone goal in BambooHR. Returns the goal response object including id, status, percentComplete, completionDate, and lastChangedDateTime. Required: employee_id, goal_id, percentComplete. Provide completionDate when percentComplete is 100; goals with milestones are rejected — use the milestone progress endpoint instead.
list_all_bamboo_hr_goals_filters
Get the count of goals per status for a BambooHR employee. Deprecated v1 endpoint — use the v1.1 or v1.2 goal-filters endpoints instead. Returns a version-specific goal status filter counts object with schema-specific fields; goals with milestones are excluded from the counts. Required: employee_id.
list_all_bamboo_hr_goals_filters_goals
Get the goal status filters for a BambooHR employee: a map of status filter ids (e.g. status-inProgress) to each status's goal count and available actions. Deprecated in favor of the v1.2 endpoint, which also includes goals with milestones. Required: employee_id.
bamboo_hr_milestone_progreses_bulk_update
Update the progress of a single milestone on a BambooHR goal, such as marking it complete or incomplete. Returns the updated goal details for the parent goal — validate the result using fields like the milestone's completedDateTime and the goal's status and percentComplete; do not rely solely on lastChangedDateTime, since it may not match the response time or may reflect BambooHR's internal…
list_all_bamboo_hr_pay_grades_and_bands
List the currently published pay grades and bands in bamboohr. Returns the published groups array, where each group carries its levels with levelId, levelName, min, mid, max, currencyCode, compensationType (Salary or Hourly), percentageRange, and jobTitles. The groups array is empty when nothing has been published.
create_a_bamboo_hr_pay_grades_and_bands_import
Upload a levels and bands CSV to BambooHR for parsing and preview. Returns uploadData (an array of row arrays with the raw cell strings for each data row) and columnMap (each CSV column header paired with the field it maps to via expectedColumnKey, or null when the header is unrecognized). Preview only — nothing is persisted and no draft is created; persist the data via the pay grades and bands…
bamboo_hr_pay_grades_and_bands_job_titles_bulk_update
Replace all draft job-title-to-compensation-level assignments in BambooHR with the supplied associations; assignments omitted from the request are removed from the draft. Requires the complete replacement set of job-title-to-level associations in the request body. Returns an object with status set to success. Every target level must belong to a draft group or the call fails with 400; writes apply…
list_all_bamboo_hr_pay_grades_and_bands_job_titles
Get job titles and their compensation level assignments in BambooHR — the working draft configuration when one exists, otherwise the currently published configuration. Returns: groups, id, name, created, monitorFields, postFields, url, format, privateKey. Read-only view with no employee data included.
list_all_pay_grades_and_bands_job_titles_with_employees
List every active, non-archived BambooHR job title together with the employees currently holding each. Returns: id, title, employees. An empty employees array can mean no one holds the title or the caller cannot view required employee fields.
bamboo_hr_pay_grades_and_bands_levels_bulk_delete
Delete BambooHR compensation level configuration by segment: a group status (draft, published, or historic) deletes all compensation level groups in that status, while a numeric level ID deletes that single level. Returns: status, groups, id, name, created, monitorFields, postFields, url, format, privateKey. Required: segment. Cannot be undone.
bamboo_hr_pay_grades_and_bands_levels_bulk_update
Create or update BambooHR compensation level groups and levels in the draft configuration as a partial upsert (omitted groups and levels are unchanged; blank group or level names delete when an id is supplied). Returns: status, id, name, created, monitorFields, postFields, url, format, privateKey. Required: groups. Pay band values and compensationType are accepted but not saved by this endpoint.
list_all_bamboo_hr_pay_grades_and_bands_levels
List BambooHR compensation level groups and levels from the working draft (or the currently published configuration when no draft exists), including levels-step validation state. Returns: groups, id, name, created, monitorFields, postFields, url, format, privateKey.
bamboo_hr_pay_grades_and_bands_pay_bands_bulk_update
Update pay band values (min, mid, max, percentageRange) for compensation levels in the bamboohr working draft; if no draft exists, one is created from the published configuration and published level IDs are remapped to draft level IDs. Returns: status, id, name, created, monitorFields, postFields, url, format, privateKey. Required: payBands — each entry needs levelId. Values are written to the…
list_all_bamboo_hr_pay_grades_and_bands_pay_bands
Get the pay band configuration for every compensation level in bamboohr — the working draft when one exists, otherwise the currently published configuration. Returns: groups, id, name, created, monitorFields, postFields, url, format, privateKey.
create_a_bamboo_hr_pay_grades_and_bands_publish
Publish the draft compensation configuration in bamboohr, promoting every draft compensation level group with its levels, pay bands, and job-title assignments to the live published set (previously published groups become historic). Returns: status. Bodyless POST with no request body; the publish is rejected when the draft has unresolved validation errors or warnings, and is a no-op returning…
list_all_bamboo_hr_pay_grades_and_bands_reviews
Get the pre-publish levels and bands review in bamboohr with validation errors and warnings consolidated across every setup step. Returns an object with a groups array — each group carries groupId, groupName, levels (levelId, levelName, min/mid/max/percentageRange values, currencyCode, compensationType, jobTitles) plus per-group errors and warnings. Falls back to the published config when no…
list_all_bamboo_hr_pay_grades_and_bands_status
Get the Pay Grades & Bands (levels and bands) configuration status in BambooHR, broken down by setup step. Returns: levels, review. An empty errors/warnings array can also mean the step has not yet been evaluated.
list_all_bamboo_hr_pay_grades_and_bands_status_counts
Get a tally of BambooHR compensation level groups in each lifecycle status. Returns: draft, historic, published. Takes no parameters. For setup-step completion details, use the Levels and Bands Status endpoint instead.
list_all_bamboo_hr_changed_tables
Get bamboohr employee table rows that have changed since a given timestamp for one table, without downloading all table data for every employee. Returns: table, employees. Required: table, since (ISO 8601 timestamp).
get_single_bamboo_hr_compensation_total_reward_by_id
Check whether a BambooHR employee has an active Total Rewards profile and the current user is allowed to view it. Returns an empty 204 response on success; a 404 indicates the profile does not exist or the user lacks permission. Required: id (the internal employee ID).
list_all_bamboo_hr_countries_options
List every country in the BambooHR catalog as a JSON array, or a single country object when isoCode (ISO 3166-1 alpha-2, exactly two letters) is supplied. Returns: id, name, isoCode.
list_all_bamboo_hr_currency_types
List all supported currency types in bamboohr. Returns a catalog where each entry includes id, code, name, symbol, and symbolPosition (0 = symbol before the amount, 1 = after).
create_a_bamboo_hr_employee_photo
Upload a photo for a BambooHR employee, replacing the current photo for all size variants. Returns an empty 201 response on success. Required: employee_id, file. Image must be square (within 1 pixel), at least 150×150 pixels, max 20MB, JPEG/PNG/BMP/GIF; no server-side cropping is performed, so crop non-square images before upload.
list_all_bamboo_hr_employee_photos
Get a BambooHR employee photo at the requested size (original, large, medium, small, xs, or tiny). Returns the photo as a JSON object with mimeType and fileBase64 (base64-encoded image bytes). Required: employee_id, size. Optional width/height scaling applies only to small and tiny sizes. A 404 with 'Employee photo not found' means the employee simply has no photo on file.
list_all_bamboo_hr_employees_changeds
Get bamboohr employee IDs that changed since a given timestamp for efficient incremental syncing instead of downloading all employees. Returns the latest last-changed timestamp plus a map of changed employees, each entry with id, action (Inserted, Updated, or Deleted), and lastChanged. Required: since.
create_a_bamboo_hr_files_category
Create one or more company file categories in BambooHR by posting a JSON array of category name strings (XML also accepted). Each name must be non-empty and unique among existing categories; reserved names are rejected. Returns no response body on success (201), or 200 with nothing created when the array is empty.
get_single_bamboo_hr_goal_aggregate_by_id
Get the full aggregate detail for a single BambooHR performance goal by id. Returns the goal object plus canAlign, canCreateGoals, alignsWithOptions, comments, and persons with access. Required: employee_id, id.
create_a_bamboo_hr_goal_close
Close a BambooHR goal by id, moving it to the closed status, with an optional closing note. Returns the updated goal under `goal`, including its status, percentComplete, completionDate, and lastChangedDateTime. Required: employee_id, goal_id. Cascading goals with visible children cannot be closed.
bamboo_hr_goal_comments_bulk_delete
Delete a goal comment in BambooHR by id. Returns an empty 204 response on success. The comment must belong to the specified goal, and the goal to the specified employee. Required: employee_id, goal_id, comment_id.
bamboo_hr_goal_comments_bulk_update
Update the text of an existing goal comment in BambooHR. Returns the updated comment including id, text, authorUserId, createdAt, canEdit, and canDelete. Required: employee_id, goal_id, comment_id, and a body with text.
create_a_bamboo_hr_goal_reopen
Reopen a closed BambooHR goal, returning it to in-progress status. Returns the updated goal object under `goal`, including status, percentComplete, and lastChangedDateTime for confirming the reopen. Required: employee_id, goal_id.
bamboo_hr_goal_shared_withs_bulk_update
Update Goal Sharing in BambooHR: replace the full list of employees a goal is shared with. Returns the updated goal object wrapped under `goal`, including fields such as title, status, percentComplete, dueDate, and sharedWithEmployeeIds. Required: employee_id, goal_id, and a sharedWithEmployeeIds array that must include the goal owner's internal employee ID.
get_single_bamboo_hr_goals_aggregate_by_id
Get a BambooHR employee's goals aggregate (v1). Deprecated — use v1.1 or v1.2. Returns goals, status filters, selectedFilter, shared persons, per-goal comment counts, and canAlign/canCreateGoals flags. Milestone goals are excluded. Required: id (internal employee ID).
list_all_bamboo_hr_goals_aggregates
Get a BambooHR employee's goals aggregate (v1.1). Deprecated — use v1.2. Returns goals, status filters with their counts and actions, selectedFilter, shared persons, per-goal comment counts, and canAlign/canCreateGoals flags. Unlike v1, includes goals in the closed filter. Required: employee_id.
list_all_bamboo_hr_goals_aggregates_aggregate
Get the goals dashboard aggregate for a BambooHR employee: goals matching the selected filter, per-status filter counts and actions, comment counts, and people shared with or commenting on those goals. Unlike earlier versions, this v1.2 endpoint includes milestone-based goals. Returns: canAlign, canCreateGoals, filters, selectedFilter, goals, persons, comments. Required: employee_id.
list_all_bamboo_hr_goals_alignment_options
List the goals a BambooHR employee can use as alignment targets. Returns alignsWithOptions, an array of available target goals, each with id and title. Required: employee_id.
list_all_bamboo_hr_goals_can_create_goals
Check whether the authenticated caller has permission to create a goal for an employee in bamboohr. Returns: canCreateGoals. Required: employee_id.
list_all_bamboo_hr_goals_share_options
List the BambooHR employees with whom the specified employee's goals can be shared. Returns the persons array, where each person includes employeeId, userId, displayFirstName, lastName, and photoUrl. Required: employee_id, search. The search term matches name, internal employee ID, and email; limit defaults to 10 with a maximum of 100.
list_all_bamboo_hr_meta_bank_holidays
List global bank holiday reference dates in BambooHR — US federal and related bank holidays, not company-configured holidays. Returns holidays sorted by date ascending; each includes: id, name, date.
list_all_bamboo_hr_meta_companies
Get the BambooHR company's metadata properties for API access. Returns: id, name, domain, baseApiUrl. Takes no parameters.
get_single_bamboo_hr_meta_country_by_id
Get a single country from the BambooHR country catalog by id. Returns: id, name, isoCode. Required: id (numeric country id; obtain valid ids from the id field of the Get Countries list).
list_all_bamboo_hr_meta_currency_conversions
Get the latest currency conversion rate snapshot in bamboohr for a single base currency. Returns: baseCurrency, lastUpdated, nextUpdate, rates. A well-formed base currency code with no stored snapshot returns 404.
list_all_bamboo_hr_meta_fields
List all employee fields available in the BambooHR account, including standard and custom fields, to discover valid field names for employee and dataset endpoints. Returns: id, name, type, alias, deprecated.
list_all_bamboo_hr_meta_industries
List all industries in BambooHR's reference data. Returns every industry as an array of entries with: id, name. Pass a returned entry's id to Update Company Industry Codes to set a company's industry. Takes no parameters.
get_single_bamboo_hr_meta_province_by_id
List the states and provinces for one country in BambooHR by its numeric country ID. Returns an options array of state/province entries sorted alphabetically by label, each with label (subdivision abbreviation, e.g. "UT"), name (full name), and iso (ISO 3166-2 code, e.g. "US-UT"). Required: id (the numeric country ID from the countries options list).
list_all_bamboo_hr_meta_provinces
List all states and provinces across every country in BambooHR as a flat array. Returns province entries with id, countryId, label (abbreviation, e.g. "UT"), iso (ISO 3166-2 code, e.g. "US-UT"), and name; filter client-side using countryId.
get_single_bamboo_hr_meta_timezone_by_id
Get a single BambooHR timezone by its numeric id. Returns the timezone resource with its id and timezone attributes (field details defined upstream). Required: id (numeric timezone ID).
list_all_bamboo_hr_meta_timezones
List BambooHR timezones, with OData v4 filtering, sorting, and field projection supported. Returns a paginated collection of timezone resources, each with its id and timezone attributes (field details defined upstream).
list_all_bamboo_hr_meta_users
List all BambooHR users for the company. Returns an object keyed by user ID where each user entry includes id, employeeId, firstName, lastName, email, status, and lastLogin. Support admin accounts are always excluded from the response.
create_a_bamboo_hr_org_location
Create a job location in BambooHR. Returns the created location including id, label, archived, address, and createdAt. Requires label and address; when address.remoteLocation is true, address fields must be null or omitted.
delete_a_bamboo_hr_org_location_by_id
Delete a job location by id in BambooHR. Returns an empty 204 response on success. Locations in use cannot be deleted (409) — archive them instead to prevent future usage. Required: id.
get_single_bamboo_hr_org_location_by_id
Get a single job location by id in BambooHR. Returns the full location resource including id, label, archived, manageable, address, createdAt, and archivedAt, and supports expanding related state and country details. Required: id.
list_all_bamboo_hr_org_locations
List job locations in BambooHR, returning active locations by default. Each location includes id, label, archived, address, and createdAt. Supports OData v4 filter, sort, select, and state/country expansion.
update_a_bamboo_hr_org_location_by_id
Update a job location by id in BambooHR. Returns the updated location including id, label, archived, address, and createdAt. Requires label and address; when address.remoteLocation is true, address fields must be null or omitted.
create_a_bamboo_hr_reports_custom
Request an ad-hoc employee report from BambooHR for all employees (Active and Inactive) based on a caller-specified field list. Returns: title, fields, employees. Required: fields. Deprecated: use Datasets Get Data from Dataset instead; max 400 fields per request.
list_all_bamboo_hr_timezones_by_zips
Get the BambooHR timezone for a US ZIP code. Returns the timezone resource with its numeric id. Required: zip (5-digit US ZIP code, e.g. 84604). Only US ZIP codes are supported; valid ZIPs missing from the reference data return a 404.
create_a_bamboo_hr_timetracking_add
Create a single time tracking hour record in bamboohr. Returns the new time tracking ID. Requires a TimeTrackingRecord request body; for bulk imports, use the create-or-update-time-tracking-hour-records endpoint instead.
bamboo_hr_timetracking_adjusts_bulk_update
Update an existing hour record in BambooHR by editing it via its `timeTrackingId`. Returns the time tracking ID (`timeTrackingId`) of the adjusted record. Required: timeTrackingId.
delete_a_bamboo_hr_timetracking_delete_by_id
Delete a time tracking hour record in bamboohr by id (the timeTrackingId, up to 36 characters, e.g. a UUID). Removes the record and all of its stored revisions, and returns a 200 "Record removed" acknowledgment body whose fields are not enumerated upstream. Not-found or invalid ids are returned as a 400 error. Required: id.
create_a_bamboo_hr_timetracking_record
Bulk add or update hour records in BambooHR. Returns an array of per-item results, each with a success flag and a response object containing the new record id or a failure message; HTTP 201 is returned even when individual items fail validation, so inspect each item's success field for partial failures. Required: a JSON body of hour records.
get_single_bamboo_hr_timetracking_record_by_id
Get a single time tracking hour record in BambooHR by id. Returns the full record including id, hours, date, employee, project, task, and shiftDifferential; project and shiftDifferential are null when not applicable. Required: id (the record id used to originally create the record). Missing records may return an empty/null payload rather than a not-found error.
get_single_bamboo_hr_total_reward_printable_by_id
Get a printable Total Rewards statement for a BambooHR employee as a PDF download. Returns the statement rendered as a binary PDF file rather than a JSON object. Required: id (the employee's internal employee ID).
get_single_bamboo_hr_total_reward_statement_by_id
Get a BambooHR Total Rewards statement for a specific employee. Returns the full statement covering compensation, benefits, bonuses, equity, reimbursements, and time-off data. Required: id (the employee's internal employee ID).
bamboo_hr_total_rewards_custom_disclaimers_bulk_delete
Remove the company-wide Total Rewards custom disclaimer in BambooHR. After removal, the default disclaimer will be shown on employee statements. Returns an empty 200 response on success.
bamboo_hr_total_rewards_custom_disclaimers_bulk_update
Set the company-wide Total Rewards custom disclaimer text shown on employee statements in BambooHR. Returns an empty 200 response on success. Required: customDisclaimer.
bamboo_hr_total_rewards_employees_bulk_delete
Remove employees from Total Rewards in bamboohr; their Total Rewards profiles will be deleted. Returns an empty response on success. Required: employeeIds (list of internal employee IDs).
create_a_bamboo_hr_total_rewards_employee
Add employees to Total Rewards in bamboohr, creating a Total Rewards profile for each employee and notifying active users. Returns an empty response on success. Required: employeeIds.
bamboo_hr_total_rewards_onboardings_bulk_update
Set a Total Rewards onboarding step to completed or incomplete in BambooHR. Returns the updated onboarding step including step_name and completed. Required: step_name, completed. Valid step names are defined by the Total Rewards onboarding configuration.
get_single_bamboo_hr_report_by_id
Get the data from a saved custom report in BambooHR by id. Returns: title, fields, employees. Required: id. Deprecated — use Custom Reports > Get Report by ID instead; standard reports are not available via this endpoint.
list_all_bamboo_hr_applicant_tracking_jobs
List job opening summaries from BambooHR applicant tracking. Returns: id, title, postedDate, location, department, status, hiringLead, newApplicantsCount, activeApplicantsCount, totalApplicantsCount, postingUrl, name, in, schema. Filter with statusGroups or status_ids; sort with sortBy and sortOrder. Defaults to all non-deleted job openings.
update_a_bamboo_hr_application_status_by_id
Update the status of an application in bamboohr. Returns: type, id. Required: application_id, status (a valid status ID from the Get Applicant Statuses endpoint).
list_all_bamboo_hr_benefitcoverages
List all benefit coverage levels configured in BambooHR, such as Employee Only, Employee + Spouse, and Employee + Family. Returns the collection under the Benefit Coverages key including id, shortName, description, sortOrder, and benefitPlanId, ordered by sort order.
list_all_bamboo_hr_employees_directories
Get the BambooHR published employee directory. Returns: fields, employees. No server-side filters — narrow results client side. Returns 403 when directory sharing is unavailable and 404 when the resulting directory is empty.
create_a_bamboo_hr_employeedependent
Create a new employee dependent in BambooHR. Returns the created record under the "Employee Dependents" key including employeeId, relationship, gender, dateOfBirth, state, country, and masked ssn/sin. Required: employeeId. relationship, gender, state, country, and dateOfBirth (YYYY-MM-DD) are validated; isUsCitizen and isStudent accept "yes" or "no"; SSN and SIN are stored encrypted.
get_single_bamboo_hr_employeedependent_by_id
Get a single employee dependent in BambooHR by id. Returns an "Employee Dependents" array containing one record with employeeId, relationship, gender, dateOfBirth, state, country, and masked ssn/sin values. Required: id.
list_all_bamboo_hr_employeedependents
List employee dependents in BambooHR across the company, or scope the results to a single employee's dependents. Returns an "Employee Dependents" array of records including employeeId, relationship, gender, dateOfBirth, state, country, and masked ssn/sin values.
update_a_bamboo_hr_employeedependent_by_id
Replace all fields on an existing employee dependent in BambooHR by id. Returns the updated record under the "Employee Dependents" key including employeeId, relationship, gender, dateOfBirth, state, country, and masked ssn/sin. Required: id, employeeId. This is a full replace — omitted fields are written as empty or null, not preserved.
create_a_bamboo_hr_files_categories_file
Create one or more employee file categories (not company file categories) in BambooHR from a JSON array of category name strings. Returns an empty 201 response on success. Each name must be non-empty and unique among existing employee file categories; an empty array creates nothing.
get_single_bamboo_hr_files_view_by_id
List a BambooHR employee's file categories and the files visible to the caller. Returns the employee (id) and categories (id, name, permission flags) whose files include id, name, originalFileName, size, dateCreated, createdBy, and shareWithEmployee. Required: id. Metadata only — download file content via the employee file download endpoint. Returns 404 when the employee has no accessible…
list_all_bamboo_hr_files_views
List all BambooHR company file categories and the files in each that the requesting user is permitted to see. Returns categories with id, name, and canUploadFiles, each containing files with id, name, originalFileName, size, dateCreated, createdBy, and shareWithEmployees.
create_a_bamboo_hr_login
Exchange a BambooHR username, password, and application key for a persistent API key scoped to that user and application. Returns: success, userId, employeeId, key, apiUrl. Required: username, password, applicationKey. Deprecated in favor of OAuth or OpenID Connect; applicationKey must be a registered non-mobile app key, and companies with SSO login enforced may return 200 with a plain-text error.
list_all_bamboo_hr_meta_lists
List all list fields configured in BambooHR with their options. Returns an array of lists with id, name, fieldId, alias, manageable, multiple, and options (each with id, archived, createdDate, archivedDate). Options with archived: yes are soft-deleted but included so historical data can reference the value.
update_a_bamboo_hr_meta_list_by_id
Create, update, or archive options on a BambooHR list field: include an option's id to edit or archive it, omit id to create, and set archived yes/no to archive or reactivate. Returns the full updated list: id, name, fieldId, alias, manageable, multiple, options. Required: id (the list's fieldId from the list endpoint, not the list id). Only options on lists with manageable: yes can be modified.
list_all_bamboo_hr_meta_tables
List all tabular (table-based) fields available in the BambooHR account. Returns one record per table with its alias and fields array, where each field carries id, name, alias, and type. Use the returned table aliases (e.g., jobInfo, compensation, employmentStatus) with the table row endpoints.
bamboo_hr_request_status_bulk_update
Update the status of an existing time off request in bamboohr to approved, denied (or declined), or canceled. Returns an empty JSON object on success. Required: request_id, status. Deprecated: bamboohr recommends using the newer approvals, denials, or cancellations process resources instead.
bamboo_hr_time_off_balance_adjustments_bulk_update
Create a time off balance adjustment for a BambooHR employee's time off type; the adjustment is recorded as an override history item. Returns an empty 201 response on success. Required: employee_id and a JSON request body. Cannot adjust balances for discretionary (unlimited) time off types.
list_all_bamboo_hr_time_off_calculators
Get a BambooHR employee's time off balances across all assigned time off categories as of a given date. Returns one entry per type with timeOffType, name, units, balance, policyType, and usedYearToDate. Required: employee_id. The 0 self sentinel is rejected; returned types are limited to what the caller may view.
create_a_bamboo_hr_record_employee
Create a training record for a BambooHR employee. Returns the created training record including its id, completed date, type, instructor, hours, credits, notes, and cost. Required: employee_id, completed, type.
get_single_bamboo_hr_record_employee_by_id
List all training records for a BambooHR employee, returned as an object keyed by training record ID. Returns records with id, completed date, type, instructor, hours, credits, notes, and cost; optional fields appear only when enabled in the company's training settings, and an empty array is returned when the employee has no records. Required: id.
bamboo_hr_time_off_histories_bulk_update
Create a time off history item for an employee in bamboohr, recording either a `used` entry tied to an approved time off request or an `override` (balance adjustment) entry. Returns an empty 201 response on success. Required: employee_id; `used` entries also require timeOffRequestId, `override` entries require timeOffTypeId and amount.
list_all_bamboo_hr_time_off_types
List the company's active time off types in bamboohr (PTO, vacation, sick leave, and other categories) along with the default hours-per-day schedule. Returns: timeOffTypes, defaultHours. Names are company-configured labels and the returned set is permission-filtered by the caller's role; pass mode=request to limit to types the caller can request.
list_all_bamboo_hr_time_off_whos_outs
List BambooHR employees who are out and company holidays for a date range, sorted by date. Returns entries with id, type, employeeId, name, start, and end. Defaults to today through 14 days out when dates are omitted; an empty result may mean no one is out or holidays are not configured in the company calendar.
create_a_bamboo_hr_training_category
Create a new training category in BambooHR. Returns the created category including its id and name. Required: name.
delete_a_bamboo_hr_training_category_by_id
Delete an existing training category in BambooHR by id. Returns an empty 204 response on success. Required: id.
list_all_bamboo_hr_training_categories
List all training categories for the BambooHR company. Returns an object keyed by category ID where each entry contains: id, name.
update_a_bamboo_hr_training_category_by_id
Update the name of an existing training category in BambooHR by id. Returns the updated category including its id and name. Fails if a category with the same name already exists. Required: id, name.
delete_a_bamboo_hr_training_record_by_id
Delete an existing employee training record in BambooHR by id. Returns an empty 204 response on success. Required: id.
update_a_bamboo_hr_training_record_by_id
Update an existing employee training record in BambooHR by id. Returns the updated training record including its id, completed date, type, instructor, hours, credits, cost, and notes. Required: id, completed (yyyy-mm-dd). Returns 405 when the record cannot be updated.
create_a_bamboo_hr_training_type
Create a training type in bamboohr. Returns the created TrainingType including its id, name, category, renewable, and frequency. Required: name. When renewable is true, frequency (months between renewals) must also be provided; dueFromHireDate is only valid when required is true.
delete_a_bamboo_hr_training_type_by_id
Delete a training type in bamboohr by id. Returns an empty 204 response on success. Deletion only succeeds once all employee trainings for this type have been removed. Required: id (the numeric trainingTypeId).
list_all_bamboo_hr_training_types
List all training types in BambooHR for the company. Entries are returned as an object keyed by training type ID, and each type includes id, name, renewable, frequency, required, category, description, linkUrl, dueFromHireDate, and allowEmployeesToMarkComplete.
update_a_bamboo_hr_training_type_by_id
Update an existing BambooHR training type by id. Only provided fields are changed, and passing an empty value for category removes it. Returns the updated training type including id, name, renewable, frequency, category, description, and allowEmployeesToMarkComplete. Required: id. The request fails when the training type cannot be modified.
Why Truto
Why use Truto’s MCP server for BambooHR
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for BambooHR
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified HRIS API
Benefits
Benefits represent the benefits for an Employee
Dependents
Represents a dependent of an employee, such as a spouse or child, usually recorded for benefits coverage. There is one record per employee and dependent: a person who is a dependent of two employees appears once for each. Only people the provider records as dependents are included; people recorded only as beneficiaries or emergency contacts are not.
Employees
Represents an employee in HRIS
Fields
Represent the fields for various entities in the company
Timeoff Policies
Represent the time off policies in a company
Timeoff Requests
Represent the time off requests for an Employee
Unified User Directory API
Users
The User object represents a User.
Unified ATS API
Applications
The applications represent an application for a job.
Attachments
The attachments represent an attachment for a candidate.
Candidates
The candidates represent a candidate.
Job Interview Stages
The job interview stages represent a job interview stage.
Jobs
The jobs represent a job.
How It Works
From zero to integrated
Go live with BambooHR in under an hour. No boilerplate, no maintenance burden.
Link your customer’s BambooHR account
Use Truto’s frontend SDK to connect your customer’s BambooHR account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call BambooHR
Truto’s Proxy API is a 1-to-1 mapping of the BambooHR API. You call us, we call BambooHR, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate BambooHR’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about BambooHR on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does BambooHR use?
BambooHR supports API key-based authentication. Your end users generate an API key from their BambooHR account settings, and Truto securely stores and manages it so you don't handle credentials directly.
Can I access custom fields defined in BambooHR?
Yes. You can use list_all_bamboohr_fields to retrieve all standard and custom fields, and update_a_bamboohr_field_by_id to modify custom field values. Truto's unified HRIS Fields model also exposes these.
Does Truto support webhooks for BambooHR?
Yes. You can create, update, list, and delete BambooHR webhooks through Truto, as well as inspect webhook logs and available monitor fields. This enables event-driven architectures for new hires, terminations, and field changes.
Which unified APIs does the BambooHR integration support?
Truto maps BambooHR to three unified APIs: the Unified HRIS API (Employees, Benefits, Fields, Timeoff Policies, Timeoff Requests), the Unified User Directory API (Users), and the Unified ATS API (Applications, Attachments, Candidates, Job Interview Stages, Jobs).
Can I write data back to BambooHR or is it read-only?
BambooHR via Truto supports full CRUD for many resources. You can create and update employees, create applications and change their status, push clock entries and hour entries, upload employee and company files, create goals and training records, and more.
How do I pull time-off balances and policies?
Use list_all_bamboohr_time_off_balance for current employee balances, list_all_bamboohr_time_off_types for available leave categories, list_all_bamboohr_time_off_policies for policy definitions, and list_all_bamboohr_employee_time_off_policies for per-employee policy assignments.
From the Blog
BambooHR integration guides
Deep dives, architecture guides, and practical tutorials for building BambooHR integrations.
BambooHR
Get BambooHR integrated into your app
Our team understands what it takes to make a BambooHR integration successful. A short, crisp 30 minute call with folks who understand the problem.