Skip to main content

BambooHR Connector

BambooHR BambooHR is a comprehensive human resources software platform that helps companies manage their HR processes effectively. BambooHR's services include an applicant tracking system, employee benefits tracker, time tracking, and employee records management. This component enables interaction with the BambooHR API.

API Documentation

This component was built using the BambooHR API Documentation.

Connections

API Key

Authenticate requests using an API key.

Authenticate requests to BambooHR using an API key.

Prerequisites

  • An active BambooHR account with permission to manage API keys.
  • The BambooHR company domain (the MYCOMPANY portion of https://MYCOMPANY.bamboohr.com).

Setup Steps

  1. Log in to BambooHR.
  2. Click the user profile image in the upper-right corner.
  3. Select API Keys.
  4. Click Add New Key.
  5. Copy the generated key — it will be an approximately 40-character alphanumeric string. Store it securely; it will not be shown again.

Configure the Connection

Create a connection of type API Key and provide the following inputs:

  • API Key: The BambooHR API key generated in the steps above.
  • Company Domain: The MYCOMPANY portion of the https://MYCOMPANY.bamboohr.com instance URL.
InputCommentsDefault
API KeyThe BambooHR API key used to authenticate requests. Generate this in the BambooHR account settings.
Company DomainThe MYCOMPANY portion of the https://MYCOMPANY.bamboohr.com instance URL.

Triggers

Changed Employees

Checks for new, updated, and deleted employees in BambooHR on a configured schedule.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Show New EmployeesWhen true, employees inserted since the last poll are included in the trigger output.true
Show Updated EmployeesWhen true, employees updated or deleted since the last poll are included in the trigger output. Inspect the action field on each record to distinguish updates from deletions.true

Webhook

Receive and validate webhook requests from BambooHR for manually configured webhook subscriptions.

Actions

Add Employee Table Row

Add a row to the specified table for an employee.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Employee IDThe unique identifier for the employee.
Table Name (Alias)The alias of the BambooHR table to read or modify (for example, jobInfo, compensation, or employmentStatus).
Table FieldsThe names of the fields and their values to use when creating/updating a row in a table. Use the "List Tabular Fields (Tables)" action to list possible field names for a table.

Create Company File Category

Create a new company file category (folder).

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Category NameThe display name to assign to the new file category.

Create Employee

Create a new employee.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
First NameThe given name of the employee being created.
Last NameThe family name of the employee being created.
Employee FieldsThe names of the fields and their values to use when creating/updating a record. Possible fields are: address1, address2, age, bestEmail, birthday, city, country, dateOfBirth, department, division, employeeNumber, employmentHistoryStatus, ethnicity, exempt, firstName, fullName1, fullName2, fullName3, fullName4, fullName5, displayName, gender, hireDate, originalHireDate, id, jobTitle, lastChanged, lastName, location, maritalStatus, middleName, mobilePhone, nationality, payGroup, payRate, payRateEffectiveDate, payType, paidPer, paySchedule, payFrequency, includeInPayroll, timeTrackingEnabled, ssn, sin, standardHoursPerWeek, state, stateCode, status, supervisor, supervisorEmail, terminationDate, workEmail, workPhone, zipcode.

Create Employee File Category

Create a new employee file category (folder).

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Category NameThe display name to assign to the new file category.

Create Webhook

Create a new webhook.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Webhook NameA descriptive label used to identify the webhook in BambooHR.
Callback URLThe URL where BambooHR should send webhook payloads.
Fields to MonitorOne or more fields to trigger this webhook on. This can be any of the following: firstName, lastName, hireDate, department, middleName, dateOfBirth, ssn, address1, address2, city, state, zipcode, mobilePhone, homePhone, workEmail, jobTitle, location, gender, maritalStatus, payType, eeo, status, workPhone, workPhoneExtension, employeeNumber, ethnicity, division, homeEmail, preferredName, employeeStatusDate, country, payChangeReason, payRateEffectiveDate, exempt, twitterFeed, facebook, linkedIn, pinterest, acaStatus, payPer, originalHireDate, paySchedule, instagram, allergies, dietaryRestrictions, hoursPerPayCycle.
Fields to Send to WebhookThe list of fields to include in the payload posted to the callback URL. This can be any of the following: firstName, lastName, hireDate, department, middleName, dateOfBirth, ssn, address1, address2, city, state, zipcode, mobilePhone, homePhone, workEmail, jobTitle, location, gender, maritalStatus, payType, eeo, status, workPhone, workPhoneExtension, employeeNumber, ethnicity, division, homeEmail, preferredName, employeeStatusDate, country, payChangeReason, payRateEffectiveDate, exempt, twitterFeed, facebook, linkedIn, pinterest, acaStatus, payPer, originalHireDate, paySchedule, instagram, allergies, dietaryRestrictions, hoursPerPayCycle.
Allow DuplicatesWhen true, allows the creation of duplicate webhooks. By default this action checks if a webhook with this callback and sheet ID already exists and, if so, skips configuration.false

Delete Company File

Delete a company file.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
File IDThe unique identifier for the company file.

Delete Employee File

Delete an employee file.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Employee IDThe unique identifier for the employee.
Employee File IDThe unique identifier for the employee file.

Delete Instance Webhooks

Delete all BambooHR webhooks that point to a flow in this instance.

InputCommentsDefault
ConnectionThe BambooHR connection to use.

Delete Webhook

Delete a webhook by ID.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Webhook IDThe unique identifier for the webhook.

Get Company File

Retrieve a company file.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
File IDThe unique identifier for the company file.

Get Employee

Retrieve an employee by ID.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Employee IDThe unique identifier for the employee.

Get Employee File

Retrieve an employee file.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Employee IDThe unique identifier for the employee.
Employee File IDThe unique identifier for the employee file.

Get Employee Table

Retrieve a specific table associated with an employee.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Employee IDThe unique identifier for the employee.
Table Name (Alias)The alias of the BambooHR table to read or modify (for example, jobInfo, compensation, or employmentStatus).

List Company Files

List all company file categories and files.

InputCommentsDefault
ConnectionThe BambooHR connection to use.

List Employee Files

List all employee file categories and files.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Employee IDThe unique identifier for the employee.

List Employees

List all employees from the directory.

InputCommentsDefault
ConnectionThe BambooHR connection to use.

List Tabular Fields

List all tables and their fields in the account.

InputCommentsDefault
ConnectionThe BambooHR connection to use.

List Time Off Requests

List employee time off requests for a given date range.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Start DateThe first date of the time off range to query or create. Format: YYYY-MM-DD.
End DateThe last date of the time off range to query or create. Format: YYYY-MM-DD.
Time Off Record IDThe unique identifier for a specific time off request record.
Employee IDThe unique identifier for the employee.
StatusThe time off request status to filter by.

List Webhooks

List all existing webhooks.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Show Only Instance WebhooksWhen true, only webhooks that point to this instance are returned.true

List Who's Out

List all employees currently taking time off.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Start DateThe first date of the range to query. Defaults to today's date if omitted. Format: YYYY-MM-DD.
End DateThe last date of the range to query. Defaults to 14 days from the start date if omitted. Format: YYYY-MM-DD.

Raw Request

Send a raw HTTP request to BambooHR.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
URLInput the path only (/v1/employees/directory), The base URL is already included (https://api.bamboohr.com/api/gateway.php/COMPANY_DOMAIN). For example, to connect to https://api.bamboohr.com/api/gateway.php/COMPANY_DOMAIN/v1/employees/directory, only /v1/employees/directory is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Update Employee

Update an existing employee.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Employee IDThe unique identifier for the employee.
Employee FieldsThe names of the fields and their values to use when creating/updating a record. Possible fields are: address1, address2, age, bestEmail, birthday, city, country, dateOfBirth, department, division, employeeNumber, employmentHistoryStatus, ethnicity, exempt, firstName, fullName1, fullName2, fullName3, fullName4, fullName5, displayName, gender, hireDate, originalHireDate, id, jobTitle, lastChanged, lastName, location, maritalStatus, middleName, mobilePhone, nationality, payGroup, payRate, payRateEffectiveDate, payType, paidPer, paySchedule, payFrequency, includeInPayroll, timeTrackingEnabled, ssn, sin, standardHoursPerWeek, state, stateCode, status, supervisor, supervisorEmail, terminationDate, workEmail, workPhone, zipcode.

Update Employee Table Row

Update a specific row in an employee table.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Employee IDThe unique identifier for the employee.
Table Name (Alias)The alias of the BambooHR table to read or modify (for example, jobInfo, compensation, or employmentStatus).
Row IDThe unique identifier for the row in the table.
Table FieldsThe names of the fields and their values to use when creating/updating a row in a table. Use the "List Tabular Fields (Tables)" action to list possible field names for a table.

Upload Company File

Upload a new company file.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Category IDThe unique identifier for the file category.
File NameThe name to assign to the uploaded file, including its extension.
File ContentsThe binary contents of the file to upload, typically referenced from a previous step.
ShareWhen true, the file is shared with the employee.false

Upload Employee File

Upload a new employee file.

InputCommentsDefault
ConnectionThe BambooHR connection to use.
Employee IDThe unique identifier for the employee.
Category IDThe unique identifier for the file category.
File NameThe name to assign to the uploaded file, including its extension.
File ContentsThe binary contents of the file to upload, typically referenced from a previous step.
ShareWhen true, the file is shared with the employee.false