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

# BambooHR

API configuration: [`bambookhr`](https://nango.dev/providers.yaml), [`bamboohr-basic`](https://nango.dev/providers.yaml)

## Features

| Features                                                             | Status                         |
| -------------------------------------------------------------------- | ------------------------------ |
| [Auth (Basic)](/integrate/guides/authorize-an-api)                   | ✅                              |
| [Sync data](/integrate/guides/sync-data-from-an-api)                 | ✅                              |
| [Perform workflows](/integrate/guides/perform-workflows-with-an-api) | ✅                              |
| [Proxy requests](/integrate/guides/proxy-requests-to-an-api)         | ✅                              |
| [Receive webhooks](/integrate/guides/receive-webhooks-from-an-api)   | 🚫 (time to contribute: \<48h) |

<Tip>We can implement missing features in \<48h, just ask for it in the [community](https://nango.dev/slack).</Tip>

## Getting started

* [Web API docs (their REST API)](https://documentation.bamboohr.com/docs/getting-started)
* [How to register/integrate an Application](https://documentation.bamboohr.com/docs#what-will-you-need-to-get-started)
* [OAuth-related docs](https://documentation.bamboohr.com/page/single-sign-on-sso-with-openid-connect)
* [Web API docs (their REST API)](https://documentation.bamboohr.com/reference/get-employee)

<Tip>Need help getting started? Get help in the [community](https://nango.dev/slack).</Tip>

## Connection configuration in Nango

BambooHR requires a user specific subdomain to authenticate

You should request this from the user and pass it to Nango in the `nango.auth()` call:

```js
// oAuth
nango.auth('bamboohr', '<CONNECTION-ID>', {params: {subdomain: '<bamboohr-subdomain>'}});
// API key
nango.auth('bamboohr-basic', '<CONNECTION-ID>', {
        credentials: {
            username: '<END-USER-API-KEY>',
            password: 'x'
        },
        params: {
            subdomain: '<bamboohr-subdomain>'
        }
    })
```

For more details, see the [docs here](/integrate/guides/authorize-an-api#apis-requiring-connection-specific-configuration-for-authorization).

## API gotchas

* When creating a connection, you need to add the subdomain as a params argument, for example: `nango.auth('bamhoo-hr', '1', {params: {subdomain: '<your-subdomain>'}})`.
* Authenticating via API key: BambooHR gives only an `API Key` but uses Basic auth for the API. Pass the `API Key` as the username and use `x` for the password. See BambooHR [documentation](https://documentation.bamboohr.com/docs#section-authentication)

<Note>Add Getting Started links and Gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs-v2/integrations/all/bamboohr.mdx)</Note>
