> For the complete documentation index, see [llms.txt](https://docs.paradime.io/app-help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.paradime.io/app-help/integrations/datahub.md).

# DataHub

To connect DataHub to Paradime, you will need a DataHub instance and permission to create a Personal Access Token. See also the [DataHub documentation](https://datahubproject.io/docs/).

Once connected, Paradime keeps your DataHub catalog in sync as part of its **background data catalog refresh** — pushing dbt™ docs artifacts (models, lineage, columns, and descriptions) to DataHub after every production `dbt docs generate` run.

You can connect the integration in two ways:

* **Connect UI** — a dedicated form to enter your GMS URL, token, and optional domain, with a built‑in connection test. Fastest way to get set up.
* **Environment variables** — set your DataHub credentials as Paradime environment variables. Useful for scripted or templated setups.

Both methods use the same underlying credentials, described below.

**Generate API Credentials**

Paradime authenticates to DataHub's GMS (Generalized Metadata Service) endpoint using a Personal Access Token. The token is created from your DataHub instance and used together with your GMS server URL.

{% hint style="info" %}

#### **Prerequisites**

Before generating API credentials, ensure you have:

* An active DataHub instance (DataHub Cloud / Acryl)
* Permission to create Personal Access Tokens in DataHub
* Metadata Service Authentication enabled on your instance
* The service account used to generate the Personal Access Token must have **Admin** permissions in DataHub. The token inherits the account's privileges, and Admin access is required to push dbt™ metadata to the GMS endpoint.
  {% endhint %}

**Steps to Generate a Personal Access Token**

1. Log in to your DataHub instance as a user with permission to manage access tokens.
2. Click your profile in the top right corner and navigate to **Settings**.
3. Select the **Access Tokens** tab from the settings menu.
4. Click the **Generate new token** button.
5. Enter a name for your token (e.g., "Paradime Integration"), set an expiry, and click **Create**.
6. Copy the **Access Token** from the dialog. Store it securely as we will need it to set up the Paradime integration. **Important:** The Access Token will only be displayed once. Make sure to copy and store it in a secure location before closing this dialog.

**Find Your GMS Server URL**

Paradime sends metadata to your DataHub GMS endpoint. For DataHub Cloud, this is your instance URL with the `/gms` path, for example:

```
https://<instance>.acryl.io/gms
```

**Connect the DataHub Integration**

The DataHub integration can be connected by a Paradime Admin user. Choose one of the following methods — both enable the background data catalog refresh.

**Option 1 — Connect via the UI (recommended)**

<div data-with-frame="true"><figure><img src="/files/2hqRQx3zBcjbcHTzRtRL" alt="" width="563"><figcaption></figcaption></figure></div>

Use the dedicated **Connect to DataHub** panel to set up the integration and enable the background catalog refresh directly from Paradime.

1. In Paradime, go to **Account Settings** > **Integrations**.
2. Find **DataHub** and click **Connect** to open the **Connect to DataHub** panel.
3. Fill in the fields:
   * **GMS URL** — your DataHub GMS server URL (e.g. `https://<instance>.acryl.io/gms`).
   * **Personal Access Token** — the token you generated from your DataHub instance.
   * **Domain (optional)** — a DataHub domain URN or domain id to associate pushed assets with (e.g. `urn:li:domain:sales`).
4. Click **Test Connection** to verify Paradime can reach your GMS endpoint with the supplied token.
5. Once the test passes, save the connection.

After connecting, Paradime automatically pushes dbt™ docs artifacts to DataHub after every production `dbt docs generate` run — no environment variables required. The target warehouse platform is inferred from your production connection.

You will be able to control the sync by using the [Paradime Catalog Refresh](/app-help/documentation/bolt/creating-schedules/command-settings/paradime-refresh-catalog.md) Command in Bolt.

**Option 2 — Connect via Environment Variables**

Alternatively, set your DataHub credentials as environment variables in Paradime before connecting the integration.

1. In Paradime, go to **Account Settings** > **Environment Variables**.
2. Create the following environment variables:
   * `DATAHUB_GMS_URL` - Set this to your DataHub GMS server URL (e.g. `https://<instance>.acryl.io/gms`)
   * `DATAHUB_GMS_TOKEN` - Set this to your DataHub Personal Access Token
   * `DATAHUB_TARGET_PLATFORM` - Set this to the warehouse your dbt™ models run on (e.g. `snowflake`)
3. Click **Save** to store the environment variables.

**Authentication Parameters**

Whichever method you use, Paradime reads the same DataHub credentials and configuration. The UI captures these in the **Connect to DataHub** form; the environment variable method reads them from the following variables:

| Environment Variable      | Type              | Required | Information                                                                                   |
| ------------------------- | ----------------- | -------- | --------------------------------------------------------------------------------------------- |
| DATAHUB\_GMS\_URL         | string            | Yes      | The DataHub GMS server URL (e.g. `https://<instance>.acryl.io/gms`)                           |
| DATAHUB\_GMS\_TOKEN       | string (password) | Yes      | The Personal Access Token generated from your DataHub instance                                |
| DATAHUB\_TARGET\_PLATFORM | string            | Yes      | The data warehouse platform the dbt™ models run on (e.g. `snowflake`, `bigquery`, `redshift`) |
| DATAHUB\_DOMAIN           | string            | No       | A DataHub domain URN to associate pushed assets with (e.g. `urn:li:domain:sales`)             |

Make sure these environment variables are set in your Paradime Account Settings > Environment Variables before attempting to use the environment variable method.

**DataHub Integration Capabilities**

Paradime uses DataHub's native `dbt` ingestion source to push dbt™ metadata from Bolt into DataHub. This allows you to keep your DataHub catalog in sync with your dbt™ project as part of your Paradime workflows, enabling:

* Pushing dbt™ models, lineage, columns, and descriptions to DataHub on every run
* Associating pushed assets with a DataHub domain
* Pushing artifacts for multiple dbt™ projects in a single task
* Integrating catalog updates into larger data orchestration workflows


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.paradime.io/app-help/integrations/datahub.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
