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

# Databricks Integration

> Sync candidate data between Great Question and Databricks using OAuth. Configure your warehouse ID, catalog, schema, and import or push tables.

The Databricks integration syncs candidate data between Great Question and your Databricks warehouse. Setup has two parts: connecting Great Question as an application in Databricks, then entering your credentials in Great Question.

## Part 1: Set up Databricks

### Option A: Partner OAuth application (recommended)

Enable Great Question as a partner OAuth application in Databricks:

1. In the Databricks account console, go to **Settings**.
2. On the **App Connections** page, click **Add Connection**.
3. Enter the application name as **GreatQuestion**.
4. Add the redirect URLs and set the **SQL** access scope.
5. Generate a client secret. Databricks issues a 60-minute access token and a 10080-minute (7-day) refresh token by default.
6. Save, then copy your **Client ID** and **Client Secret**.

### Option B: Service principal user account

This option is currently unavailable. If you'd prefer this approach, contact support and we'll let you know when it's restored.

## Part 2: Configuration

As an admin in Great Question, go to **Settings > Integrations**, find Databricks, and enter:

* **Host URL** (for example, `https://dbc-123456.cloud.databricks.com/`)
* **Client ID**
* **Client Secret**

Click **Connect**. After a successful connection, you should see a screen that looks like the image below:

<Frame>
  <img src="https://mintcdn.com/greatquestion/fbrMVf7KfvKwxDw_/support/images/image-6.png?fit=max&auto=format&n=fbrMVf7KfvKwxDw_&q=85&s=6411a400cb538e2db826df6ce7936b77" alt="Image" width="1786" height="130" data-path="support/images/image-6.png" />
</Frame>

Still in Great Question, enter the following details from your Databricks workspace:

* **Warehouse ID** (copy it from the **SQL Warehouses** section in Databricks)

<Frame>
  <img src="https://mintcdn.com/greatquestion/fbrMVf7KfvKwxDw_/support/images/image-7.png?fit=max&auto=format&n=fbrMVf7KfvKwxDw_&q=85&s=145d23494d70adf6241906572897f617" alt="Image" width="1768" height="106" data-path="support/images/image-7.png" />
</Frame>

* **Catalog** (defaults to `workspace` if left blank)
* **Schema** (defaults to `default` if left blank)
* **Table name** for importing candidates, and a separate **push table name** if you're exporting candidates back to Databricks (defaults to `gq_candidates`)

For example, if your setup looks like this in the Catalog Explorer:

<Frame>
  <img src="https://mintcdn.com/greatquestion/fbrMVf7KfvKwxDw_/support/images/image-8.png?fit=max&auto=format&n=fbrMVf7KfvKwxDw_&q=85&s=1c345bd60c3bfc7389907dd7a77ea659" alt="Image" width="1764" height="120" data-path="support/images/image-8.png" />
</Frame>

Your information would be:

Catalog - `workspace`

Schema - `default`

Table - `brix_candidates`

## Enable syncing

Once connected:

* Check **Enable pull candidates** to import candidates from Databricks on a daily schedule.
* Check **Enable push candidates** to export candidates back to Databricks on a daily schedule, in addition to running an export on demand from the **Candidates** page.
* Add a `gq_import` boolean column to your table and enable **import filtering** to control which records are pulled in.
* Choose what happens when a record disappears from your table: unsubscribe the candidate, delete them, or do nothing.

## Custom attributes

All table columns become available once you create custom candidate attributes in Great Question that match your Databricks column names exactly. Pushed data can use different field names, configured per attribute.

## Sync frequency

<Note>
  Pull syncs run once every 24 hours. In some circumstances, such as sync failures or when certain features get updated, we may trigger additional syncs throughout the day.
</Note>

The integration uses OAuth2 authentication and the Databricks REST API with SSL encryption for secure data transfer.

***

**Still need help?** Contact us at [support@greatquestion.co](mailto:support@greatquestion.co) — median response time is 19 minutes during [support hours](https://greatquestion.co/features/about-our-support-team).
