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.

BambooHR 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
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 Webhook#

Handle and validate webhook requests from BambooHR | key: bamboohrTrigger


Actions#

Add Employee#

Add a new employee | key: addEmployee

InputNotes
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 Row#

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

InputNotesExample
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 Category#

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

InputNotesExample
Input
Category Name
string
/ Required
Notes
 
Example
A new category
Input
Connection
connection
/ Required
Notes
 
Example
 

Create Employee File Category#

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

InputNotesExample
Input
Category Name
string
/ Required
Notes
 
Example
A new category
Input
Connection
connection
/ Required
Notes
 
Example
 

Create Webhook#

Create a new webhook | key: createWebhook

InputDefaultNotes
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 File#

Delete an company file | key: deleteCompanyFile

InputNotes
Input
Connection
connection
/ Required
Notes
 
Input
File ID
string
/ Required
Notes
 

Delete Employee File#

Delete an employee file | key: deleteEmployeeFile

InputNotesExample
Input
Connection
connection
/ Required
Notes
 
Example
 
Input
Employee ID
string
/ Required
Notes
 
Example
42
Input
File ID
string
/ Required
Notes
 
Example
 

Delete Instance Webhooks#

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

InputNotes
Input
Connection
connection
/ Required
Notes
 

Delete Webhook#

Delete a webhook by ID | key: deleteWebhookById

InputNotes
Input
Connection
connection
/ Required
Notes
 
Input
Webhook ID
string
/ Required
Notes
 

Get an Employee's Table#

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

InputNotesExample
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 File#

Get an company file | key: getCompanyFile

InputNotes
Input
Connection
connection
/ Required
Notes
 
Input
File ID
string
/ Required
Notes
 

Get Employee#

Get an Employee | key: getEmployee

InputNotesExample
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 File#

Get an employee file | key: getEmployeeFile

InputNotesExample
Input
Connection
connection
/ Required
Notes
 
Example
 
Input
Employee ID
string
/ Required
Notes
 
Example
42
Input
File ID
string
/ Required
Notes
 
Example
 

Get Time Off Requests#

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

InputNotesExample
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 Files#

List all company categories and files | key: listCompanyFiles

InputNotes
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 Files#

List all employee categories and files | key: listEmployeeFiles

InputNotesExample
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 Employees#

Get the employee directory | key: getEmployeeDirectory

InputNotes
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

InputNotes
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 Webhooks#

Get a list of existing webhooks | key: listWebhooks

InputDefaultNotes
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 Out#

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

InputNotesExample
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 Request#

Send Raw Request | key: rawRequest

InputDefaultNotesExample
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 Employee#

Update an existing employee | key: updateEmployee

InputNotesExample
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 Row#

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

InputNotesExample
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 File#

Upload a new company file | key: uploadCompanyFile

InputDefaultNotesExample
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 File#

Upload a new employee file | key: uploadEmployeeFile

InputDefaultNotesExample
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