# Greenhouse

> Connect Greenhouse to sanda: what to prepare, the fields the connection form asks for, and how its data lands in your warehouse.

## Connect Greenhouse

:::steps
1. **Open the catalogue.** In the console, go to **Data · Connections** and press **New connection**.
2. **Choose Greenhouse.** It is listed under people; you can also search for it by name.
3. **Fill in the form.** Enter the fields below. Credentials go straight to sanda’s sync engine and are never stored in sanda’s database.
4. **Choose what to sync.** Pick the tables you want, and a sync mode for each. See [choose what to sync](https://docs.sanda-os.com.au/connections/choose-tables).
5. **Run the first sync.** sanda tests the connection, then lands each table you chose in your warehouse.
:::

## Configuration fields

What the connection form asks for. Required fields are marked; the rest are optional.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| **Authentication** | one of 2 options | Yes |  |
| **Start date** | string | No | UTC date and time in the format YYYY-MM-DDTHH:MM:SSZ. Records updated before this date will not be replicated. If omitted, the connector replicates all history. |
| **Number of concurrent threads** | integer | No | The number of worker threads to use for syncing. Greenhouse publishes no Harvest v3 rate-limit ceiling, so the default is conservative and all threads share a single budget. Increase this only if your Greenhouse account can support higher API usage, or lower it if you see rate-limit errors. Default `2`. |

### Authentication


Choose one of the following. Each asks for its own fields.

**OAuth**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| **OAuth client ID** | string, secret | Yes |  |
| **OAuth client secret** | string, secret | Yes |  |
| **Refresh token** | string, secret | Yes | The refresh token obtained from the Greenhouse authorization code exchange. Populated automatically when you authorize above. |
| **Access token** | string, secret | No |  |
| **Token expiry date** | string | No |  |

**Client Credentials**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| **Client ID** | string, secret | Yes | The client ID of your Greenhouse custom integration credential. |
| **Client secret** | string, secret | Yes | The client secret of your Greenhouse custom integration credential. |
| **Site Admin user ID** | integer | No | Optional. Leave blank to authorize as the credential's integration service user, which can read every Harvest v3 list endpoint. If you set it, it must be the Greenhouse user ID of a Site Admin; any other user is denied access to the list endpoints the connector reads. |


## Related

:::links
- [Sync modes](https://docs.sanda-os.com.au/connections/sync-modes): How sanda reads each table on every run.
- [Sync schedules](https://docs.sanda-os.com.au/connections/schedules): How often a connection runs.
- [Allowlist sanda’s address](https://docs.sanda-os.com.au/connections/allowlist): For a system behind a firewall.
- [Troubleshoot connections](https://docs.sanda-os.com.au/connections/troubleshooting): What an error means and how to fix it.
:::
