Skip to main content

How do I connect my BambooHR account?

Connect BambooHR with Ledgy to automatically sync employee data, configure permissions, and keep your cap table up to date.

Written by Support Team
Updated over 2 weeks ago

Introduction

Connecting BambooHR to Ledgy allows you to automatically sync employee data — such as names, emails, start dates, and termination dates — directly into your Ledgy stakeholder profiles. This saves time on manual data entry and keeps your cap table up to date.


This article covers the BambooHR-specific steps: linking your account via OAuth or API Key, setting up Custom Access Levels, and connecting the two platforms. Once connected, configuring and syncing data follows the same process as all HRIS integrations.

See "How do I connect and sync my HRIS system with Ledgy?" for full details on configuration and syncing.

Prerequisites: You need either Full-Admin access or a Custom Access Level in BambooHR, and Admin access in Ledgy.

Step 1: Start the connection in Ledgy

  1. In Ledgy, go to Company Settings > Data Management

  2. Find the HRIS System Integration section

  3. Click Connect

  4. Search for and select BambooHR

  5. Click Connect again to proceed

A linking window will appear asking you to choose your authentication method. The next section explains both options.


Step 2: Link your BambooHR account with Ledgy

BambooHR offers two ways to authenticate the connection with Ledgy, via OAuth or API key. OAuth Authentication is recommended.

Note: If you currently use a Custom Access Level within BambooHR, please review the Custom Access Level section below to ensure proper field mapping.

Setting up Custom Access Levels in BambooHR

If you don't want to connect your personal admin BambooHR account with Ledgy, you can create a Custom Access Level linked to a generic company email. The connection between BambooHR and Ledgy (via OAuth or API key) is associated with a specific user — an API key has the same Access Levels and permissions as the user who created it.

Why use a Custom Access Level?

For an additional level of security, we recommend creating a new "Non-Employee User" within your BambooHR account with a Custom Access Level that allows the view of only the specific data points needed by Ledgy.

How to create a Custom Access Level

  1. Log in to BambooHR as an administrator

  2. Go to Settings > Access Levels

  3. Click the + button next to "Levels" > Custom Access Level

  4. Add an Access Level Name (e.g. "Ledgy Access") and click Next Step

Permission settings for Custom Access Levels

When creating a Custom Access Level for the BambooHR, the following permissions must be enabled for the default employee information

The First Tab: See About Other Employees

IMPORTANT: Please select "ALL EMPLOYEES" for whom this access level can access the information.

Under the Personal section, enable View access for the following:

  1. Basic Information:

    1. Status

    2. Employee Number

    3. First Name

    4. Last Name

    5. Preferred Name

  2. Address:

    1. Address Line 1

    2. Address Line 2

    3. City

    4. State

    5. Zip Code

    6. Country

  3. Contact:

    1. Work Email

    2. Home Email

Under the Job section, enable View access for the following:

  1. Hire Date

  2. Original Hire Date

  3. Direct Reports

  4. Team

  5. Employment Status

    1. Employment Status Date

    2. Employment Status

    3. Termination Type

  6. Job Information

    1. Job Title

    2. Department

    3. Division

    4. Location

    5. Job Information Date

    6. Reporting To

The Second Tab: See About Themselves

  1. Should Employees be able to see their information?

    1. Select "Yes, Allow Access"

  2. Which Access Level should apply?

    1. Select "Full Access"

      1. This means that the BambooHR Employee with this Custom Access Level will be able to see the same information for themselves

Tip: If you don't want to share specific data points with Ledgy, simply don't add viewing permissions for those fields. Unshared fields will be returned as blank — no error will occur.


Option 1: Connection via OAuth Authentication (recommended)

Step 1: Add your BambooHR subdomain


Go to Company Settings > Data Management > Connect > BambooHR > Select "I want to authenticate through BambooHR's website."


Enter only the subdomain portion of your BambooHR URL. For example, if you sign in at "acme.bamboohr.com", enter only acme — not the full domain.


You will be redirected to BambooHR to log in to your account.


Step 2: Enter your BambooHR account credentials
Provide your login information on the BambooHR platform to authorise the connection. Once entered, your authentication is complete!


Important: You'll be given the option to map additional HR field mappings from your HRIS into Ledgy. Click Skip for now and request additional field mappings via Support chat once the connection is complete.


Your BambooHR account is now connected to Ledgy!


Option 2: Connection via API Key Authentication

Step 1: Add your BambooHR subdomain


Go to Company Settings > Data Management > Connect > BambooHR > Select "I want to use my API Key or Access Token."


Enter only the subdomain portion of your BambooHR URL. For example, if you sign in at "acme.bamboohr.com", enter only acme — not the full domain.


Step 2: Generate your BambooHR API key

Important: You must have either Full-Admin access or a Custom Access Level with sufficient permissions. The API key inherits the access level of the user who creates it.

  1. Log in to BambooHR and click your profile avatar in the bottom left corner

    Screenshot 2025-11-10 at 4.33.16 PM.png

  2. Select API Keys from the menu

  3. Click Add New Key

  4. Enter a name for the API key (e.g. "Ledgy") and click Generate Key

  5. Copy the generated key and paste it into the linking flow in Ledgy

Important: You'll be given the option to map additional HR field mappings from your HRIS into Ledgy. Click Skip for now and request additional field mappings via Support chat once the connection is complete.


Your BambooHR account is now connected to Ledgy!


Default fields synced via the standard connection

Once connected, the following Ledgy fields are automatically mapped from BambooHR via the standard integration — no additional or custom mapping is required:

Core profile fields:

  • Identifier — the field used to match HRIS records to Ledgy stakeholder profiles (configurable: Employee Number, Work Email, or Personal Email)

  • Name

  • Email (i.e. Work Email)

  • Personal Email

  • Address Line 1

  • Address Line 2

  • ZIP Code

  • City

  • Country

  • Birthdate

Employment fields

  • Start Date

  • Termination Date

  • Employment Status

  • Pay Period

  • Pay Currency

  • Employment Type

  • Job Title

  • Team

  • Work City

  • Work Country

Optional fields (require configuration in Step 4):
The following fields can also be imported but must be explicitly enabled in the Configure settings:

  • Pay Rate

  • Manager

  • Mobile Phone Number

💡 Permissions note: You do not have to grant read permissions for all of the fields listed above. If you choose not to give Ledgy read access to certain fields in your BamBooHR permission group, those fields will simply be returned as blank — no error will occur.

Name and Email are the minimum fields required to create a stakeholder profile in Ledgy.


Connecting custom fields (fields outside the default connection)

If you need to sync fields from BambooHR that aren't included in the default list above — for example, department-specific data, custom employee attributes, or any other field unique to your BambooHR setup — you can request a custom HR field mapping.

How it works:

  1. Contact the Ledgy Support team via the in-app chat bubble on the bottom-right or email [email protected] and let them know which BambooHR field(s) you need

  2. Support will check whether the field is available via the BambooHR integration API

  3. If available, Support will connect the field to your Ledgy account

  4. Once connected, go to Data Sync > Configure > Requested HR fields — you'll see the newly connected BambooHR field listed there

  5. Create a Ledgy custom field to receive the data (if one doesn't already exist) via Company Settings > Data Management > Stakeholder custom fields > Add custom field

  6. Map the connected BambooHR field to your Ledgy custom field in the Configure screen

  7. Click Save — the Data Sync page will update with the newly retrieved data

  8. Run a Sync to pull the custom field data into your stakeholder profiles

Once synced, the custom field data will appear on each stakeholder's profile under Custom Fields. You can also use these fields in reports, document templates, grid columns, and as "group by" options on the Stakeholders page.

Tip: During the initial BambooHR linking flow, you'll see an option to map additional fields. We recommend clicking "Skip for now" and requesting field mappings via Support once the connection is complete — this ensures everything is set up correctly.

For full details on custom field mapping, see the general HRIS guide.


Step 4: Configure your sync settings

Go to the Data Sync page and click Configure. For full details on all configuration options, see the "Configuring your HRIS import settings" section in our general HRIS guide:


Key settings to configure:

  • Stakeholder identifier — For BambooHR, the recommended identifier is Work Email or Employee number. This is how Ledgy matches HRIS records to existing stakeholder profiles.

  • Stakeholder email — Choose which employee field maps to Ledgy's primary email.

  • Additional fields to import — Optionally import Manager, Mobile Phone Number, or Pay Rate.

    • Nb. ‘Mobile number’ will appear as invalid if the country code is not inputted in HRIS. Please add country code to HRIS entries to successfully sync mobile number - otherwise, this will need to be manually updated in Ledgy.

  • Sync-if conditions — Filter which employees are included in the sync (e.g. only active employees, or employees in specific locations).


⚠️ Important: If you already have stakeholder profiles in Ledgy

If you already have existing stakeholder profiles in Ledgy before connecting BambooHR, you need to ensure Ledgy can match your HRIS records to the correct existing profiles. Without this step, duplicate stakeholder profiles may be created during the sync.

How matching works

Ledgy uses a Stakeholder Identifier to match incoming HRIS data with existing stakeholder profiles. The identifier you choose in the Configure settings (e.g. Work Email, Employee Number, or Personal Email) must be present in both:

  • The employee record in BambooHR

  • The Identifier field on the stakeholder profile in Ledgy

If an existing stakeholder profile in Ledgy does not have a matching identifier, Ledgy cannot link it to the HRIS record and will create a new (duplicate) profile instead.

What you need to do

Before running your first sync, update the Identifier field on your existing Ledgy stakeholder profiles:

  1. Go to Stakeholders in Ledgy and click the Bulk button

  2. Select Natural person and click Stakeholders to download your stakeholder list as an Excel file

  3. In the Excel file, fill in the Identifier column for each stakeholder — use the Work Email or Employee number from BambooHR (or whichever identifier you selected in the Configure settings)

  4. Upload the updated Excel file back to Ledgy

Then, in the Configure settings:

  1. Go to Data Sync > Configure

  2. Set the Stakeholder identifier dropdown to match the identifier type you used in the Excel file (e.g. Work Email)

  3. Click Save

Now when you sync, Ledgy will correctly match your existing stakeholder profiles with the BambooHR data — no duplicates!

💡 Tip: You can update the Identifier field in bulk using Ledgy's Bulk Edit feature.

For the full explanation of how stakeholder identification works across all HRIS integrations, see the "Choosing how to identify stakeholders" and "What happens if I have existing stakeholders?" sections in our general HRIS guide.


Step 5: Sync your data

Once your configuration is set, you're ready to sync. For full details on syncing (including test syncing, syncing all stakeholders, and ongoing synchronisation), see the "Syncing data into Ledgy" section in our general HRIS guide:

Quick steps:

  1. On the Data Sync page, review the stakeholder records pulled from BambooHR

  2. Optionally, select a few records and click Sync Selected to test first

  3. Once verified, click Sync Now to sync all matching stakeholders


Need help? Contact our support team via the in-app chat or email [email protected]


Frequently asked questions

I don't want to connect my personal admin BambooHR account with Ledgy. Instead, I want to create a Custom Access Level link with a generic company email and connect this with Ledgy.

The connection between BambooHR and Ledgy (via OAuth or API key) is associated with a specific user. So, an API key has the same Access Levels and permissions as the user who created it (e.g. if you create an API key as an Admin, the API key will have an Admin access level). As such, for an additional level of security, we advise creating a new "Non-Employee User" within your BambooHR account with a "Custom Access Level" that allows the view of specific data points. To do so, please follow the steps below:

  1. Log in to BambooHR as an administrator

  2. Go to Settings > Access Levels

  3. Click on the + button next to "Levels" > Custom Access Level

  4. Add an Access Level Name, e.g. "Ledgy Access", and click on Next Step

  5. Select what people with this access level can do (for the sync, no field needs to be selected), click on Next Step, and select what people with this access level can see (see this article section and select all the required fields)

  6. Once done, click Save & Finish → you'll be redirected to the access levels settings page

  7. Click on the custom level created ("Ledgy Access") and click on the Settings icon on the top right corner > Add a Non-Employee BambooHR User

  8. Enter a name (e.g. First Name: "Ledgy" and Last Name: "User"), an email you have access to (different from your BambooHR account email), select the created Custom Access Level ("Ledgy Access"), and click Save

  9. You will receive an email to set up your password. Once you do, log in to BambooHR using the newly created account and proceed to the connection step via OAuth or API key.

Did this answer your question?