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

# Tableau

> Connect Tableau to Paradime for column-level lineage and catalog metadata, and to trigger Tableau data source and workbook refreshes from Bolt.

[Tableau](https://www.tableau.com/) is a visual analytics and business intelligence platform. Paradime works with Tableau across two surfaces, both using the same Tableau Personal Access Token you generate once below.

## What you can do

<CardGroup cols={2}>
  <Card title="Catalog & Lineage" icon="sitemap" href="#catalog--lineage">
    Extract Tableau metadata to power column-level lineage and the asset catalog, so you can trace dbt™ models through to the workbooks and dashboards that consume them.
  </Card>

  <Card title="Bolt refreshes" icon="rotate" href="#bolt-refreshes">
    Trigger Tableau data source and workbook refreshes at the end of your dbt™ pipeline runs, so extracts always reflect your freshest data.
  </Card>
</CardGroup>

## Prerequisites

* A Tableau Cloud or Server account (version 2020.1 or higher) with permission to create Personal Access Tokens.
* A dedicated Tableau user with the **Site Administrator Explorer** role (recommended for Metadata API access). See how to [create a user](https://help.tableau.com/current/server/en-us/sites_addusers.htm) and [grant the role](https://help.tableau.com/current/online/en-us/users_site_roles.htm).

## Generate a Personal Access Token

Paradime connects to Tableau via a Personal Access Token (PAT). The same token is used by both surfaces.

1. In Tableau, click your avatar (top right), then **My Account Settings**.
2. Go to the **Settings** tab and scroll to **Personal Access Tokens**.
3. Enter a token name (e.g. `paradime`), then click **Create new token**.
4. Save the **Token Name** and **Token Secret**. You'll need both below.

<Frame>
  <img src="https://mintcdn.com/paradime-docs/23xsmlzJX7HkBIVS/images/image-47-1.png?fit=max&auto=format&n=23xsmlzJX7HkBIVS&q=85&s=3829df28ea2f08cd34132441bb155c53" alt="Generating a Tableau Personal Access Token" width="1309" height="340" data-path="images/image-47-1.png" />
</Frame>

<Danger>
  If you delete this token from Tableau, all Paradime integrations using it will stop working.
</Danger>

## Catalog & Lineage

Bring Tableau assets into Paradime's [data catalog and column-level lineage](/products/data-catalog/asset-details/tableau), so you can trace dbt™ models through to the dashboards built on them.

<Info>
  Paradime only extracts **published** Tableau assets.
</Info>

### Additional setup for Tableau Server

Tableau Cloud is ready to go. For Tableau **Server**:

* Enable the [Tableau Metadata API](https://help.tableau.com/current/api/metadata_api/en-us/docs/meta_api_start.html#enable-the-tableau-metadata-api-for-tableau-server) (always enabled on Tableau Cloud).
* Allow traffic from the [Paradime IP address](/developers/ip-restrictions) in your firewall. If you use Cloudflare, add a [Browser Integrity Check](https://developers.cloudflare.com/waf/tools/browser-integrity-check/) skip rule for the same IP.

### Connect in Paradime

Configured by the **Admin user**. In Paradime, go to **Settings → Integrations** (see [connecting integrations](/integrations/connecting-integrations)), find **Tableau**, click **Connect**, enter the fields below, and click **Test Connection**.

| Field            | Required | Description                                                                                                     |
| ---------------- | -------- | --------------------------------------------------------------------------------------------------------------- |
| **Host Name**    | ✅        | Tableau Cloud: `https://xxxx.online.tableau.com/#/site/your_site/`. Tableau Server: `https://xxxx.tableau.com/` |
| **Token Name**   | ✅        | The Personal Access Token name from above                                                                       |
| **Token Secret** | ✅        | The Personal Access Token secret from above                                                                     |

<Frame>
  <img src="https://mintcdn.com/paradime-docs/KJcB9NhKTmxLMoZP/images/image-1-1.png?fit=max&auto=format&n=KJcB9NhKTmxLMoZP&q=85&s=ca4ce9f7817759b1860f8e96ad6c465d" alt="Connecting Tableau in Paradime" width="2722" height="1528" data-path="images/image-1-1.png" />
</Frame>

<Accordion title="What metadata does Paradime extract?">
  Paradime uses the following Tableau Metadata API endpoints:

  * [Dashboard](https://help.tableau.com/current/api/metadata_api/en-us/reference/dashboard.doc.html)
  * [Flows](https://help.tableau.com/current/api/metadata_api/en-us/reference/flow.doc.html)
  * [Sheets](https://help.tableau.com/current/api/metadata_api/en-us/reference/sheet.doc.html)
  * [Data sources](https://help.tableau.com/current/api/metadata_api/en-us/reference/datasource.doc.html)
  * [Fields](https://help.tableau.com/current/api/metadata_api/en-us/reference/field.doc.html)
  * [Calculated fields](https://help.tableau.com/current/api/metadata_api/en-us/reference/calculatedfield.doc.html)
  * [Database](https://help.tableau.com/current/api/metadata_api/en-us/reference/database.doc.html)
  * [Metric](https://help.tableau.com/current/api/metadata_api/en-us/reference/metric.doc.html)
  * [Tables](https://help.tableau.com/current/api/metadata_api/en-us/reference/table.doc.html)
  * [Database table](https://help.tableau.com/current/api/metadata_api/en-us/reference/databasetable.doc.html)
  * [Workbook](https://help.tableau.com/current/api/metadata_api/en-us/reference/workbook.doc.html)
  * [Site](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableausite.doc.html)
  * [User](https://help.tableau.com/current/api/metadata_api/en-us/reference/tableauuser.doc.html)
  * [View](https://help.tableau.com/current/api/metadata_api/en-us/reference/view.doc.html)
  * [Tag](https://help.tableau.com/current/api/metadata_api/en-us/reference/tag.doc.html)
</Accordion>

## Bolt refreshes

Trigger Tableau refreshes at the end of your dbt™ pipeline runs so your extracts stay in sync with your freshest data. Add either command to a Bolt schedule:

| Bolt command                                                                                                  | What it does                            |
| ------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| [Tableau data source refresh](/products/bolt/creating-schedules/command-settings/tableau-data-source-refresh) | Refresh a published data source extract |
| [Tableau workbook refresh](/products/bolt/creating-schedules/command-settings/tableau-workbook-refresh)       | Refresh all extracts in a workbook      |

### Prerequisite: embed data source credentials

For Paradime to trigger a refresh, credentials must be embedded within the extract in Tableau.

1. Open the data source in Tableau.
2. Click **Publish**.
3. Select **Embed credentials**.

### Environment variables

Add these to your Bolt schedule. See [how to set environment variables in Bolt](/products/settings/environment-variables/bolt-schedule-env-variables).

| Variable                               | Required | Description                               |
| -------------------------------------- | -------- | ----------------------------------------- |
| `TABLEAU_PERSONAL_ACCESS_TOKEN_NAME`   | ✅        | Token name from above                     |
| `TABLEAU_PERSONAL_ACCESS_TOKEN_SECRET` | ✅        | Token secret from above                   |
| `TABLEAU_HOST`                         | ✅        | Your Tableau host URL                     |
| `TABLEAU_SITE_NAME`                    | ✅        | The site name you want to connect to      |
| `TABLEAU_TIMEOUT`                      | Optional | Request timeout in seconds (default: 300) |


## Related topics

- [Tableau](/products/data-catalog/asset-details/tableau.md)
- [Security model](/resources/other-important-stuff/security-model.md)
- [Tableau CLI](/developers/paradime-cli/tableau-cli.md)
- [Refresh Tableau Workbook](/products/bolt/creating-schedules/command-settings/tableau-workbook-refresh.md)
