Bamboo HR


Overview

The BambooHR connector enables your AI Colleagues to integrate with your organization's BambooHR platform, facilitating automated HR operations, employee data management, and HRIS workflows.

BambooHR is a cloud-based human resource management software designed for small to medium-sized businesses. It handles employee records, time-off tracking, performance management, and reporting. The BambooHR connector allows Leena AI to automate HR workflows, manage employee data, and perform detailed CRUD operations on tabular data seamlessly.

API Details

Leena AI integrates with BambooHR via REST APIs.

Documentation link: https://documentation.bamboohr.com/docs/getting-started

Setup

The BambooHR connector uses Basic Authentication with an API Key.


Prerequisites

Before setting up the BambooHR connector, ensure you have:

  • Administrator access to your BambooHR account
  • Permission to generate API Keys in BambooHR
  • Your BambooHR company domain (the subdomain in your BambooHR URL)
  • Access to your Leena AI workspace with connector management permissions

Get credentials

Here is how to generate an API Key in BambooHR:

  1. Log in to your BambooHR account (Ensure you're signed in as an admin).
  2. Navigate to API Keys:
    1. Click on your name in the upper right-hand corner of any page
    2. Select API Keys from the user context menu
  3. Create New API Key:
    1. Click Add New Key
    2. Enter a descriptive name for your API key (e.g., "Leena AI Integration")
    3. Click Generate Key
  4. Save and Note Credentials:
    1. Copy the generated API Key immediately
    2. Important: The API Key is only displayed once during creation and cannot be retrieved later
    3. Store the API Key securely for use during Leena AI configuration
  5. Note Your Company Domain:
    1. Your company domain is the text that appears before .bamboohr.com in your BambooHR URL
    2. For example, if you access BambooHR at https://mycompany.bamboohr.com, your company domain is mycompany

Add connection

Here is how to add a connection on Leena AI:

  1. Log in to your Leena AI workspace
  2. Navigate to Settings > Integrations
  3. Search for "BambooHR" and select it from the list to add its new connector
  4. Start configuring the connector
    1. Company Domain: Your BambooHR subdomain (e.g., mycompany)
    2. Auth Type: Select 'Basic' for Basic Authentication
    3. Username: Your BambooHR API Key
    4. Password: Can be left empty or use any placeholder value (e.g., 'x')
  5. Save and Test Connection
    1. Click Save to store the connector configuration
    2. Test the connection to verify API access is working correctly
    3. The connector will be saved upon successful validation

Actions

The following actions are supported for the BambooHR connector:

Updates employee

Updates an employee's core profile information in BambooHR. The Agent can leverage the skill (workflow), which has been designed to modify employee data in BambooHR, once the user provides the employee details to be updated. The system dynamically generates a form with all available, non-tabular fields for a given employee. Here are some common use cases:

  • Profile Updates: Modify employee contact information, job title, or employment status
  • Data Corrections: Fix incorrect employee data entries
  • Status Changes: Update employment status or department assignments
  • Custom Field Updates: Modify any standard or custom fields in your BambooHR instance

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
IDThe unique employee identifier in BambooHR

Optional

NameDescription
Dynamic FieldsAdditional fields are dynamically generated based on your BambooHR configuration. These include standard fields like First Name, Last Name, Job Title, Department, Work Email, etc., as well as any custom fields defined in your BambooHR instance.

Here is a sample JSON input:

//Update Employee Contact Information

{
  "id": "123",
  "workEmail": "[email protected]",
  "workPhone": "+1-555-0100",
  "mobilePhone": "+1-555-0101"
}

//Update Employee Job Details

{
  "id": "123",
  "jobTitle": "Senior Software Engineer",
  "department": "Engineering",
  "division": "Product Development"
}

//Update Employee Personal Information

{
  "id": "123",
  "firstName": "John",
  "lastName": "Doe",
  "preferredName": "Johnny",
  "address1": "123 Main Street",
  "city": "San Francisco",
  "state": "CA",
  "zipcode": "94102"
}

Response

Upon successful update, the action returns:

  • HTTP status code indicating success (200)
  • Updated employee data confirmation
  • Any validation errors if fields were invalid

Adds a table row

Creates a new entry in a specified tabular data structure for an employee in BambooHR. The Agent can leverage the skill (workflow), which has been designed to add records to employee tables, once the user specifies the table and data to be added. Here are some common use cases:

  • Compensation Records: Add new salary or compensation entries
  • Job History: Record job role changes or promotions
  • Emergency Contacts: Add new emergency contact information
  • Education Records: Add educational qualifications
  • Training Records: Document completed training or certifications

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
IDThe unique employee identifier in BambooHR
TableThe name of the table to add the row to (e.g., jobInfo, compensation, emergencyContacts)

Optional

Name

Description

Dynamic Fields

Additional fields are dynamically generated based on the selected table. The form automatically adapts to show the relevant input fields for the specific table. Common table fields include:

  • jobInfo: date, location, department, division, jobTitle, reportsTo
  • compensation: startDate, rate, type, reason, comment
  • emergencyContacts: name, relationship, phone, email
  • education: institution, degree, major, year

Here is a sample JSON input:

//Add Compensation Record

{
  "id": "123",
  "table": "compensation",
  "startDate": "2025-01-01",
  "rate": "95000",
  "type": "Annual",
  "reason": "Annual Review",
  "comment": "Performance-based salary increase"
}

//Add Job History Entry

{
  "id": "123",
  "table": "jobInfo",
  "date": "2025-01-15",
  "location": "San Francisco Office",
  "department": "Engineering",
  "division": "Product",
  "jobTitle": "Senior Engineer",
  "reportsTo": "Jane Smith"
}

//Add Emergency Contact

{
  "id": "123",
  "table": "emergencyContacts",
  "name": "Jane Doe",
  "relationship": "Spouse",
  "phone": "+1-555-0102",
  "email": "[email protected]"
}

Response

Upon successful creation, the action returns:

  • HTTP status code indicating success (200/201)
  • Confirmation of the new row addition
  • The created row data

Updates a table row

Modifies an existing entry within a tabular data structure for an employee in BambooHR. The Agent can leverage the skill (workflow), which has been designed to update specific records in employee tables, once the user provides the table, row, and data to be updated. Here are some common use cases:

  • Compensation Corrections: Fix errors in salary records
  • Job History Updates: Modify previous job role details
  • Emergency Contact Changes: Update existing emergency contact information
  • Record Amendments: Correct any tabular data entries

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
IDThe unique employee identifier in BambooHR
TableThe name of the table containing the row to update
Row IDThe unique identifier of the specific row to be updated (selected from a dropdown of existing rows)

Optional

NameDescription
Dynamic FieldsAdditional fields are dynamically generated based on the selected table. The form automatically adapts to show the relevant input fields for the specific table, similar to the Add Table Row action. Only fields that need to be updated should be provided.

Here is a sample JSON input:

//Update Compensation Record

{
  "id": "123",
  "table": "compensation",
  "rowId": "456",
  "rate": "100000",
  "reason": "Promotion",
  "comment": "Updated salary after promotion to Senior role"
}

//Update Job History Entry

{
  "id": "123",
  "table": "jobInfo",
  "rowId": "789",
  "jobTitle": "Lead Engineer",
  "department": "Platform Engineering"
}

//Update Emergency Contact

{
  "id": "123",
  "table": "emergencyContacts",
  "rowId": "321",
  "phone": "+1-555-0199",
  "email": "[email protected]"
}

Response

Upon successful update, the action returns:

  • HTTP status code indicating success (200)
  • Confirmation of the row update
  • Updated row data

Deletes a table row

Removes an existing entry from a tabular data structure for an employee in BambooHR. The Agent can leverage the skill (workflow), which has been designed to delete specific records from employee tables, once the user specifies the table and row to be removed. Here are some common use cases:

  • Remove Outdated Records: Delete old or incorrect table entries
  • Data Cleanup: Remove duplicate or erroneous records
  • Emergency Contact Removal: Delete outdated emergency contacts
  • Record Deletion: Remove any tabular data entries no longer needed

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
IDThe unique employee identifier in BambooHR
TableThe name of the table containing the row to delete
Row IDThe unique identifier of the specific row to be deleted (selected from a dropdown of existing rows)

Here is a sample JSON input:

//Delete Compensation Record

{
  "id": "123",
  "table": "compensation",
  "rowId": "456"
}

//Delete Job History Entry

{
  "id": "123",
  "table": "jobInfo",
  "rowId": "789"
}

//Delete Emergency Contact

{
  "id": "123",
  "table": "emergencyContacts",
  "rowId": "321"
}

Response

Upon successful deletion, the action returns:

  • HTTP status code indicating success (200)
  • Confirmation of successful deletion
  • Deletion timestamp