Setu Recipes: reusable digital workers across every app.Browse templates

Integrations / BambooHR

BambooHR

BambooHR HR system: employee directory, employee records, time off requests, who is out, and time off types.

5 actions API key 5 read0 write Calls bamboohr.com

Connect

TypeScript
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "bamboohr" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();

Permissions requested

This toolkit uses a single credential and requests no scopes.

Actions

Get employee directoryreadbamboohr.get_directoryList the company's employee directory: names, job titles, departments and contact details that the directory shows. Use onlyCurrent false to include future hires.
InputTypeDescription
only_currentbooleanOptionalFalse to include employees with a future hire date (default true)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "bamboohr.get_directory",
  input: {},
});
Get employeereadbamboohr.get_employeeGet fields of one employee by ID (0 means the API key's own user). You must list the field names wanted, e.g. firstName,lastName,jobTitle,department,workEmail,hireDate.
InputTypeDescription
idstringRequiredEmployee ID, or 0 for the API key's own record
fieldsstringRequiredComma-separated BambooHR field names, e.g. firstName,lastName,jobTitle,department,workEmail
TypeScript
await setu.execute({
  userId: "user_1",
  action: "bamboohr.get_employee",
  input: {
    "id": "<id>",
    "fields": "<fields>"
  },
});
List time off requestsreadbamboohr.list_time_off_requestsList time off requests overlapping a date window (start and end together), optionally for one employee or status. Empty can also mean the key cannot see that employee.
InputTypeDescription
startstringRequiredWindow start, YYYY-MM-DD
endstringRequiredWindow end, YYYY-MM-DD
statusstringOptionalRequest status
employee_idintegerOptionalOnly requests of this employee ID
typestringOptionalTime off type ID
TypeScript
await setu.execute({
  userId: "user_1",
  action: "bamboohr.list_time_off_requests",
  input: {
    "start": "<start>",
    "end": "<end>"
  },
});
List time off typesreadbamboohr.list_time_off_typesList the company's time off types (vacation, sick leave, ...) with their IDs, which time off requests refer to.
InputTypeDescription
modestringOptionalUse 'request' to return only types employees can request
TypeScript
await setu.execute({
  userId: "user_1",
  action: "bamboohr.list_time_off_types",
  input: {},
});
Who is outreadbamboohr.whos_outList employees who are out (time off) and company holidays in a period. Defaults to today through 14 days ahead.
InputTypeDescription
startstringOptionalPeriod start, YYYY-MM-DD
endstringOptionalPeriod end, YYYY-MM-DD
TypeScript
await setu.execute({
  userId: "user_1",
  action: "bamboohr.whos_out",
  input: {},
});