Skip to main content

Sync HRIS Data from BambooHR

Learn how to sync employee data from BambooHR into Culture Amp

Written by Jared Ellis
Updated today

Who can use this feature?

Available on:

  • All Culture Amp subscriptions.

You can sync employee data directly from BambooHR into Culture Amp using a secure, one-way connection. This ensures your employee list and demographics are always kept up-to-date without the need for manual CSV imports.

Data Flow: Employee Data flows from BambooHR into Culture Amp (one-way sync) as a full import. Changes made in Culture Amp will not sync back to your HRIS.

Initial Setup Timeframe: The full setup and validation process for BambooHR typically takes 1–2 weeks. Timelines are good-faith estimates and fluctuate based on the complexity of your data model and the responsiveness of internal technical stakeholders during testing. We recommend involving your Bamboo HR administrator early in the process to ensure report and credential configurations are set up correctly.

Choosing Your Integration Method


We offer two primary ways to connect your employee data. The table below briefly outlines both and should help with the decision on which is the best approach for your organization:

Method

Type of Import

Best For

Key Difference

Full Native Integration

Full Employee Import

Organizations seeking real-time, daily automation of all employee data that the integration supports.

Data transfer is handled automatically via a secure native integration.

If an employee has an End Date in the HRIS, they will automatically be marked as a former user on that date.

If an existing Culture Amp user is removed entirely from the HRIS report (with no End Date provided), they’ll be marked as a former user upon sync, and their End Date will be set to the day before the import.

Partial Employee Import

Organizations requiring manual control over file creation or highly unique filtering requirements.

You generate a data file and securely transfer it to Culture Amp at scheduled intervals. Unlike the native integration, users missing from an SFTP file are ignored rather than deactivated, unless an explicit End Date is included in the file.

Integration Checklist


Use this checklist to navigate the BambooHR integration setup. Each step links to a more detailed section below.

  1. Access Requirements — Prerequisites and system logic.

  2. Step 1: Create Custom Report — Setting up the custom report in BambooHR.

  3. Step 2: Save Your Report — Find and Save Your Report ID

  4. Step 3: Generate API Key — Creating the API Key for connection in BambooHR

  5. Step 4: Connect Integration — Entering credentials into Culture Amp.

  6. Step 5: Set Exclusion Rules — Choose who should be included in the sync.

  7. Step 6: Run First Sync — Reviewing and importing employee records.

  8. Troubleshooting/FAQs — Solving errors, workarounds, and useful tips

Before You Start: Access Requirements


Setting up a Bamboo integration requires a "handshake" between two different systems. You will likely need to coordinate between a Culture Amp Administrator and a Bamboo (HRIS) Administrator.

Platform

Role / Component

Required Access

Rationale

Culture Amp

Admin Role

To access Integration settings and save the credentials/report URL.

BambooHR

API Access

"Manage Settings" or "Admin"

Allows the user to generate the API Key, which acts as the secure "handshake" between systems.

BambooHR

Reporting

"Create" & "Edit" Custom Reports

Necessary to build the specific data set (Report) that Culture Amp will pull from.

BambooHR

Data Visibility

"View" access for Job & Personal categories

The API key inherits the permissions of the user who generated it. If a field (e.g., Ethnicity) is restricted for that user in BambooHR, it will appear as a Blank Value in Culture Amp. Verify that the user account has "View" access to all required fields and no restrictions on specific employee types, departments, or locations.

Important Considerations & Data Limitations

  • Full Import Process: BambooHR uses the "Full Import" method. This means any active employee in Culture Amp who is not included in your BambooHR report will be deactivated in Culture Amp upon sync.

  • API Rate Limits: BambooHR imposes daily API request limits. We recommend scheduling your sync daily to ensure consistent performance.

  • Historical Data: The API sync pulls current "Point-in-Time" data. Historical changes (e.g., a department change from 3 months ago) will not be captured retroactively. Do not tick "show history" for any fields when setting up the custom report.

Step 1. Create a Custom Report in BambooHR


Culture Amp pulls employee data from a specific Custom Report in BambooHR. This report defines which employees are synced and which data fields (demographics) are imported.

Report Configuration

In BambooHR, navigate to Reports > New Report and ensure the following settings are applied:

  • Report Type: Custom Report.

  • Population: Typically set to "All Active Employees." Use the Filters tab in the report builder to exclude specific groups (e.g., Contractors).

  • Format: Ensure the Show History checkbox is unchecked for all fields. Culture Amp only requires the most current value for each person.

Core Demographics: Field & Data Requirements

Ensure your Bamboo Report uses the exact column headers below. Refer to the Employee Data Template for full formatting and requirements.

Typical BambooHR Field Label

Culture Amp Field Name (Destination)

Notes

Display Name

Name

Enter the users full name. Use the format: First Last. Found in the Calculated Fields section.

Important: Remove Last Name, First Name from the report. Display Name must be used instead.

preferredName

Preferred Name

If provided, this is used for all survey and cycle communications. Found in the "Personal" section.

Employee_ID

Employee ID

Acts as a secondary identifier (alongside Work Email) for data integrity. ID must be unique for each individual. Found in the Job section.

Important: Only include Employee ID in the report if you populate it in Bamboo HR. If a user has a blank Emplolyee ID, it will populate a BambooHR ID instead.

Work Email

Email

Primary unique identifier for all platform communications. Found in the "Personal" section.

Birth_Date

Date of Birth

Unlocks age-based reporting. Found in the Personal section.

Hire Date

Start Date

Used for "New Hire" surveys and unlocks tenure banding. Found in the Job section.

Termination Date

End Date

Used for deactivations and the "Exit Survey".

Important: BambooHR's default "Termination Date" field does not support future dates. To sync future departures, you must create a custom "End Date" field in BambooHR instead.

Custom Demographics

Include additional fields (e.g., Department, Division) to enable granular reporting. To prevent duplicate demographics, match your BambooHR Column Names to your existing Culture Amp Account Demographic labels exactly.

Customizing Field Names in BambooHR

If you want to control how a custom field appears in Culture Amp, adjust the Column Name within the BambooHR report builder:

  1. Add the field to your report.

  2. Hover over the field name and click the Settings (cog) icon.

  3. Rename the field in the Column Name text box.

  4. Click Save. Culture Amp will ingest this custom name as the demographic label.

To unlock full platform functionality, we also recommend including the following demographics in your report:

Field Name

Notes

Language

Sets the employee’s preferred platform language Use the appropriate two-letter System Code (e.g., en, es).

Supervisor Email or Supervisor ID

The Hierarchy Anchor: Automatically builds your organizational structure. Must be added via the "Calculated Fields" section in the report builder.

Mapping: This will appear as Manager's email in Culture Amp

Reports To

Required for Supervisor Email to function. Ensure every employee has a manager designated in their Employee Profile > Job > Job Information section.

Status

Indicates if a user is Active or Inactive. Can be used as a filter to exclude people from the sync (see Option 1 under Step 4).

Exclude from Culture Amp

An optional dedicated field used to manually bypass the sync for specific individuals (see Option 2 under Step 4).

Tip: Exclusions are optional. If you want to sync your entire BambooHR directory, you do not need to set up filters or an exclusion field. If you do need to exclude people (e.g., contractors), choose only one of the two methods mentioned in Step 4.

Adding Supervisor Email/ID (Organizational Hierarchy)

To automatically build your organizational tree, you must use Calculated Fields to pull manager data:

  1. Verify "Reports To": Ensure every employee has a manager assigned in their BambooHR profile (Employee Profile > Job > Job Information).

  2. Add Calculated Field: In the report builder, navigate to the Calculated Fields section and add Supervisor email (recommended) or Supervisor ID.

    • How it works: BambooHR "looks up" the person in the Reports To field and pulls their email address into this specific column.

  3. Data Check: Ensure the ‘Supervisor email’ or ‘Supervisor ID’ field appears in the Selected Fields section of the BambooHR report.

    • In your report ensure every employee has a manager designated in their "Reports To" field (Person > Job Information).

    selected-fields-with-demos.png

Step 2: Find & Save Your Report ID


Once you have finalized your report, identify its unique Report ID to link BambooHR to Culture Amp.

  1. Open your custom report in BambooHR.

  2. Locate the URL in your browser's address bar. It will look like this: https://acme.bamboohr.com/reports/report.php?id=123.

  3. Identify the Report ID: This is the numerical string at the very end of the URL (e.g., in the example above, the ID is 123).

Step 3. Create an API Key in BambooHR


To securely connect BambooHR with Culture Amp, you must generate a unique API Key. For maximum security, we recommend creating this key from a dedicated Admin user account that only has access to the specific data fields you wish to sync.

Note: Ensure the custom report created in Step 1 is shared with this specific user account before proceeding.

  1. Sign into BambooHR using the specific user account you want associated with this integration.

  2. Click your Profile Image in the bottom-left corner of the dashboard.

  3. Select API Keys from the menu.

  4. Click + Add New Key.

  5. Copy the API Key immediately: It will appear as a long string (e.g., 333e42ef58a08...). Store this securely, as you cannot view it again once you close the window.

Step 4. Connect & Authenticate in Culture Amp


Now that your report is configured and you have your credentials ready, follow these steps to establish the technical connection.

  1. Navigate to your Settings > Account > Integrations in Culture Amp.

  2. Select the BambooHR tile from the list of integrations.

  3. Enter your Credentials:

    • API Key: Paste the key generated in Step 2.

    • Report ID: Enter the numerical ID from Step 1.

    • Subdomain: Found in your BambooHR URL (e.g., if your URL is https://acme.bamboohr.com, your subdomain is acme).

  4. Click Validate Credentials

  5. Configure Sync Settings:

    • Filters: Use these to exclude specific groups from the sync.

    1. Daily Sync (Recommended): If enabled, data syncs automatically every day between midnight and 4:00 AM (International Date Line West).

    2. Notification Email: Select an Account Administrator or Employee data administrator) to receive alerts regarding blocked syncs or integration errors.

  6. Click Save Integration > Finish

When will my data sync? Once Daily Sync is enabled, your data refreshes automatically once every 24 hours. You can view your specific 4-hour sync window (e.g., Midnight to 4:00 AM UTC) by navigating to Settings > Data Integrations > Configure Integration > Edit and scrolling to Step 4.

Step 5: Choose Who to Include in the Sync (Optional)


If you have certain individuals in BambooHR that you do not want to sync into Culture Amp (such as contractors, temporary, or inactive staff), you have two primary options for exclusion.

Option 1. Set Filter Rules in Culture Amp

Use this if you already have a demographic in your report (like "Status" or "Employment Type") that identifies the group you want to skip.

  1. Scroll to Step 2: Optional - Create a custom field to exclude specific people

  2. Click Add Filter and select Exclude or Include, then choose your field (e.g., Status) and the value (e.g., Inactive).

  3. If you need to set up multiple rules, click Add Filter and repeat the process.

  4. Click Save Integration. These rules will be applied during your next sync.

Example: If you set Exclude when Status is Inactive, any employee with an "Inactive" status in BambooHR will be skipped during the sync and will not be created or updated in Culture Amp.

Option 2. Create a Dedicated Exclusion Field in BambooHR

Use this if you don't have an existing demographic that easily identifies who should be skipped, and you'd prefer to flag individuals manually in BambooHR.

  1. In BambooHR: Create a field titled exactly Exclude from Culture Amp.

  2. Set Values: Use Yes and No.

  3. Assign Logic: Set to Yes for anyone who should be excluded.

  4. Update Report: Ensure this field is added to your custom report. Culture Amp will automatically skip any record marked "Yes" during every sync.

Step 6. Sync Your User Data


You can now begin syncing your employee data. Even if you have enabled daily syncs, we recommend running a manual sync initially to verify your mapping and data health.

  1. Click Sync on the Data Integrations page

  2. Review the Import History to ensure all users and demographics are accounted for.

  3. Verify Hierarchy: Confirm that your manager data is flowing correctly. If you have an existing hierarchy, the "Supervisor Email" from BambooHR must populate the exact field identified by the hierarchy icon on the Account Demographics page Culture Amp.

  4. Finalize: If the data looks correct, click Confirm. If errors appear, click Cancel to troubleshoot any flagged issues.

Add or Update Your Hierarchy (Optional)

The process for managing your hierarchy depends on whether you have previously validated a hierarchy demographic in Culture Amp.

1. Confirm Your Path

  • Existing Hierarchy: If you already have a validated hierarchy (e.g., titled "Manager Email"), you must use the "Settings (cog)" icon in your BambooHR report to rename your calculated "Supervisor email" field to match your existing title verbatim.

  • New Hierarchy: If this is your first time setting up a hierarchy, leave the field name as-is. As long as Supervisor email (or Supervisor ID) has been set up as a calculated field Culture Amp will automatically map this to a field titled "Manager's email (Supervisor email) or Manager's ID (Supervisor ID). Once the sync is successful, follow our Add Your Hierarchy guide to perform the one-time validation.

2. Technical Requirements

To ensure the sync builds your organizational tree correctly, your BambooHR report must adhere to these rules:

  • Identifier Type: Use Supervisor Email (recommended) or Supervisor ID calculated field in Bamboo. Hierarchy cannot be built using Manager Names.

  • Data Completeness: Every employee must have a manager assigned in their BambooHR "Reports To" field. If a manager is missing from the sync file, their direct reports cannot be placed in the hierarchy.

  • Top Leader: Leave the "Reports To" field blank for your CEO or top-level leader to identify the "top" of your tree.

  • Verbatim Matching: Check your Account Demographics page for the hierarchy symbol (three connected nodes) to verify your current title. Your BambooHR Column Name must match this exactly (including casing).

Troubleshooting/FAQs


General Data Integrity & Import Management

The first step when investigating any data issue is to check the Import Summary Screen for your most recent import.

  1. Go to Settings > Employee Data > Import History.

  2. Select your most recent import to view details.

This screen provides information on the state of your integration, any specific errors, or will prompt you to run a manual sync to identify problems.

Common BambooHR Integration Errors

Error Message / Issue

Potential Cause

Suggested Fix

"We couldn't import that data - there's a problem connecting to your HRIS"

The API key is invalid, or the Admin who set up the integration has left the company.

1. Verify the Report ID: Ensure the ID in Culture Amp matches your BambooHR report.

2. Test Report Access: In your browser, take any BambooHR report URL and replace the ID at the end (e.g., id=123) with your Report ID. If it doesn’t load, you need a BambooHR Admin to share that report with you.

3. Refresh API Key: If access is confirmed, generate a new API key in BambooHR (Profile > API Keys).

4. Update in Culture Amp: Go to Settings > Data Integrations > Configure > Edit, select Change Credentials, and paste the new key.

Still seeing connection errors?Try creating a brand-new custom report in BambooHR and updating both the Report ID and the API Key in Culture Amp at the same time.

Also feel free to 'Ask a person' during a Support Conversation to check for any potential outages.

"Column with ID ‘-#' Does Not Exist"

Unsupported Calculated Field.

Some calculated fields only exist in the BambooHR UI and can't be pulled via the API. Remove the calculated field from the report and use a standard "List" or "Text" field instead.

Future Termination Dates are missing

BambooHR custom reports do not support syncing future term dates.

The default "Termination Date" in BambooHR does not support future dates. Create a custom field in BambooHR titled "End Date" to house these values; Culture Amp will then recognize and sync them correctly.

Missing fields or specific employees

The API key creator has restricted permissions in BambooHR.

The Admin who created the API key must have "View" access to all Personal and Job categories for all employees. Ensure there are no "limit by" restrictions for specific employee types or locations

Demographic titles don't match

The BambooHR column header doesn't match your Culture Amp demographic name.

Use the Settings (cog) icon in your BambooHR report builder to change the "Column Name" to match your Culture Amp demographic label verbatim (e.g., "Manager Email").

Switching From CSV or Other Imports

If you are moving from CSV uploads or a different integration, keep the following in mind:

  • Demographic Consistency: When mapping fields, you must map the data to the exact same demographic field you used historically (e.g., mapping to "TEAM" is different from mapping to "TEAM NAME"). Using an incorrect or slightly different title risks discontinuity in your trended survey results.

  • Recommended Action: To avoid confusion, we recommend navigating to Settings > Employee Data > Demographics and deleting the old, unused demographics after your first successful sync. (This won't impact any previous survey results.)

Handling Inactive Employees

BambooHR utilizes Culture Amp's Full Import logic, which means the data file sent from BambooHR is treated as the single source of truth for your active employee list. The default behavior for users left off your HRIS sync file is to set their end date to the day before the sync date, categorizing them as former employees.

Scenario

System Behavior

Past End Date

The employee is automatically marked as a Former Employee and made inactive in Culture Amp instantly.

Future End Date

The employee remains active until the specified date is reached, at which point they are transitioned to Former Employee status, at the end of that day (11.59 PM in the timezone set for the account)

Employee Missing from Sync

Any employee active in Culture Amp but not present in the BambooHR sync file will be made inactive as a former user instantly, with an end date assigned as the day before the sync.

Updates to Inactive Users

Demographic updates (such as a changed end date) can still be applied to inactive records during a sync.

Handling Duplicate Employees

Culture Amp uses two fields as unique identifiers for user profiles: Email and Employee ID.

  • As long as at least one of these remains consistent between BambooHR and Culture Amp, the sync will successfully update the existing profile rather than creating a new one.

  • Duplicate Risk: If you change both the Email and the Employee ID simultaneously in Workday, the sync will not find a match and will create a duplicate profile.

If you see a duplicate profile error flag during your import, take the following steps:

Scenario

Action to Take

A. Before Changes Are Applied

During the first sync review screen, stop the sync. Update the employee emails in Culture Amp to match those in BambooHR.

  1. Go to the Culture Amp Users page,

  2. Click on the name of the employee you want to update.

  3. Update their email.

  4. Click Save and Exit to update.

  5. Repeat for all duplicated employees.

  6. Then, retry the integration sync.

B. After Changes Are Applied

To clean up the duplicated profiles:

  1. Go to the Culture Amp Users page,

  2. Locate the newest duplicate profile for that user. Click on the name to open up their profile.

  3. Remove existing Email/Employee ID and assign a fake Email or Employee ID to the user and save.

  4. Deactivate this updated profile.

  5. Update the original user profile to match emails in BambooHR. This keeps the history on the existing employee record.

Further Guidance

Check out our dedicated support guide for further information on duplicate employee clean-up.

Sync Blocked to Protect Employee Privacy

Your automated daily sync might be blocked if Culture Amp detects a high-risk change for an employee. You will receive an email notification if this occurs.

  • When It Happens: The sync is blocked if a combination of an employee's Name, Date of Birth, or Email is changed simultaneously.

  • Purpose: This prevents one employee from accidentally getting access to another employee's private information (like performance reviews).

  • Fix: If you've intentionally changed the employee's details, you can run a manual sync to push the change through. Go to Settings > Employee Data > Users, click Import data, and select Sync. Culture Amp will guide you through the rest.


💬 Need help? Just reply with "Ask a Person" in a Support Conversation to speak with a Product Support Specialist.

Did this answer your question?