> ## Documentation Index
> Fetch the complete documentation index at: https://nango.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# BambooHR (OAuth)

> Integrate your application with the BambooHR API

## 🚀 Quickstart

Connect to BambooHR (OAuth) with Nango and see data flow in 2 minutes.

**1. Create the integration**

In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> *Configure New Integration* -> *BambooHR (OAuth)*.

> [!NOTE]
>
> BambooHR requires a subdomain for authentication. You'll need to provide your BambooHR subdomain when creating connections.

**2. Authorize BambooHR (OAuth)**

Go to [Connections](https://app.nango.dev/dev/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.

**3. Call the BambooHR API**

Let's make your first request to the BambooHR API (fetch employees information). Replace the placeholders below with your [Environment API key](https://nango.dev/docs/reference/backend/http-api/api-keys.md), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):

> [tab] cURL
>
> ```bash theme={null}
> curl -X POST "https://api.nango.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"
>       ]
>     }'
> ```

> [tab] Node
>
> Install Nango's backend SDK with `npm i @nangohq/node`. Then run:
>
> ```typescript theme={null}
> import { Nango } from '@nangohq/node';
>
> const nango = new Nango({ apiKey: '<NANGO-API-KEY>' });
>
> const res = await nango.post({
>     endpoint: '/v1/reports/custom',
>     params: {
>         format: 'JSON'
>     },
>     providerConfigKey: '<INTEGRATION-ID>',
>     connectionId: '<CONNECTION-ID>',
>     data: {
>         "title": "Current Employees",
>         "fields": [
>             "id",
>             "employeeNumber",
>             "firstName",
>             "lastName",
>             "dateOfBirth",
>             "address1",
>             "bestEmail"
>         ]
>     }
> });
>
> console.log(res.data);
> ```

Or fetch credentials with the [Node SDK](https://nango.dev/docs/reference/backend/backend-sdk/node.md#get-a-connection-with-credentials) or [API](https://nango.dev/docs/reference/backend/http-api/connections/get.md).

✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.

**4. Implement Nango in your app**

Follow our [Auth implementation guide](https://nango.dev/docs/guides/primitives/auth.md) to integrate Nango in your app.

To obtain your own credentials, follow the setup guide linked below.

## 📚 BambooHR (OAuth) Integration Guides

Nango maintained guides for common use cases.

* [How to register your own BambooHR OAuth app](https://nango.dev/docs/api-integrations/bamboohr/how-to-register-your-own-bamboohr-oauth-app)\
  Register an OAuth app with BambooHR and obtain credentials to connect it to Nango

* [How do I link my BambooHR account?](https://nango.dev/docs/api-integrations/bamboohr/connect)
  Learn how to authenticate with BambooHR and link your account

Official docs: [BambooHR API docs](https://documentation.bamboohr.com/docs/getting-started)

## 🧩 Pre-built syncs & tools for BambooHR (OAuth)

Explore Nango-provided tools in your dashboard. Extend and customize them to fit your needs.

### Unified HRIS API

| Function name | Description | Type |
| - | - | - |
| `unified-employees` | Fetches employees from BambooHR and maps them to the standard HRIS employee model. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |

### Others

| Function name | Description | Type |
| - | - | - |
| `create-applicant` | Create a new candidate application for a job opening in the BambooHR ATS. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-employee-goal` | Create a performance goal for an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-employee-table-row` | Create an employee table row in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-employee-training` | Create a training record for an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-employee` | Create an employee in BambooHR | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-time-off-request` | Create a time off request in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `create-webhook` | Create a webhook subscription in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-company-file` | Permanently delete a company file in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-employee-file` | Delete a file from an employee record in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-employee-goal` | Delete a performance goal from an employee record in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-employee-table-row` | Delete or archive an employee table row in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-employee-training` | Delete a training record from an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-employee` | Delete or archive an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-time-off-request` | Delete or archive a time off request in BambooHR by canceling it. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-time-tracking-entry` | Delete a time tracking entry for an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `delete-webhook` | Delete a webhook subscription in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-applicant` | Retrieve a single applicant from the BambooHR ATS. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-company-file` | Retrieve a single company file from BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-company-report` | Run a BambooHR custom company report. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-employee-file` | Retrieve a single file from an employee record in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-employee-table-row` | Retrieve a single employee table row from BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-employee` | Retrieve a single employee from BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-saved-report` | Run a saved BambooHR report by ID. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-time-off-balance` | Retrieve the time off balance for an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-time-off-request` | Retrieve a single time off request from BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `get-user` | Retrieve a single BambooHR user account. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-applicants` | List applicants from the BambooHR ATS. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-company-files` | List company files from BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-departments` | List departments configured in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `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. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-employee-fields` | List available BambooHR employee fields. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-employee-files` | List files attached to an employee record in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-employee-goals` | List performance goals for an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-employee-table-rows` | List employee table rows from BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-employee-training` | List training records for an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-employees` | List employees from BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-job-openings` | List job openings from the BambooHR ATS. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-job-titles` | List job titles configured in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-locations` | List office locations configured in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-time-off-requests` | List time off requests from BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-time-off-types` | List time off types configured in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-time-tracking-entries` | List time tracking entries for an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-training-types` | List training types configured in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-users` | List BambooHR user accounts. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `list-webhooks` | List webhook subscriptions in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-employee-goal` | Update a performance goal for an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-employee-table-row` | Update an employee table row in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-employee-training` | Update a training record for an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-employee` | Update an employee in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `update-time-off-request-status` | Approve, deny, or cancel a time off request in BambooHR. | [Tool](https://nango.dev/docs/guides/functions/tools.md) |
| `applicants` | Sync applicants from the BambooHR ATS. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `company-files` | Sync company files from BambooHR | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `departments` | Sync department list values from BambooHR | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `employee-files` | Sync employee file metadata from BambooHR. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `employee-table-rows` | Sync employee table rows from BambooHR. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `employees` | Sync employees from BambooHR using the v2 datasets API with incremental updates via lastChanged. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `goals` | Sync employee performance goals from BambooHR | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `job-openings` | Sync job openings from the BambooHR ATS. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `locations` | Sync office location list values from BambooHR. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `time-off-requests` | Sync time off requests from BambooHR | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `time-off-types` | Sync time off types configured in BambooHR. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `time-tracking` | Sync time tracking entries from BambooHR | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `training-records` | Sync employee training records from BambooHR. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |
| `users` | Sync BambooHR user accounts. | [Sync](https://nango.dev/docs/guides/functions/syncs/sync-functions.md) |

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.