BambooHR Component

Manage Employees in BambooHR
Component key: bamboohr#
DescriptionBambooHR produces human resources software. BambooHR's services include an applicant tracking system and an employee benefits tracker.
#
BambooHR Connections#
Bamboo API KeyBamboo 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.
Input | Notes |
---|---|
Input API Key password / Required | Notes Bamboo API Key |
Input Company Domain string / Required | Notes The MYCOMPANY portion of your https://MYCOMPANY.bamboohr.com instance |
#
Triggers#
BambooHR WebhookHandle and validate webhook requests from BambooHR | key: bamboohrTrigger
#
Actions#
Add EmployeeAdd a new employee | key: addEmployee
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
Input Employee Fields string Key Value List | Notes 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 |
Input First Name string / Required | Notes |
Input Last Name string / Required | Notes |
#
Add Table RowAdds a row to the specified table for an employee | key: addEmployeeTableRow
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Employee ID string / Required | Notes | Example 42 |
Input Table Fields string Key Value List | Notes 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. | Example |
Input Table Name (Alias) string / Required | Notes | Example jobInfo |
#
Create Company File CategoryCreate a new company file category (folder) | key: addCompanyFileCategory
Input | Notes | Example |
---|---|---|
Input Category Name string / Required | Notes | Example A new category |
Input Connection connection / Required | Notes | Example |
#
Create Employee File CategoryCreate a new employee file category (folder) | key: addEmployeeFileCategory
Input | Notes | Example |
---|---|---|
Input Category Name string / Required | Notes | Example A new category |
Input Connection connection / Required | Notes | Example |
#
Create WebhookCreate a new webhook | key: createWebhook
Input | Default | Notes |
---|---|---|
Input Allow Duplicates? boolean | Default false | Notes 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. |
Input Connection connection / Required | Default | Notes |
Input Fields to Monitor string / Required Value List | Default | Notes 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 |
Input Webhook Name string / Required | Default | Notes |
Input Callback URL string / Required | Default | Notes Where the data should be sent |
#
Delete Company FileDelete an company file | key: deleteCompanyFile
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
Input File ID string / Required | Notes |
#
Delete Employee FileDelete an employee file | key: deleteEmployeeFile
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Employee ID string / Required | Notes | Example 42 |
Input File ID string / Required | Notes | Example |
#
Delete Instance WebhooksDelete all BambooHR webhooks that point to a flow in this instance | key: deleteInstanceWebhooks
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
#
Delete WebhookDelete a webhook by ID | key: deleteWebhookById
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
Input Webhook ID string / Required | Notes |
#
Get an Employee's TableGet a specific table associated with an employee | key: getEmployeeTable
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Employee ID string / Required | Notes | Example 42 |
Input Table Name (Alias) string / Required | Notes | Example jobInfo |
#
Get Company FileGet an company file | key: getCompanyFile
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
Input File ID string / Required | Notes |
#
Get EmployeeGet an Employee | key: getEmployee
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Employee ID string / Required | Notes | Example 42 |
#
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 FileGet an employee file | key: getEmployeeFile
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Employee ID string / Required | Notes | Example 42 |
Input File ID string / Required | Notes | Example |
#
Get Time Off RequestsGets Employee Time Off Requests for a given date range. | key: getTimeOffRequests
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Employee ID string | Notes | Example 42 |
Input End Date string / Required | Notes | Example YYYY-MM-DD |
Input Start Date string / Required | Notes | Example YYYY-MM-DD |
Input Time Off Record ID string | Notes | Example 42 |
Input Status string | Notes | Example |
#
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 FilesList all company categories and files | key: listCompanyFiles
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
#
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 FilesList all employee categories and files | key: listEmployeeFiles
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Employee ID string / Required | Notes | Example 42 |
#
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 EmployeesGet the employee directory | key: getEmployeeDirectory
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
#
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
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
#
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 WebhooksGet a list of existing webhooks | key: listWebhooks
Input | Default | Notes |
---|---|---|
Input Connection connection / Required | Default | Notes |
Input Show only instance webhooks boolean | Default true | Notes Show only webhooks that point to this instance |
#
List Who's OutGet a list of all employees currently taking time off | key: whosOut
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input End Date string | Notes Defaults to 14 days from start date if omitted | Example YYYY-MM-DD |
Input Start Date string | Notes Defaults to today's date if omitted | Example YYYY-MM-DD |
#
Output Example Payload{ "data": [ { "id": 1493, "type": "timeOff", "employeeId": 17, "name": "Dorothy Chou", "start": "2022-08-17", "end": "2022-08-18" } ]}
#
Raw RequestSend Raw Request | key: rawRequest
Input | Default | Notes | Example |
---|---|---|---|
Input Connection connection / Required | Default | Notes | Example |
Input Data string | Default | Notes The HTTP body payload to send to the URL. | Example {"exampleKey": "Example Data"} |
Input Debug Request boolean | Default false | Notes Enabling this flag will log out the current request. | Example |
Input File Data string Key Value List | Default | Notes File Data to be sent as a multipart form upload. | Example [{key: "example.txt", value: "My File Contents"}] |
Input Form Data string Key Value List | Default | Notes The Form Data to be sent as a multipart form upload. | Example [{"key": "Example Key", "value": new Buffer("Hello World")}] |
Input Header string Key Value List | Default | Notes A list of headers to send with the request. | Example User-Agent: curl/7.64.1 |
Input Max Retry Count string | Default 0 | Notes The maximum number of retries to attempt. | Example |
Input Method string / Required | Default | Notes The HTTP method to use. | Example |
Input Query Parameter string Key Value List | Default | Notes 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. | Example |
Input Response Type string / Required | Default json | Notes The type of data you expect in the response. You can request json, text, or binary data. | Example |
Input Retry On All Errors boolean | Default false | Notes If true, retries on all erroneous responses regardless of type. | Example |
Input Retry Delay (ms) string | Default 0 | Notes The delay in milliseconds between retries. | Example |
Input Timeout string | Default | Notes The maximum time that a client will await a response to its request | Example 2000 |
Input URL string / Required | Default | Notes This is the URL to call. | Example /sobjects/Account |
Input Use Exponential Backoff boolean | Default false | Notes Specifies whether to use a pre-defined exponential backoff strategy for retries. | Example |
#
Update EmployeeUpdate an existing employee | key: updateEmployee
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Employee Fields string Key Value List | Notes 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 | Example |
Input Employee ID string / Required | Notes | Example 42 |
#
Update Employee Table RowUpdates a specific row in an Employee Table | key: updateEmployeeTableRow
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Employee ID string / Required | Notes | Example 42 |
Input Row ID string / Required | Notes | Example |
Input Table Fields string Key Value List | Notes 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. | Example |
Input Table Name (Alias) string / Required | Notes | Example jobInfo |
#
Upload Company FileUpload a new company file | key: uploadCompanyFile
Input | Default | Notes | Example |
---|---|---|---|
Input Category ID string / Required | Default | Notes | Example 20 |
Input Connection connection / Required | Default | Notes | Example |
Input File contents string / Required | Default | Notes | Example |
Input File Name string / Required | Default | Notes | Example example.pdf |
Input Share? boolean | Default false | Notes | Example |
#
Upload Employee FileUpload a new employee file | key: uploadEmployeeFile
Input | Default | Notes | Example |
---|---|---|---|
Input Category ID string / Required | Default | Notes | Example 20 |
Input Connection connection / Required | Default | Notes | Example |
Input Employee ID string / Required | Default | Notes | Example 42 |
Input File contents string / Required | Default | Notes | Example |
Input File Name string / Required | Default | Notes | Example example.pdf |
Input Share? boolean | Default false | Notes | Example |