# BambooHR

The Veza integration for BambooHR connects to the HRIS platform to discover user profiles and attributes, and group assignments within the application. BambooHR users typically access the platform to track hours worked, manage benefits enrollment, and administer payroll from a single platform. Use the integration to:

* Search for users and filter the results based on metadata Veza collects.
* Review user > group assignments within BambooHR.
* Create alerts and rules to alert for changes in user attributes such as Activity Status.

### Requirements

The connector uses the BambooHR Reports API to gather the required authorization metadata. To enable the connector on Veza, you will need to supply an API key and the company domain to connect to:

* **Company Domain:** The name of the company from your BambooHR login URL: `https://{company_domain}.bamboohr.com/`.
* **API Key:** Unique API Key provided by BambooHR. Each user can have one or more secret keys that identify that user to the API. The secret key is a 160-bit number expressed in hexadecimal form.

To create an API key in BambooHR, follow these steps:

1. Log in to BambooHR and click on your name in the upper right corner of any page to open the user menu. Optionally, you can create a dedicated BambooHR user for the integration, and complete these steps after logging in as that user. Note that users must have `Full Admin` access to create API keys.
2. Click **API Keys**.
   * ![All API Keys](/files/ltze2K4duc4sB1hVjGSa)
3. On the following page, click on **Add New Key**.
4. Enter an API Key Name then click **Generate Key**. A random string will appear, similar to `6d925aae960335ba7824f6e0c5cfadc1dc0c027a`. Save this value in a secure location.
   * ![New API Key Pop-up](/files/RRVROC35a7T45GRImGyG)

See [Authentication](https://documentation.bamboohr.com/docs#section-authentication) for official documentation on creating BambooHR API keys.

### Adding a BambooHR Integration to Veza

To enable Veza to gather data from the BambooHR platform:

1. Browse to your Veza instance.
2. In the left navigation, expand **Configuration**, then click **Integrations**.
3. In the main pane, click **Add Integration** and choose **BambooHR**.
4. Enter the required details:
   * **Insight Point:** Use the default option unless you need to use an external Insight Point for the connection.
   * **Name:** A friendly name to identify the unique connection.
   * **Company Domain:** The BambooHR company identifier from your login URL, excluding the full URL, e.g., `company_name`.
   * **API Key:** The BambooHR secret key from the steps above, e.g., `6d925aae960335ba7824f6e0c5cfadc1dc0c027a`.
   * **IdP Types:** Comma-separated list of IdP types for mapping external identities, e.g., `okta,active_directory,azure_ad,custom,google_workspace,one_login`.

### Notes and Supported Entities

Veza discovers and shows the following metadata for BambooHR User entities, which can be used to narrow searches and access reviews using attribute filters:

| Attribute (type)               | Description                                                       |
| ------------------------------ | ----------------------------------------------------------------- |
| id (Integer)                   | The employee ID automatically assigned by BambooHR.               |
| fullName (text)                | The employee's first and last name. (e.g., John Doe).             |
| firstName (text)               | The employee’s first name.                                        |
| middleName (text)              | The employee’s middle name.                                       |
| lastName (text)                | The employee’s last name.                                         |
| displayName (text)             | The employee's name displayed in a format configured by the user. |
| preferredName (text)           | The employee’s preferred name.                                    |
| homeEmail (email)              | The employee's home email address.                                |
| employeeNumber (text)          | Employee number (assigned by your company).                       |
| status (status)                | The employee's employee status (Active or Inactive).              |
| workEmail (email)              | The employee's work email address.                                |
| jobTitle (list)                | The current value of the employee's job title.                    |
| employmentHistoryStatus (list) | The employee's current employment status.                         |
| location (list)                | The employee's current location.                                  |
| stateCode (text)               | The 2 character abbreviation for the employee's state (US only).  |
| hireDate (date)                | The date the employee was hired.                                  |
| supervisorId (integer)         | The 'employeeNumber' of the employee's current supervisor.        |
| supervisorEId (integer)        | The ID of the employee's current supervisor.                      |
| supervisor (employee)          | The employee’s current supervisor.                                |
| supervisorEmail (text)         | The email of the employee's current supervisor.                   |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.veza.com/4yItIzMvkpAvMVFAamTf/integrations/integrations/bamboohr.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
