BambooHR Component
Manage Employees in BambooHR
Component key: bamboohrDescription
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.
Triggers
BambooHR Webhook
Handle and validate webhook requests from BambooHR | key: bamboohrTrigger
Actions
Add Employee
Add a new employee | key: addEmployee
Add Table Row
Adds a row to the specified table for an employee | key: addEmployeeTableRow
Create Company File Category
Create a new company file category (folder) | key: addCompanyFileCategory
Create Employee File Category
Create a new employee file category (folder) | key: addEmployeeFileCategory
Create Webhook
Create a new webhook | key: createWebhook
Delete Company File
Delete an company file | key: deleteCompanyFile
Delete Employee File
Delete an employee file | key: deleteEmployeeFile
Delete Instance Webhooks
Delete all BambooHR webhooks that point to a flow in this instance | key: deleteInstanceWebhooks
Delete Webhook
Delete a webhook by ID | key: deleteWebhookById
Get an Employee's Table
Get a specific table associated with an employee | key: getEmployeeTable
Get Company File
Get an company file | key: getCompanyFile
Get Employee
Get an Employee | key: getEmployee
Output Example Payload
{
"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
Get Time Off Requests
Gets Employee Time Off Requests for a given date range. | key: getTimeOffRequests
Output Example Payload
{
"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
Output Example Payload
{
"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
Output Example Payload
{
"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
Output Example Payload
{
"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
Output Example Payload
{
"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
List Who's Out
Get a list of all employees currently taking time off | key: whosOut
Output Example Payload
{
"data": [
{
"id": 1493,
"type": "timeOff",
"employeeId": 17,
"name": "Dorothy Chou",
"start": "2022-08-17",
"end": "2022-08-18"
}
]
}
Raw Request
Send a raw HTTP request to Bamboohr's API | key: rawRequest
Update Employee
Update an existing employee | key: updateEmployee
Update Employee Table Row
Updates a specific row in an Employee Table | key: updateEmployeeTableRow
Upload Company File
Upload a new company file | key: uploadCompanyFile
Upload Employee File
Upload a new employee file | key: uploadEmployeeFile