What does it do?
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.
Simply create an API Key in BambooHR and enter it into the BambooHR section of the Admin > Platform Configuration > Third-Party Integrations page in BetterWorks and either choose "Sync now" or wait for the scheduled process to run overnight.
How does it work?
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|
|Name (first)||>>||First Name|
|Name (last)||>>||Last Name|
|Reports To (supervisorID)||>>||Manager (manager_id)|
|Work Phone||>>||Phone Number|
|Termination Date||>>||Deactivation Date|
|Preferred Name||>>||Preferred Name|
The synchronization will run every day at 3am PST to ensure that records are kept up to date. Please remember that any manual changes made to users in BetterWorks (via the Admin panel) 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, then the integration will create a new department of that name - BetterWorks recommends confirming that any departments which may have already created in BetterWorks match exactly with those that exist in BambooHR to avoid any duplication.
How do I set it up?
1. In BambooHR, click on the profile drop-down menu and select the "API Keys" option:
2. This will lead to the API Keys page in BambooHR where a key can be added or an existing key can be selected:
3. Click on the key to display the entire string and copy this to the computer's clipboard - this will allow BetterWorks to access the employee data and should be pasted into the API Key field in BetterWorks.
4. The URL of the current page should look like https://companyname.bamboohr.com/ - note the companyname portion, this will be the Subdomain used to direct BetterWorks to the correct instance of the BambooHR API.
4. To input these values, navigate to Admin >> Platform Configuration >> Third-Party Integrations in BetterWorks and click the "Setup" button next on the BambooHR integration option:
5. Input the Subdomain identified in Step 4 and the API Key identified in Step 3 and click Save.
6. The BambooHR integration should now display as Connected and clicking the "Settings" button should reveal the saved credentials as well as options for "Edit", and "Sync Now".
7. Click Edit and update the "Activation Blacklist" for those employees that should not have access to BetterWorks. This is based on the "Employment Status" field, and the available values are listed below. Employee accounts will be provisioned/activated or deactivated accordingly if they fall in or out of these statuses in BambooHR.
- Full Time
- Paid LOA
- Part Time
- Pending New Hires
- Return From LOA
- Temp Agency Contractor
- Vendor Service Provider
8. Select "Sync Now" to query the BambooHR API and pull back employee data to automatically create accounts for all the employees according to the parameters set. If you do not click Sync Now, it will sync during the regular schedule, which is 3am PST each day.
Important: In order to receive error notifications for this integration, an individual or group email distribution needs to be provided to firstname.lastname@example.org - if "Sync Now" is selected without providing this contact information then failures for individual record creations/updates might be missed.