Skip to main content

Bamboo HR

BambooHR is a comprehensive human resources information system designed for small and medium-sized businesses, providing tools for employee management, time tracking, performance management, and HR analytics to streamline workforce operations.

Bamboo HR icon

Power end-to-end data operations for your Bamboo HR API with Nexla. Our bi-directional Bamboo HR connector is purpose-built for Bamboo HR, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Bamboo HR or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Bamboo HR workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a BambooHR credential in Nexla, you need to obtain your API key from your BambooHR account. BambooHR uses Basic Authentication with an API key for secure API access.

BambooHR API Key Setup

BambooHR API keys provide secure, programmatic access to your BambooHR account data. API keys are used together with Basic Authentication to authenticate API requests.

  1. Access BambooHR: Sign in to your BambooHR account.

  2. Navigate to API Settings: Click on your account settings or profile icon, and navigate to API or Integrations settings. The exact location may vary depending on your BambooHR account configuration and permissions.

  3. Create or View API Key: If you don't have an API key, create a new one. If you already have an API key, you can view it in the API settings. API keys are typically long alphanumeric strings.

  4. Identify Company Subdomain: Note your company's BambooHR subdomain. This is the subdomain used to access your BambooHR account. For example, if you access BambooHR at https://mycompany.bamboohr.com, then your subdomain is mycompany.

  5. Copy API Key: Copy your API key immediately after viewing it. Keep the API key secure, as it provides access to your BambooHR account data.

    BambooHR API keys provide programmatic access to your BambooHR account. Keep your API key secure and do not share it publicly or commit it to version control systems. If you suspect your API key has been compromised, regenerate it immediately in your BambooHR API settings. For detailed information about creating and managing API keys, see the BambooHR API documentation.

For additional information about BambooHR API authentication and credential management, see the BambooHR API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
Company Sub DomainYesNoThe subdomain used to access your account. If you access BambooHR at https://mycompany.bamboohr.com, then the subdomain is mycompany.
API KeyYesNoYour Bamboo HR API Key. Visit https://documentation.bamboohr.com/docs for instructions on how to create/obtain your API Key.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – BambooHR

BambooHRCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Enter your company's BambooHR subdomain in the Company Sub Domain field. This should be the subdomain used to access your BambooHR account. For example, if you access BambooHR at https://mycompany.bamboohr.com, enter mycompany. The subdomain is used to construct the API endpoint URL for your account.

  3. Enter your BambooHR API key in the API Key field. This should be the API key obtained from your BambooHR account API settings. The API key is used as the username for Basic Authentication, together with a random string password for secure API access.

    The API key provides secure access to your BambooHR account data through the API. The API key is used as the username for Basic Authentication, and a random string password is automatically generated for each request. Keep your API key secure and do not share it publicly or commit it to version control systems. For detailed information about BambooHR API authentication, see the BambooHR API documentation.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the BambooHR connector tile, then select the credential that will be used to connect to the BambooHR instance, and click Next; or, create a new BambooHR credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common BambooHR endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Get Full Employee Directory

This endpoint retrieves the complete employee directory from your BambooHR account. Use this endpoint when you need to access employee information for analysis, reporting, or integration with other systems.

  • This endpoint automatically retrieves all employees in your directory. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses GET requests to the BambooHR Employee Directory API endpoint (https://api.bamboohr.com/api/gateway.php/{companyDomain}/v1/employees/directory). The endpoint URL is automatically constructed based on your credential's company subdomain configuration.
  • The endpoint will return all employees in your directory as employee records, including employee names, job titles, departments, and other directory information. The response data is extracted from the employees array in the API response ($.employees[*]), with each employee record processed individually.
  • The endpoint does not use pagination and returns all employees in a single request.

This endpoint retrieves the complete employee directory in a single request. The endpoint does not use pagination and returns all available employee records. The endpoint requires Basic Authentication with your API key, which is handled automatically by your credential configuration. For detailed information about the Employee Directory API, including response formats and available fields, see the BambooHR API documentation.

List company files and categories

This endpoint retrieves a list of company files and file categories from your BambooHR account. Use this endpoint when you need to access company documents, policies, or other files stored in BambooHR.

  • This endpoint automatically retrieves all company files and categories. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses GET requests to the BambooHR Files API endpoint (https://api.bamboohr.com/api/gateway.php/{companyDomain}/v1/files/view/). The endpoint URL is automatically constructed based on your credential's company subdomain configuration.
  • The endpoint will return all company files and categories. The response data is extracted from the category paths in the API response (*/category), with each category and its files processed individually.
  • The endpoint does not use pagination and returns all files and categories in a single request.

This endpoint retrieves all company files and categories in a single request. The endpoint does not use pagination and returns all available file information. The endpoint requires Basic Authentication with your API key, which is handled automatically by your credential configuration. For detailed information about the Files API, including response formats and file access, see the BambooHR API documentation.

Get Company Report

This endpoint retrieves a pre-existing company report from your BambooHR account. Use this endpoint when you need to access custom reports that have been created in the BambooHR reporting section.

  • Enter the report ID of the company report you want to retrieve in the Company Report ID field. You can find the report ID by navigating to the Reports section in BambooHR, hovering over the report name, and grabbing the ID from the URL or tooltip. The report ID is a numeric identifier for the specific report.
  • The endpoint uses GET requests to the BambooHR Reports API endpoint (https://api.bamboohr.com/api/gateway.php/{companyDomain}/v1/reports/{reportId}?format=json). The endpoint URL is automatically constructed based on your credential's company subdomain configuration and the report ID you provide.
  • The endpoint will return the report data in JSON format. The response data is returned at the root level of the JSON response ($), containing the report structure, columns, and data rows.
  • The endpoint does not use pagination and returns the complete report in a single request.

This endpoint requires a valid company report ID from a pre-existing report in your BambooHR account. The report must be created in the BambooHR reporting section before it can be accessed via the API. The endpoint returns the report in JSON format (format=json). The endpoint does not use pagination and returns the complete report in a single request. The endpoint requires Basic Authentication with your API key, which is handled automatically by your credential configuration. For detailed information about the Reports API, including how to find report IDs and report formats, see the BambooHR API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

BambooHR data sources can also be manually configured to ingest data from any valid BambooHR API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, path to data, metadata, and request headers.

BambooHR API endpoints follow the pattern https://api.bamboohr.com/api/gateway.php/{companyDomain}/v1/{api_path}, where {companyDomain} is your company subdomain and {api_path} is the specific API path. BambooHR API requests require Basic Authentication with your API key, which is handled automatically by your credential configuration.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new BambooHR data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the BambooHR destination, and select the Send to Destination option from the menu. Select the BambooHR connector from the list of available destination connectors, then select the credential that will be used to connect to the BambooHR organization, and click Next; or, create a new BambooHR credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common BambooHR endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Add new Employees

This endpoint creates new employee records in your BambooHR account. Use this endpoint when you need to add new employees from your data sources, such as onboarding new hires or importing employee data from other systems.

  • This endpoint uses POST requests to the BambooHR Employees API endpoint (https://api.bamboohr.com/api/gateway.php/{companyDomain}/v1/employees). The endpoint URL is automatically constructed based on your credential's company subdomain configuration.
  • The endpoint sends data from your Nexset as the request body in JSON format. Each record in your Nexset will be sent as a JSON object containing the employee data to create. The request body should follow the BambooHR API specification for adding employees, including required fields and field names.
  • Ensure your Nexset data includes the required fields for employee creation. New employees must have at least a first name and a last name. Additional fields such as email, job title, department, and other employee information can be included based on your BambooHR account configuration and field requirements.
  • Batch mode is disabled by default for this endpoint. Each record in your Nexset will be sent as a separate API request to create an employee. If you need to add multiple employees, you can send multiple records, but each will be processed as a separate request.

The request body must be properly formatted JSON that matches the BambooHR API specification for adding employees. New employees must have at least a first name (firstName) and a last name (lastName) in the request body. The endpoint requires Basic Authentication with your API key, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. Batch mode is disabled by default (batch.mode: false), so each record will be sent as a separate request. For detailed information about adding employees, including required fields, field names, and request formats, see the BambooHR API documentation.

Manual configuration

BambooHR destinations can also be manually configured to send data to any valid BambooHR API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, request headers, and request body format.

BambooHR API endpoints follow the pattern https://api.bamboohr.com/api/gateway.php/{companyDomain}/v1/{api_path}, where {companyDomain} is your company subdomain and {api_path} is the specific API path. Most BambooHR API endpoints use JSON format for request bodies. For employee creation, ensure the request body includes at least the firstName and lastName fields.

Save & activate

Once all endpoint settings have been configured, click the Create button in the upper right corner of the screen to save and create the new BambooHR destination. Nexla will now begin sending data from the selected Nexset to the configured endpoint.