How to Sync HRIS Data from BambooHR

How to sync HRIS data from BambooHR

Jared Ellis avatar
Written by Jared Ellis
Updated this week

What can I learn from this page?

How to sync HRIS data from BambooHR

Who is this guide for?

Account Admins

Note: BambooHR uses our full import process. When your data syncs, any employees not included in your data file will become inactive as former employees, with their End Date set to the import date. See: Importing your user data to Culture Amp for more information.

How to Integrate with BambooHR


Overview

Culture Amp can import all your employee data directly from BambooHR using the BambooHR Reports API. The set-up process is straightforward and can usually be completed in one sitting without technical support. You can set up your integration to sync data manually (as triggered by an admin user) or automatically on a daily basis.


Step 1: Set Up the BambooHR Report

Create a Custom Report in BambooHR that has the required fields plus any demographics you want to import (e.g. Manager, Location, Department). At a minimum you must include:

  • Name: available in the report under the Calculated section. In the report this will appear as the Display Name column. (Warning: remove Last Name, First Name: When you first create a report it will include the Last Name, First Name field. You must remove this field in favour of using the Name field).

  • Work Email: available in the Personal section.

  • Status: available in the Personal section.

  • Termination Date: available in the Job section.

We highly recommend adding ‘Supervisor Email’ attribute in order to create your hierarchy in Culture Amp. Hierarchy is built based on unique manager identifiers such as manager emails or IDs.

Detailed instructions on how to add the 'Supervisor email' field to your report for BambooHR integration can be found below.

  1. Every employee must have a Manager designated under ‘Reports To’. This field can be found in Person > Job Information table > Reports to

    reports-to-field-brook.png

  2. Create a report in BambooHR to integrate with Culture Amp, or use an existing report.

  3. In BambooHR, navigate to 'Report > Edit (pencil icon) > Calculated fields' and ensure the ‘Supervisor email’ and/or ‘Supervisor ID’ fields are included in the report. These fields will add the email/ID of the ‘Reports to’ selection to the report.

    BambooHR_-_adding_to_report.png

    Ensure the ‘Supervisor email’ or ‘Supervisor ID’ field appears in the ‘Selected Fields’ for the BambooHR report, e.g.

    selected-fields-with-demos.png

    You can also include Preferred Name (preferredName), Date of Birth (Birth Date) and Start Date (Hire Date) -- Date of Birth and Start Date will be used for generating Age and Tenure Demographics -- as well as any other columns you wish to use as demographics. For example, Department, Gender, or Country.

Important Things to Check:

  • Last Name, First Name: When you first create a report it will include the Last Name, First Name field. You must remove this field in favour of using the Name field that we mentioned earlier.

  • Employee ID: Only include the Employee ID field if you populate it within BambooHR. If you don't use this field in BambooHR, Culture Amp will use the BambooHR ID of each employee as their Culture Amp Employee ID in order to match user records across syncs.

  • Show history: Some fields include a checkbox for 'Show History'. Leave this field unchecked, as we only want the most up-to-date values, and do not want the history of that data for a person.

  • Configure how the fields are named in Culture Amp: If you have any existing demographics in your Culture Amp account and would like your Bamboo fields to link to them (rather than creating brand new demographics with different names) or, if setting up your demographics for the first time and would like to configure how the names of the demographics are displayed in Culture Amp, you can adjust the 'Column Name' for each required field directly in your Bamboo report in the following way:
    - Add the field name to the report
    - Hover over the field name and click on the ’settings’ (cog) icon
    - Enter the correct name in the Column Name field
    Culture Amp will receive the value entered into the 'Column Name' field

Finding Your Report ID:

To set up your integration, you’ll need the report identifier for your custom report. This can be found by accessing your custom report as normal. In the browser URL bar you'll see something similar to https://acme.bamboohr.com/reports/report.php?id=123. The Report ID number is the 123 at the end.


Step 2: Create an API Key in BambooHR

To create your API Key:

  1. Log in to BambooHR as the user account that you wish to use for the key creation

  2. Click on the Profile image in the top right corner of the window

  3. Select API Keys

  4. Select Add new key

  5. Copy the value of the API Key created which will be in the form of: 333e42ef58a08755f84aa4877399ca355639829d

Note: For security reasons, it's best to create this API Key from a user account that only has access to the data fields you wish to sync with Culture Amp. You'll need to share the custom report with this user too. Please ensure that this user has access to the Personal & Job categories within BambooHR and no restrictions on certain employees or employee types. For more information on creating an API key, please refer to BambooHR Documentation.


Step 3: Add the Integration in Culture Amp

You now should have the Report ID and API Key genreated. It is now time to add this information to Culture Amp. You will need to navigate to the Settings > Data Integrations page and locate the BambooHR integration.

In order to get the integration up and running, you will need three pieces of information from your BambooHR account:

  • Subdomain

  • API Key

  • Report ID

At this point, you can also decide whether you want to run automatic syncs, and set a contact email address that will be contacted if there are any issues with the integration.


Step 4: Optional - Choose the Type of People to Sync

You can include or exclude certain types of employees from being synced to Culture Amp based on their attributes in BambooHR. Any attributes listed need to be included in the list of attributes shared with Culture Amp.

You can also create a custom field in Bamboo called "Exclude from Culture Amp." During the sync process, any employees with this field set to "Yes" will be excluded from being synced into Culture Amp.


Step 5: Sync Your User Data

You can now sync your user data into Culture Amp, which replaces the old data in Culture Amp with the new data from BambooHR.

Even if you have turned on autosyncs, we recommend running a manual sync after setting up your integration to confirm everything is working correctly. You’ll be prompted to do this when you save your integration. Otherwise you can run a manual sync by navigating to the Settings > Data Integrations page and clicking the Sync Button or via your Settings > Users > Import Users

From here, Culture Amp will step you through the same verification process as if you were uploading users via the Import Users process. Once you’ve reviewed your data and clicked ‘Import data’, the sync will run in the background and could take anywhere from a couple of seconds to a few minutes. No data will be imported until you click ‘Import data’.


Add Your Hierarchy

Once your integration has been successfully set up, the process of adding hierarchy to your account is a once off manual task.

The steps to add hierarchy to your account can be located via our Add your hierarchy guide.


Additional Info / Helpful Tips

Column with ID ‘-#' Does Not Exist" Error When Syncing Your Data:

Typically caused by a ‘calculated’ field being included in the report

  • Problem: Some calculated fields are only available in the Bamboo report itself and don’t actually exist as a field on the employee profile for the API to pull data from.

  • Resolve: Remove the calculated field from the custom report and consider adding a custom ‘list’ or similar field that does exist on the employee profile instead.

Termination Date Field & Future Term Dates in Bamboo:

Future term dates are not currently supported by BambooHR in custom reports.

  • Problem: Future termination dates in a custom report will be blank and will not therefore, be applied to the users profiles in Culture Amp during the data sync.

  • Resolve: Exclude the ‘Termination Date’ field from your custom Bamboo report and manage that data via manual user imports in Culture Amp (if necessary).
    Alternatively, after excluding the 'Termination Date' field from your custom Bamboo report, create a custom field in Bamboo to use as the alternative end date. You'll need to title the Column Name as 'End Date' in order to connect that field to the 'End Date' field in Culture Amp.
    'Column Name' adjustment in Bamboo:
    - Add the field name to the report
    - Hover over the field name and click on the ’settings’ (cog) icon
    - Enter the correct name in the Column Name field
    Culture Amp will receive the value entered into the 'Column Name' field

Security/Permissions:

  • Problem: Fields / Values not syncing through to Culture Amp via Bamboo? Security/Permissions can cause these issues

  • Resolve: Ensure the user that the API key has been generated from (such as a Service User or a specific Admin) has been granted access to the relevant categories and data fields and that they do not have any restrictions on accessing specific employees data or employee types for example


Troubleshooting Integration Issues

The first step when investigating HRIS data issues is to check the import summary for your most recent import. This will provide information about the state of your integration.

To find this information, go to Account Administration > Import History and select your most recent import.

If there was a problem with your last import, you will either be able to view errors on this page or you will be prompted to run a manual sync to identify any problems.

Handling of Inactive Employees

During an HRIS sync, all employees (active and inactive) may be imported (depending on your custom report logic).

If an employee has a past Termination Date they will be made inactive in Culture Amp.
If an employee has a future Termination Date they will be made inactive in Culture Amp upon that date (Note: some HRIS such as BambooHR do not support future Term dates)
Any updates to inactive employees, such as a changed end date or any other update to demographic information, may be applied during the sync.
If an employee is active in Culture Amp but not present in your HRIS report, they will be made inactive in Culture Amp. This is because the data is processed using our Full Import process.

Sync Blocked Due to Swapped Employee IDs

Your sync might be blocked if Culture Amp suspects that one of your employees may have had their details mixed up with another.

If a combination of an employee's Name, Date of Birth, Email or Employee ID are changed, the sync may be blocked. This is to prevent an employee accidentally getting access to another employee's private information, such as performance reviews.

If you've intentionally changed the employee's details, you can run a manual sync to push through the change. Simply click 'Import data' from the Users page and select 'Sync'. Culture Amp will guide you through the rest.

Did this answer your question?