BambooHR (OAuth)
Integrate your application with the BambooHR API
🚀 Quickstart
Connect to BambooHR (OAuth) with Tenklo and see data flow in 2 minutes.
In Tenklo (free signup), go to Integrations -> Configure New Integration -> BambooHR (OAuth).
BambooHR requires a subdomain for authentication. You'll need to provide your BambooHR subdomain when creating connections.
Go to Connections -> Add Test Connection -> Authorize, then enter your BambooHR subdomain and log in to BambooHR. Later, you'll let your users do the same directly from your app.
Let's make your first request to the BambooHR API (fetch employees information). Replace the placeholders below with your Environment API key, integration ID, and connection ID:
curl -X POST "https://api.tenklo.dev/proxy/v1/reports/custom?format=JSON" \
-H "Authorization: Bearer <NANGO-API-KEY>" \
-H "Provider-Config-Key: <INTEGRATION-ID>" \
-H "Connection-Id: <CONNECTION-ID>" \
-H "Content-Type: application/json" \
-d '{
"title": "Current Employees",
"fields": [
"id",
"employeeNumber",
"firstName",
"lastName",
"dateOfBirth",
"address1",
"bestEmail"
]
}'Or fetch credentials with the Node SDK or API.
✅ You're connected! Check the Logs tab in Tenklo to inspect requests.
Follow our Auth implementation guide to integrate Tenklo in your app.
To obtain your own production credentials, follow the setup guide linked below.
📚 BambooHR (OAuth) Integration Guides
Tenklo maintained guides for common use cases.
-
How to register your own BambooHR OAuth app
Register an OAuth app with BambooHR and obtain credentials to connect it to Tenklo -
How do I link my BambooHR account? Learn how to authenticate with BambooHR and link your account
Official docs: BambooHR API docs
🧩 Pre-built syncs & actions for BambooHR (OAuth)
Explore Nango-provided actions in your dashboard. Extend and customize them to fit your needs.
Unified HRIS API
| Function name | Description | Type | Source code |
|---|---|---|---|
unified-employees | Fetches employees from BambooHR and maps them to the standard HRIS employee model. | Sync | 🔗 Github |
Others
| Function name | Description | Type | Source code |
|---|---|---|---|
create-applicant | Create a new candidate application for a job opening in the BambooHR ATS. | Action | 🔗 Github |
create-employee-goal | Create a performance goal for an employee in BambooHR. | Action | 🔗 Github |
create-employee-table-row | Create an employee table row in BambooHR. | Action | 🔗 Github |
create-employee-training | Create a training record for an employee in BambooHR. | Action | 🔗 Github |
create-employee | Create an employee in BambooHR | Action | 🔗 Github |
create-time-off-request | Create a time off request in BambooHR. | Action | 🔗 Github |
create-webhook | Create a webhook subscription in BambooHR. | Action | 🔗 Github |
delete-company-file | Permanently delete a company file in BambooHR. | Action | 🔗 Github |
delete-employee-file | Delete a file from an employee record in BambooHR. | Action | 🔗 Github |
delete-employee-goal | Delete a performance goal from an employee record in BambooHR. | Action | 🔗 Github |
delete-employee-table-row | Delete or archive an employee table row in BambooHR. | Action | 🔗 Github |
delete-employee-training | Delete a training record from an employee in BambooHR. | Action | 🔗 Github |
delete-employee | Delete or archive an employee in BambooHR. | Action | 🔗 Github |
delete-time-off-request | Delete or archive a time off request in BambooHR by canceling it. | Action | 🔗 Github |
delete-time-tracking-entry | Delete a time tracking entry for an employee in BambooHR. | Action | 🔗 Github |
delete-webhook | Delete a webhook subscription in BambooHR. | Action | 🔗 Github |
get-applicant | Retrieve a single applicant from the BambooHR ATS. | Action | 🔗 Github |
get-company-file | Retrieve a single company file from BambooHR. | Action | 🔗 Github |
get-company-report | Run a BambooHR custom company report. | Action | 🔗 Github |
get-employee-file | Retrieve a single file from an employee record in BambooHR. | Action | 🔗 Github |
get-employee-table-row | Retrieve a single employee table row from BambooHR. | Action | 🔗 Github |
get-employee | Retrieve a single employee from BambooHR. | Action | 🔗 Github |
get-saved-report | Run a saved BambooHR report by ID. | Action | 🔗 Github |
get-time-off-balance | Retrieve the time off balance for an employee in BambooHR. | Action | 🔗 Github |
get-time-off-request | Retrieve a single time off request from BambooHR. | Action | 🔗 Github |
get-user | Retrieve a single BambooHR user account. | Action | 🔗 Github |
list-applicants | List applicants from the BambooHR ATS. | Action | 🔗 Github |
list-company-files | List company files from BambooHR. | Action | 🔗 Github |
list-departments | List departments configured in BambooHR. | Action | 🔗 Github |
list-dataset-fields | List available fields for a BambooHR v2 dataset (e.g. "employee"). Use this to discover valid field names before configuring the employees sync. | Action | 🔗 Github |
list-employee-fields | List available BambooHR employee fields. | Action | 🔗 Github |
list-employee-files | List files attached to an employee record in BambooHR. | Action | 🔗 Github |
list-employee-goals | List performance goals for an employee in BambooHR. | Action | 🔗 Github |
list-employee-table-rows | List employee table rows from BambooHR. | Action | 🔗 Github |
list-employee-training | List training records for an employee in BambooHR. | Action | 🔗 Github |
list-employees | List employees from BambooHR. | Action | 🔗 Github |
list-job-openings | List job openings from the BambooHR ATS. | Action | 🔗 Github |
list-job-titles | List job titles configured in BambooHR. | Action | 🔗 Github |
list-locations | List office locations configured in BambooHR. | Action | 🔗 Github |
list-time-off-requests | List time off requests from BambooHR. | Action | 🔗 Github |
list-time-off-types | List time off types configured in BambooHR. | Action | 🔗 Github |
list-time-tracking-entries | List time tracking entries for an employee in BambooHR. | Action | 🔗 Github |
list-training-types | List training types configured in BambooHR. | Action | 🔗 Github |
list-users | List BambooHR user accounts. | Action | 🔗 Github |
list-webhooks | List webhook subscriptions in BambooHR. | Action | 🔗 Github |
update-employee-goal | Update a performance goal for an employee in BambooHR. | Action | 🔗 Github |
update-employee-table-row | Update an employee table row in BambooHR. | Action | 🔗 Github |
update-employee-training | Update a training record for an employee in BambooHR. | Action | 🔗 Github |
update-employee | Update an employee in BambooHR. | Action | 🔗 Github |
update-time-off-request-status | Approve, deny, or cancel a time off request in BambooHR. | Action | 🔗 Github |
applicants | Sync applicants from the BambooHR ATS. | Sync | 🔗 Github |
company-files | Sync company files from BambooHR | Sync | 🔗 Github |
departments | Sync department list values from BambooHR | Sync | 🔗 Github |
employee-files | Sync employee file metadata from BambooHR. | Sync | 🔗 Github |
employee-table-rows | Sync employee table rows from BambooHR. | Sync | 🔗 Github |
employees | Sync employees from BambooHR using the v2 datasets API with incremental updates via lastChanged. | Sync | 🔗 Github |
goals | Sync employee performance goals from BambooHR | Sync | 🔗 Github |
job-openings | Sync job openings from the BambooHR ATS. | Sync | 🔗 Github |
locations | Sync office location list values from BambooHR. | Sync | 🔗 Github |
time-off-requests | Sync time off requests from BambooHR | Sync | 🔗 Github |
time-off-types | Sync time off types configured in BambooHR. | Sync | 🔗 Github |
time-tracking | Sync time tracking entries from BambooHR | Sync | 🔗 Github |
training-records | Sync employee training records from BambooHR. | Sync | 🔗 Github |
users | Sync BambooHR user accounts. | Sync | 🔗 Github |