Bamboo HR
HR Company domain and API keyRead and update employees, time off, timesheets and reports in BambooHR from any Windmill script, flow or app.
Set up in 3 steps
Generate an API key
In BambooHR, open your avatar menu then API Keys, and generate one. Copy it — it is shown only once.
Add the resource in Windmill
Open Resources, add a resource of type bamboo_hr. companyDomain is the yourcompany in yourcompany.bamboohr.com; apiKey is the key.
Run your first script
Fork any script below and read before writing anything. There are hundreds here, so search by the verb you need.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
User Login
Upload Employee File
Upload Company File
Updates a table row.
Update an employee dependent
Update Webhook
Update Training Type
Update Training Category
Update Milestone Progress
Update Goal, V1.1
Update Goal Sharing
Update Goal Progress
Update Goal Comment
Update Goal
Update Employee Training Record
Update Employee File
Update Employee
Update Company File
Store a new employee photo
Request a custom report
Reopen a Goal
List employee files and categories
List company files and categories
List Training Types
List Training Categories
List Time Off Policies for Employee, Version 1.1
List Time Off Policies for Employee
List Reports
List Employee Trainings
Gets table rows for a given employee and table combination
Resource type
bamboo_hr — the shape of the credential every script on this page expects.
| Field | Type | Required | What it is |
|---|---|---|---|
| apiKey | string | Yes | API key |
| companyDomain | string | Yes | Company domain |
Questions
What can the key do?
Exactly what the employee who created it can see. BambooHR resolves permissions from that user, so generate the key on an account with the access the scripts need — and no more, since this is personnel data.
What goes in companyDomain?
The subdomain alone. For yourcompany.bamboohr.com, enter yourcompany — every request is built from it.
Is my key stored on the hub?
Never. It lives only in your own Windmill workspace, encrypted at rest.