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

# Tableau

> Go beyond dashboards: use data from Tableau reports to run marketing and sales campaigns that drive revenue

## Overview

Hightouch supports syncing view data from [Tableau Cloud
](https://online.tableau.com) or your own self-hosted Tableau Server instance. Most of the setup occurs in the Hightouch UI, but you need access to Tableau for your URL and credentials.

> [!NOTE]
>
> You need to allowlist Hightouch's IP addresses to let our systems contact your warehouse.
> Reference our [networking docs](https://docs.hightouch.com/security/networking#ip-addresses) to determine which IPs you need to allowlist.
> If you're using Tableau Cloud, go to **Settings > Bridge** and add them to your **Private Network Allowlist**.

## Connection configuration

To get started, go to the [**Sources** overview page](https://app.hightouch.com/sources?from=docs) and click the **Add source** button. Select **Tableau** and follow the steps below.

### Choose connection type

Hightouch can connect directly to Tableau over the public internet or via an SSH tunnel. Since data is encrypted in transit via TLS, a direct connection is suitable for most use cases. You may need to set up a tunnel if your Tableau instance is on a private network or virtual private cloud (VPC).

![Direct connection vs. SSH tunnel](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/get-started/connection-types-comparison.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=2300535707894b1f08608939cac812b2)

Hightouch supports both standard and reverse SSH tunnels. To learn more about SSH tunneling, refer to Hightouch's [tunneling documentation](https://docs.hightouch.com/security/ssh-tunneling.md).

### Configure your source

Hightouch supports two authentication methods for Tableau: username and
password, and personal access token.

For either method, you need to provide the following information:

* **URL**: The URL field should be the full homepage URL of your Tableau instance, for example, `https://prod-useast-a.online.tableau.com/#/site/mycompanysite/home`. You can copy and paste this from your browser's address bar.

For username and password authentication, you need to provide:

* **Username**: The username of a user with access to the workbooks and views you want to sync.
* **Password**: The password for the specified username.

For personal access token authentication, you need to provide:

* **Personal access token name**: The name of your token, as configured in Tableau. This is not the token itself.
* **Personal access token secret**: The secret for the token specified above.

More info on personal access tokens can be found in the [Tableau
documentation](https://help.tableau.com/current/server/en-us/security_personal_access_tokens.htm).

> [!WARNING]
>
> If you sign into Tableau using an authentication method such as Google, Salesforce or SAML, you need to use a [personal access token](https://help.tableau.com/current/server/en-us/security_personal_access_tokens.htm) to authenticate the source.

## Test your connection

When setting up Tableau as a source for the first time, Hightouch checks that you have the correct permissions. Once the test passes, click **Continue** to finish setup.

## Create models

Once your source configuration has passed the necessary validation, your source setup is complete. Next, you can set up [models](https://docs.hightouch.com/getting-started/concepts.md#models) to define which data you want to pull from Tableau.

### Model setup

1. In Hightouch, go to the [**Models** overview page](https://app.hightouch.com/models?from=docs).

2. Click **Add model.**

3. Select the Tableau source you previously created.

4. Select the **Workbook** that contains the view you want to sync.

   ![Tableau Workbook select](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/sources/source-tableau-workbook-select.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=554be38930d02ed6c8cd25b41652f467)

5. Select the **View** you want to sync.

   ![Tableau View select](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/sources/source-tableau-view-select.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=2234706c784929202193018e3d3c9676)

6. Optionally, set a custom **Max Data Age**. Tableau caches each data export. If
   there is a recent cache newer than the max data age, Tableau serves that data
   instead of re-running the data export job. This can be useful if you want to
   avoid re-running exports, but it can also lead to stale data. The default value
   used by Hightouch is 1 minute, which is the lowest value allowed by Tableau and
   means Hightouch uses the freshest data available.

   ![Tableau Max Data Age input](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/sources/source-tableau-max-data-age.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=38b69ef4095c6651bb4ca1a62cfd4629)

7. Preview your view.

   ![Tableau View preview](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/sources/source-tableau-preview.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=c66597b48df9d2d2ee89882d42c690aa)

8. Click **Continue**.

9. Name your model and select its [**primary key**](https://docs.hightouch.com/models/creating-models.md#unique-primary-key-requirement). Hightouch uses the primary key to
   determine which rows have been added, changed, or removed since the last sync.

## Tips and troubleshooting

If you run into an issue this page doesn't cover, [contact support](#pylon-chat).
