Skip to main content

BambooHR Component

Manage Employees in BambooHR

Component key: bamboohr

Description

BambooHR produces human resources software. BambooHR's services include an applicant tracking system and an employee benefits tracker.

Connections

Bamboo API Key

Bamboo HR API keys can be used for testing an integration, but for production integrations, please use OAuth 2.0.

To generate an API key, log in to Bamboo HR, click your user profile image on the upper-right and then click API Keys. Click Add New Key, and take note of the API key that is generated - it will be a ~40 character alphanumeric string.

InputNotes
API Key
password
/ Required
apiKey
Bamboo API Key
Company Domain
string
/ Required
companyDomain
The MYCOMPANY portion of your https://MYCOMPANY.bamboohr.com instance

Triggers

Webhook

Receive and validate webhook requests from BambooHR for webhooks you configure. | key: bamboohrTrigger


Actions

Add Employee

Add a new employee | key: addEmployee

InputNotes
Connection
connection
/ Required
connection
 
Employee Fields
string
Key Value List
employeeFieldValues
The 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
First Name
string
/ Required
firstName
 
Last Name
string
/ Required
lastName
 

Add Table Row

Adds a row to the specified table for an employee | key: addEmployeeTableRow

InputNotesExample
Connection
connection
/ Required
connection
 
 
Employee ID
string
/ Required
employeeId
 
42
Table Fields
string
Key Value List
tableFieldValues
The 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.
 
Table Name (Alias)
string
/ Required
tableName
 
jobInfo

Create Company File Category

Create a new company file category (folder) | key: addCompanyFileCategory

InputNotesExample
Category Name
string
/ Required
categoryName
 
A new category
Connection
connection
/ Required
connection
 
 

Create Employee File Category

Create a new employee file category (folder) | key: addEmployeeFileCategory

InputNotesExample
Category Name
string
/ Required
categoryName
 
A new category
Connection
connection
/ Required
connection
 
 

Create Webhook

Create a new webhook | key: createWebhook

InputDefaultNotes
Allow Duplicates?
boolean
allowDuplicates
false
By default this action checks if a webhook with this callback and sheet ID already exists. If it does, this action does not configure a new webhook. Toggle this to true to allow the creation of duplicate webhooks.
Connection
connection
/ Required
connection
 
 
Fields to Monitor
string
/ Required
Value List
monitorFields
Select one 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
Webhook Name
string
/ Required
name
 
Fields to send to Webhook
string
/ Required
Value List
postFields
A list of fields to post to the webhook 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
Callback URL
string
/ Required
url
Where the data should be sent

Delete Company File

Delete an company file | key: deleteCompanyFile

InputNotes
Connection
connection
/ Required
connection
 
File ID
string
/ Required
fileId
 

Delete Employee File

Delete an employee file | key: deleteEmployeeFile

InputNotesExample
Connection
connection
/ Required
connection
 
 
Employee ID
string
/ Required
employeeId
 
42
File ID
string
/ Required
fileId
 
 

Delete Instance Webhooks

Delete all BambooHR webhooks that point to a flow in this instance | key: deleteInstanceWebhooks

InputNotes
Connection
connection
/ Required
connection
 

Delete Webhook

Delete a webhook by ID | key: deleteWebhookById

InputNotes
Connection
connection
/ Required
connection
 
Webhook ID
string
/ Required
webhookId
 

Get an Employee's Table

Get a specific table associated with an employee | key: getEmployeeTable

InputNotesExample
Connection
connection
/ Required
connection
 
 
Employee ID
string
/ Required
employeeId
 
42
Table Name (Alias)
string
/ Required
tableName
 
jobInfo

Get Company File

Get an company file | key: getCompanyFile

InputNotes
Connection
connection
/ Required
connection
 
File ID
string
/ Required
fileId
 

Get Employee

Get an Employee | key: getEmployee

InputNotesExample
Connection
connection
/ Required
connection
 
 
Employee ID
string
/ Required
employeeId
 
42

{
"data": {
"id": "5",
"address1": "335 S 560 W",
"address2": null,
"age": "41",
"bestEmail": "aadams@efficientoffice.com",
"birthday": "07-28",
"city": "Lindon",
"country": "United States",
"dateOfBirth": "1981-07-28",
"department": "Human Resources",
"division": "Europe",
"employeeNumber": "2",
"employmentHistoryStatus": "Full-Time",
"ethnicity": "Two or More Races",
"exempt": "Exempt",
"firstName": "Ashley",
"fullName1": "Ashley Adams",
"fullName2": "Adams, Ashley",
"fullName3": "Adams, Ashley",
"fullName4": "Adams, Ashley",
"fullName5": "Ashley Adams",
"displayName": "Ashley Adams",
"gender": "Female",
"hireDate": "2022-02-20",
"originalHireDate": "0000-00-00",
"jobTitle": "HR Administrator",
"lastChanged": "2022-08-17T20:35:30+00:00",
"lastName": "Adams",
"location": "London, UK",
"maritalStatus": "Married",
"middleName": null,
"mobilePhone": "+44 207 555 6671",
"payRate": "50000.00 GBP",
"payRateEffectiveDate": "2022-02-20",
"payType": "Salary",
"paidPer": "Year",
"paySchedule": "Twice a month",
"payFrequency": "Twice a month",
"ssn": "545-66-7890",
"state": "UT",
"stateCode": "UT",
"status": "Active",
"supervisor": "Caldwell, Jennifer",
"supervisorEmail": "jcaldwell@efficientoffice.com",
"terminationDate": "0000-00-00",
"workEmail": "aadams@efficientoffice.com",
"workPhone": "+44 207 555 4730",
"zipcode": "84042"
}
}

Get Employee File

Get an employee file | key: getEmployeeFile

InputNotesExample
Connection
connection
/ Required
connection
 
 
Employee ID
string
/ Required
employeeId
 
42
File ID
string
/ Required
fileId
 
 

Get Time Off Requests

Gets Employee Time Off Requests for a given date range. | key: getTimeOffRequests

InputNotesExample
Connection
connection
/ Required
connection
 
 
Employee ID
string
employeeId
 
42
End Date
string
/ Required
endDate
 
YYYY-MM-DD
Start Date
string
/ Required
startDate
 
YYYY-MM-DD
Time Off Record ID
string
timeOffRecordId
 
42
Status
string
timeOffStatus
 
 

{
"data": [
{
"id": "1342",
"employeeId": "4",
"status": {
"lastChanged": "2022-04-10",
"lastChangedByUserId": "2369",
"status": "approved"
},
"name": "Charlotte Abbott",
"start": "2021-12-26",
"end": "2021-12-28",
"created": "2022-04-09",
"type": {
"id": "78",
"name": "Vacation",
"icon": "palm-trees"
},
"amount": {
"unit": "hours",
"amount": "24"
},
"actions": {
"view": true,
"edit": true,
"cancel": false,
"approve": false,
"deny": false,
"bypass": false
},
"dates": {
"2021-12-26": "24"
},
"notes": {
"manager": "Home sick with the flu."
}
}
]
}

List Company Files

List all company categories and files | key: listCompanyFiles

InputNotes
Connection
connection
/ Required
connection
 

{
"data": {
"categories": [
{
"id": 179,
"canUploadFiles": "yes",
"name": "BambooHR",
"files": [
{
"id": 220,
"name": "4 Ways the BambooHR ATS Improves the Hiring Process",
"originalFileName": "4 Ways the BambooHR ATS Improves the Hiring Process.pdf",
"size": "855128",
"dateCreated": "2022-10-22T22:30:07+0000",
"createdBy": "Prismatic Developer",
"shareWithEmployees": "no",
"canRenameFile": "yes",
"canDeleteFile": "yes"
},
{
"id": 223,
"name": "5 Payroll Pain Points Solved by TRAXPayroll",
"originalFileName": "5 Payroll Pain Points.pdf",
"size": "523971",
"dateCreated": "2022-10-22T22:50:24+0000",
"createdBy": "Prismatic Developer",
"shareWithEmployees": "no",
"canRenameFile": "yes",
"canDeleteFile": "yes"
}
]
},
{
"id": 175,
"canUploadFiles": "yes",
"name": "New Hire Forms",
"files": [
{
"id": 164,
"name": "Australia Standard Choice Form.pdf",
"originalFileName": "Australia Standard Choice Form.pdf",
"size": "323487",
"dateCreated": "2022-07-01T15:15:33+0000",
"createdBy": null,
"shareWithEmployees": "no",
"canRenameFile": "yes",
"canDeleteFile": "yes"
}
]
}
]
}
}

List Employee Files

List all employee categories and files | key: listEmployeeFiles

InputNotesExample
Connection
connection
/ Required
connection
 
 
Employee ID
string
/ Required
employeeId
 
42

{
"data": {
"employee": {
"id": 4
},
"categories": [
{
"id": 12,
"name": "Signed Documents",
"canRenameCategory": "yes",
"canDeleteCategory": "yes",
"canUploadFiles": "yes",
"displayIfEmpty": "yes",
"files": [
{
"id": 4,
"name": "Company Handbook.pdf",
"originalFileName": "Company Handbook.pdf",
"size": 2807480,
"dateCreated": "2022-07-04T20:45:51+0000",
"createdBy": "Charlotte Abbott",
"shareWithEmployee": "yes",
"canRenameFile": "yes",
"canDeleteFile": "yes",
"canChangeShareWithEmployeeFieldValue": "yes"
},
{
"id": 10,
"name": "I-9 (2017).pdf",
"originalFileName": "I-9 (2017).pdf",
"size": 2750869,
"dateCreated": "2022-07-04T21:25:11+0000",
"createdBy": "Charlotte Abbott",
"shareWithEmployee": "yes",
"canRenameFile": "yes",
"canDeleteFile": "yes",
"canChangeShareWithEmployeeFieldValue": "yes"
}
]
},
{
"id": 10,
"name": "Workflow Attachments",
"canRenameCategory": "yes",
"canDeleteCategory": "yes",
"canUploadFiles": "yes",
"displayIfEmpty": "yes",
"files": []
}
]
}
}

List Employees

Get the employee directory | key: getEmployeeDirectory

InputNotes
Connection
connection
/ Required
connection
 

{
"data": {
"fields": [
{
"id": "displayName",
"type": "text",
"name": "Display Name"
},
{
"id": "firstName",
"type": "text",
"name": "First Name"
},
{
"id": "lastName",
"type": "text",
"name": "Last Name"
},
{
"id": "gender",
"type": "text",
"name": "Gender"
},
{
"id": "jobTitle",
"type": "list",
"name": "Job Title"
},
{
"id": "workPhone",
"type": "text",
"name": "Work Phone"
},
{
"id": "workPhoneExtension",
"type": "text",
"name": "Work Extension"
},
{
"id": "skypeUsername",
"type": "text",
"name": "Skype Username"
},
{
"id": "facebook",
"type": "text",
"name": "Facebook URL"
}
],
"employees": [
{
"id": 123,
"displayName": "John Doe",
"firstName": "John",
"lastName": "Doe",
"gender": "Male",
"jobTitle": "Customer Service Representative",
"workPhone": "555-555-5555",
"workPhoneExtension": null,
"skypeUsername": "JohnDoe",
"facebook": "JohnDoeFacebook"
}
]
}
}

List Tabular Fields (Tables)

List all tables and their fields in the account | key: getTabularFields

InputNotes
Connection
connection
/ Required
connection
 

{
"data": [
{
"alias": "jobInfo",
"fields": [
{
"id": 4028,
"name": "Job Information: Date",
"alias": "date",
"type": "date"
},
{
"id": 18,
"name": "Location",
"alias": "location",
"type": "list"
},
{
"id": 4,
"name": "Department",
"alias": "department",
"type": "list"
},
{
"id": 1355,
"name": "Division",
"alias": "division",
"type": "list"
},
{
"id": 17,
"name": "Job Title",
"alias": "jobTitle",
"type": "list"
},
{
"id": 91,
"name": "Reporting to",
"alias": "reportsTo",
"type": "employee"
}
]
}
]
}

List Webhooks

Get a list of existing webhooks | key: listWebhooks

InputDefaultNotes
Connection
connection
/ Required
connection
 
 
Show only instance webhooks
boolean
showOnlyInstanceWebhooks
true
Show only webhooks that point to this instance

List Who's Out

Get a list of all employees currently taking time off | key: whosOut

InputNotesExample
Connection
connection
/ Required
connection
 
 
End Date
string
endDate
Defaults to 14 days from start date if omitted
YYYY-MM-DD
Start Date
string
startDate
Defaults to today's date if omitted
YYYY-MM-DD

{
"data": [
{
"id": 1493,
"type": "timeOff",
"employeeId": 17,
"name": "Dorothy Chou",
"start": "2022-08-17",
"end": "2022-08-18"
}
]
}

Raw Request

Send raw HTTP request to BambooHR | key: rawRequest

InputDefaultNotesExample
Connection
connection
/ Required
connection
 
 
 
Data
string
data
The HTTP body payload to send to the URL.
{"exampleKey": "Example Data"}
Debug Request
boolean
debugRequest
false
Enabling this flag will log out the current request.
 
File Data
string
Key Value List
fileData
File Data to be sent as a multipart form upload.
[{key: "example.txt", value: "My File Contents"}]
Form Data
string
Key Value List
formData
The Form Data to be sent as a multipart form upload.
[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header
string
Key Value List
headers
A list of headers to send with the request.
User-Agent: curl/7.64.1
Max Retry Count
string
maxRetries
0
The maximum number of retries to attempt.
 
Method
string
/ Required
method
The HTTP method to use.
 
Query Parameter
string
Key Value List
queryParams
A 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.
 
Response Type
string
/ Required
responseType
json
The type of data you expect in the response. You can request json, text, or binary data.
 
Retry On All Errors
boolean
retryAllErrors
false
If true, retries on all erroneous responses regardless of type.
 
Retry Delay (ms)
string
retryDelayMS
0
The delay in milliseconds between retries.
 
Timeout
string
timeout
The maximum time that a client will await a response to its request
2000
URL
string
/ Required
url
Input 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.
/v1/employees/directory
Use Exponential Backoff
boolean
useExponentialBackoff
false
Specifies whether to use a pre-defined exponential backoff strategy for retries.
 

Update Employee

Update an existing employee | key: updateEmployee

InputNotesExample
Connection
connection
/ Required
connection
 
 
Employee Fields
string
Key Value List
employeeFieldValues
The 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
 
Employee ID
string
/ Required
employeeId
 
42

Update Employee Table Row

Updates a specific row in an Employee Table | key: updateEmployeeTableRow

InputNotesExample
Connection
connection
/ Required
connection
 
 
Employee ID
string
/ Required
employeeId
 
42
Row ID
string
/ Required
rowId
 
 
Table Fields
string
Key Value List
tableFieldValues
The 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.
 
Table Name (Alias)
string
/ Required
tableName
 
jobInfo

Upload Company File

Upload a new company file | key: uploadCompanyFile

InputDefaultNotesExample
Category ID
string
/ Required
categoryId
 
20
Connection
connection
/ Required
connection
 
 
 
File contents
string
/ Required
file
 
 
File Name
string
/ Required
fileName
 
example.pdf
Share?
boolean
share
false
 
 

Upload Employee File

Upload a new employee file | key: uploadEmployeeFile

InputDefaultNotesExample
Category ID
string
/ Required
categoryId
 
20
Connection
connection
/ Required
connection
 
 
 
Employee ID
string
/ Required
employeeId
 
42
File contents
string
/ Required
file
 
 
File Name
string
/ Required
fileName
 
example.pdf
Share?
boolean
share
false