Integrations: BambooHR



The BambooHR integration allows Betterworks to connect with an instance of BambooHR and use the employee data recorded there to automatically create and maintain user accounts in Betterworks.

This is a great way to enable hands-off user management for Betterworks, ensuring that employees that have left the company are deactivated and that new hires are provisioned in Betterworks as soon as they're added to BambooHR. Additionally, there's no need to track and update if users change names, email addresses, or the managers to whom they report - the integration will keep both systems in sync.


This integration leverages the BambooHR Open API to pull these fields from the BambooHR employee record to be used as attributes on the Betterworks user account per this mapping:

BambooHR Employee Record

Betterworks User Account
Employee # Employee ID
Work Email Email
Name (first) First Name
Name (last) Last Name
Job Title Title
Department Department Name
Reports To (supervisorID) Manager (manager_id)
Work Phone Phone Number
City Location
Status Active / Inactive
Termination Date Deactivation Date
Preferred Name Preferred Name

The synchronization will run every day at 3 AM PST to ensure that records are kept up to date. Please remember that any manual changes made to users in Betterworks (via the Admin module) will be overwritten by the data pulled from BambooHR.

If Betterworks fails to connect to the BambooHR instance three times consecutively, then the integration will enter an error state which will be displayed on the Third-Party Integrations page.

Note: If an employee record includes a department not already created in Betterworks, the integration will create a new department of that name. We recommend confirming that any departments which may have already been created in Betterworks match those that exist in BambooHR to avoid any duplication.


Note: The BambooHR integration must be set up by someone who is a Super Admin in Betterworks and a Full Admin in BambooHR. 

1. Go to Admin → Platform Configuration → Integrations → Third-party integrations


2. Click "Set Up". 


3. Input your organization's BambooHR subdomain.

4. Click "Save".


Note: If the URL to access your organization's BambooHR account is, the subdomain is "acmecorp".

5. Log into BambooHR.


6. Make any necessary selections in the Activation Blocklist for those who should not have access to Betterworks.


Note: The Activation Blocklist is based on the "Employment Status" field in BambooHR. User accounts will be provisioned or deactivated accordingly if they fall in or out of these statuses in BambooHR.


7. Click "Save".


8. Feel free to click "Sync Now". However, if you choose not to, the data will sync during the regular schedule (3 AM PST each day).


NoteIn order to receive error notifications, please reach out to and provide an individual or group email to be used as the Technical Contact. 


Some users who should be active are being deactivated. How do if fix this?

Users will not be activated in Betterworks if they have a blocklisted status or if they have no status in BambooHR. If an existing Betterworks user has a blocklisted status or no status at all, they will be deactivated.

Can the profile photo be synced between BambooHR and Betterworks?

Not at this time.

Why are some Bamboo HR employee changes not visible in Betterworks? 

When employees in Bamboo HR are terminated, move departments, or have a manager change, changes are not reflected in Betterworks.This is caused by the employee IDs in Bamboo HR not matching those which were already added to Betterworks; employee IDs in Betterworks are currently the user emails, and employee IDs in Bamboo HR are numerical. The workaround is to leverage the API for any user changes moving forward.

Note: this doesn’t apply to adding new employees; changes are reflected successfully in Betterworks when adding new employees.