How to Connect to BambooHR

How to Find Your API Key in BambooHR

Note: It's recommended that a person with the "Account Owner" role creates the API key for full read/write access.

To find your API Key in BambooHR, follow these steps:

  1. Log in to your BambooHR account.

  2. Click on your profile picture, at the bottom left corner.

    Click on profile

  3. Select API Keys from the menu.

  4. If you don't have an API key already, you can create one by clicking on the Add New Key button.

    Create new API key

  5. Add the name and copy your API Key value.

    Copy API Key and subdomain

  6. Copy your subdomain.

    Copy subdomain

Access Levels

Note: If you cannot use an Account Owner to create the API key, you can create or use a custom access level with the necessary permissions configured.

BambooHR provides different access levels for controlling what information users can access:

  • Employee Access Level: Limited access - employees can only see their own information. (Not recommended for API Key owner).
  • Manager Access Level: Limited access - managers can only see their own information. (Not recommended for API Key owner).
  • Custom Access Level: Configurable access level that can be customized for specific needs.(Recommended for API key owner)

Using Pre-existing Custom Access Levels

If you already have a custom access level set up, you can use it for your API integration:

  1. Click on Settings ⚙️ button on the top right, then click on Access Levels from the left navigation menu.

    Click on Access Levels

  2. Find the custom access level you want to use and click on it.

  3. Make sure the API user (the employee whose account will create the API key) is assigned to this access level. If not, click on Add Employee and select the employee from the dropdown.

  4. Verify that the access level has the necessary permissions configured.

Creating New Custom Access Levels

To create a new custom access level and assign it to users, follow these steps:

  1. Click on Settings ⚙️ button on the top right, then click on Access Levels from the left navigation menu.

    Click on Access Levels

  2. Along with "Levels" click on the + button to create a new custom access level. Select Custom Access Level.

    Click on + button

  3. Enter name and description for the new custom access level and click on Next Step.

    Add basic info

  4. Under What Can People with this Access Level Do?, scroll down to the Settings section and check the box next to "Company Field Settings".

This permission is required to access company-level field data (such as division_id and department_id fields) through the API. Click on Next Step when done.

Company Field Settings

  1. Under What this Access Level Can See step, make sure you are on See About other Employee section.

    Check section name

  2. Select the types of permissions you want to allow this role to access for other employees. If you need Read-Only, select View Only, if Write access is needed, select Edit.

    Select permissions to grant

  3. If you need to access tabular data (custom tables) through the API, navigate to the appropriate section under What this Access Level Can See (for example, Personal, Job, etc.) where your custom tables are located and grant permissions to the specific tables you need. You'll need to enable access to each table that should be accessible via the API.

    For example, if your table is under Personal, navigate to the Personal section and enable the required table permissions:

    Setup tables

    Permissions tables

  4. Save the changes and add an employee to the custom access level you've created.

    Select your custom level

  5. Click on Add Employee button. Select the employee name from the dropdown and click on Done.

    Add employee to custom role

    Add employee to level

  6. Once the custom access level is assigned, users with that access level will have the specified permissions, including the ability to create API keys with write access if selected.

Vault Connection Setup

Add your domain and API key and click on Save.

Vault configuration

You're connected now 🎉.