Skip to main content
Beebole’s BambooHR integration connects your BambooHR account to Beebole so that approved time-off requests are reflected as absence records. When you enable the integration, Beebole imports your BambooHR employees, maps your BambooHR time-off types to Beebole absence types, and imports approved requests. To bring in the latest changes from BambooHR, click Manual sync, which runs the same import again.

What syncs and what stays in Beebole


What’s included

BambooHR employees with a work email address are created as people in Beebole when you enable the integration, and new employees are added each time you run Manual sync. If an employee’s email already exists in Beebole, the integration links to the existing person instead of creating a duplicate.
BambooHR time-off types are matched to Beebole absence types by name (case-insensitive). If a matching absence type exists in Beebole, the integration links to it. If no match is found, a new absence type is created automatically. Time-off types measured in hours are configured with an hourly unit in Beebole.
BambooHR’s paid/unpaid setting is not carried over. An absence type the integration creates has Is paid (included in people costs) checked, so its leave counts toward people costs even if the time-off type is unpaid in BambooHR. A type matched by name keeps its own setting. To keep unpaid leave out of costs, uncheck the box on that absence type in Beebole — see Time off and people costs.
Approved time-off requests from the start of the current year through one year from today are imported as Beebole absence records. Each request is processed per calendar day. If a request changes after import (dates, amount, or notes), Beebole updates the corresponding absence record on the next sync.Records removed from BambooHR within the sync window are also removed from Beebole.
When a time-off request is measured in days, Beebole calculates the absence duration using the employee’s assigned work schedule. If the employee has no schedule assigned, Beebole defaults to an 8-hour workday.

Step-by-step configuration

You need administrative privileges in both BambooHR and Beebole to set up the integration.
1

Enter your BambooHR company subdomain

Go to Settings > Integrations > BambooHR. In the Company subdomain field, enter your BambooHR subdomain (for example, enter acme if your BambooHR URL is acme.bamboohr.com).
2

Connect to BambooHR

Click Connect to BambooHR. A popup opens to authorize Beebole to access your BambooHR account. Complete the authorization flow. The popup closes automatically when the connection is established and your BambooHR domain is displayed as confirmed.
3

Set the default role for imported employees

Select the Default role for imported employees. This role is assigned to any BambooHR employee who is created as a new person in Beebole during import.
You can review and manage existing roles in Settings > Person Roles.
4

Enable the integration

Click the toggle to Enable integration. Beebole immediately:
  1. Imports BambooHR employees who have a work email address (creating new Beebole people where needed).
  2. Maps BambooHR time-off types to Beebole absence types.
  3. Imports approved time-off requests for the current year through one year from today.
The initial import may take a few moments. A summary shows how many entries were successfully imported and lists any entries that could not be processed.
5

Validate and manually sync

Once enabled, verify that imported records appear correctly: the absences show as Time off on the affected people’s timesheets, and you can run a report in Reports to review them across your team.To bring in changes made in BambooHR since the last import, such as new, modified, or canceled requests, go to Settings > Integrations > BambooHR and click Manual sync under Manually sync last changes from BambooHR. Each sync shows the same summary as the first import.

Disabling the integration

If you disable the integration, Beebole stops importing from BambooHR and the Manual sync button is no longer shown. Previously imported absence records remain in Beebole as local records and are not deleted.
To disable the integration, go to Settings > Integrations > BambooHR and toggle the integration off. You can turn it back on at any time, which runs the import again. To disconnect your BambooHR account entirely, turn the integration off, then click Reset connection. This removes the OAuth connection and clears all integration mappings.

Time off and absences

Set up absence types and allowances, and record time off in Beebole.

People management

Add and manage employees, roles, and schedules in your Beebole account.

Custom integrations

Build your own integrations using the Beebole GraphQL API.

All integrations

Explore all available Beebole integrations.

Frequently asked questions

The integration syncs approved time-off requests from January 1st of the current year through one year from today. Requests outside this window are not imported. You can trigger a manual sync at any time from the integration settings page.
If no Beebole absence type matches the BambooHR time-off type name exactly (case-insensitive), the integration creates a new absence type automatically. You can rename or reconfigure the created absence type in Settings > Time Off.
For requests measured in days, Beebole multiplies the day amount by the employee’s scheduled working hours for that day (based on their assigned work schedule). If the employee has no schedule, Beebole uses 8 hours per day as the default. Requests measured in hours use the exact hourly amount from BambooHR.
No. BambooHR’s paid/unpaid distinction isn’t carried over. An absence type the integration creates is paid by default in Beebole, so its leave counts toward people costs, while a type matched by name keeps its own setting. To keep an unpaid type out of costs, uncheck Is paid (included in people costs) on that type in Beebole. See Time off and people costs.
The next time the import runs, for example when you click Manual sync, Beebole updates or removes the corresponding absence record to match the current state of approved requests in BambooHR. Records that no longer appear in the BambooHR response within the sync window are deleted from Beebole.