Overview
BambooHR is a popular HRIS for SMBs and mid-market. The Automize BambooHR connector covers employees (the central record), time off, custom reports, directory, files, and the metadata needed to discover fields and tables.
- Regions: Each BambooHR account has its own sub-domain (yourcompany.bamboohr.com). The connector hits your sub-domain on every call.
- Plans: BambooHR has Essentials + Advantage tiers; API access is on all paid plans. Time tracking + Payroll are add-ons.
Setting up the connection
Auth type: HTTP Basic.
- Sign in to BambooHR → Settings → API Keys → Create new key.
- Name it (e.g. Automize). Tie it to an admin user account.
- Copy the key. It only displays once.
- In Automize, open Settings → Connectors → BambooHR → Add connection. Enter sub-domain, username = the API key, password = 'x' (any non-empty value – BambooHR ignores it).
Find your credentials at https://yourcompany.bamboohr.com/settings/permissions/api.php.
Rate limits
BambooHR enforces a daily quota (~10,000 calls/day for typical accounts). Higher via support request. Connector retries 429 with backoff.
Data model
Employees are the central record:
Employee ─┬─ Custom Fields (defined per company)
├─ Time Off Requests
├─ Time Off Balances
├─ Files (employee documents)
├─ Tables (employment status, compensation, education – multi-row data)
└─ Job Info (current job, dept, location)
employee_id is numeric. Use Get Employee with specific fields to
control payload size.Available operations
16 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Create Employee | General | Add a new employee |
| Create Time Off Request | General | Submit a time off request |
| Get Employee | General | Get employee details by ID |
| Get employee directory | General | Get the full BambooHR employee directory. |
| Get Time Off Balances | General | Get time off balances |
| Get Time Off Requests | General | List time off requests |
| Get Time Off Types | General | List available time off types |
| Get who's out | General | Get who's out (on leave) in BambooHR. |
| List Employees | General | Get employee directory |
| List Fields | General | List all available employee fields |
| List files | General | List files on a BambooHR employee record. |
| List job info | General | List job information history for a BambooHR employee. |
| List Table Data | General | Get table data for an employee |
| Run Report | General | Run a custom report by ID |
| Update Employee | General | Update employee fields |
| Upload file | General | Upload a file to a BambooHR employee record. |
Operations
Create Employee
Add a new employee
| Parameter | Required | Type | Description |
|---|---|---|---|
Firstname firstName | Yes | text | |
Lastname lastName | Yes | text | |
Jobtitle jobTitle | Yes | text | |
Department department | Yes | text | |
Location location | Yes | text | |
Workemail workEmail | Yes | text |
Create Time Off Request
Submit a time off request
| Parameter | Required | Type | Description |
|---|---|---|---|
Employee Id employee_id | Yes | text | |
Start start | Yes | text | |
End end | Yes | text | |
Timeofftypeid timeOffTypeId | Yes | text | |
Amount amount | Yes | number | |
Notes notes | Yes | text | |
Status status | Yes | text |
Tips
- employee_id + timeOffTypeId + start + end + amount.
- Time off types via List Time Off Types.
Get Employee
Get employee details by ID
| Parameter | Required | Type | Description |
|---|---|---|---|
Employee Id employee_id | Yes | text |
Tips
- fields: comma-separated list of field names (firstName, lastName, jobTitle, workEmail, customFieldName).
- Use List Fields first to discover field names + custom-field IDs.
Get employee directory
Get the full BambooHR employee directory.
No input parameters.
Tips
- Lightweight – returns name, ID, photo, job title. Use for autocomplete / quick lookup.
Get Time Off Balances
Get time off balances
| Parameter | Required | Type | Description |
|---|---|---|---|
Employee Id employee_id | Yes | text |
Get Time Off Requests
List time off requests
No input parameters.
Get Time Off Types
List available time off types
No input parameters.
Get who's out
Get who's out (on leave) in BambooHR.
No input parameters.
List Employees
Get employee directory
No input parameters.
Tips
- Use Get Employee Directory for a lightweight list (name, job, photo). Slower if you need all custom fields.
List Fields
List all available employee fields
No input parameters.
Tips
- All fields available on the Employee record incl. custom ones. Returns field names + IDs.
List files
List files on a BambooHR employee record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Employee Id employee_id | Yes | text |
Tips
- Files attached to an employee. Categories (NDA, Reviews, etc.) defined per company.
List job info
List job information history for a BambooHR employee.
| Parameter | Required | Type | Description |
|---|---|---|---|
Employee Id employee_id | Yes | text |
List Table Data
Get table data for an employee
| Parameter | Required | Type | Description |
|---|---|---|---|
Employee Id employee_id | Yes | text | |
Table Name table_name | Yes | text |
Run Report
Run a custom report by ID
| Parameter | Required | Type | Description |
|---|---|---|---|
Report Id report_id | Yes | text |
Update Employee
Update employee fields
| Parameter | Required | Type | Description |
|---|---|---|---|
Employee Id employee_id | Yes | text |
Tips
- PUT-style on individual fields. Format: {field_name: 'value'}.
Upload file
Upload a file to a BambooHR employee record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Employee Id employee_id | Yes | text | |
Category Id category_id | Yes | text |
Tips
- employee_id + categoryId + file. multipart upload.
FAQ
- Why does Update Employee silently fail?
- Permission scopes. The API key inherits its user's permissions – if that user can't edit the field, the API call returns success but doesn't apply. Promote the user to admin or grant the specific field's access.
- Custom fields – how?
- Custom field IDs look like 'custom123'. Discover via List Fields. Pass them in Get / Update calls just like standard fields.
- Why is my password failing?
- BambooHR ignores the password component on basic auth. Use literally any non-empty string. The API key is the username.