> For the complete documentation index, see [llms.txt](https://v2.dataos.info/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://v2.dataos.info/consume/v1/activate/bi-tools/tableau-cloud.md).

# Tableau Cloud

Connect Tableau Cloud to turn your dimensions and measures into charts, dashboards, and drill-downs - no SQL required.

Tableau Cloud connects to your semantic layer through the **MySQL wire protocol**. Since the MySQL endpoint is hosted on a private network, Tableau Cloud uses **Tableau Bridge** to securely access your semantic models.

Publishing to Tableau Cloud is a heavier lift than [Tableau Desktop](/consume/v1/activate/bi-tools/tableau.md): you install Tableau Bridge, configure network access, and run the DataOS Publish API, closer to a platform-admin task than a one-time desktop connection. If that setup isn't yours to do, loop in whoever administers Tableau Cloud and network access for your organization.

### Prerequisites

Set these up once before connecting Tableau Cloud to your semantic models.

<table><thead><tr><th width="229.4407958984375">Requirement</th><th>Detail</th></tr></thead><tbody><tr><td><strong>Enterprise Tableau Cloud</strong></td><td>An active Tableau Cloud subscription.</td></tr><tr><td><strong>Tableau Bridge</strong></td><td>Required to connect Tableau Cloud to the DataOS MySQL proxy running on a private network. <a href="https://www.tableau.com/support/releases/bridge">See more</a>.</td></tr><tr><td><strong>MySQL Connector/J</strong></td><td>Version <strong>9.2.0</strong> specifically. <a href="https://mvnrepository.com/artifact/com.mysql/mysql-connector-j/9.2.0">Download from Maven Repository</a>.</td></tr><tr><td><strong>DataOS username</strong></td><td>Your DataOS Id, found under <strong>Profile → Id</strong>.</td></tr><tr><td><strong>DataOS API token</strong></td><td>Generate from <strong>Profile → Tokens</strong>, or copy a token from <a href="/pages/7rh6mFCr0rhl6vO76XjW">Before you begin</a>.</td></tr><tr><td><strong>Tableau Personal Access Token (PAT) or Username and Password.</strong></td><td>Required to publish semantic models to Tableau Cloud.</td></tr></tbody></table>

### 1. Install Tableau Bridge

Download and install [**Tableau Bridge**](https://www.tableau.com/support/releases/bridge) on a Windows or linux machine that has network access to your DataOS MySQL proxy.

Sign in using your Tableau Cloud account. After installation, ensure the Bridge status shows **Connected**.

### 2. Install the MySQL Connector/J driver

Tableau Bridge communicates with the DataOS MySQL proxy using the MySQL JDBC driver.

Download [**MySQL Connector/J 9.2.0**](https://mvnrepository.com/artifact/com.mysql/mysql-connector-j/9.2.0) and copy the JAR file to the Tableau Drivers directory **on the Bridge machine**.

**Windows**

```
C:\Program Files\Tableau\Drivers\
```

If the `Drivers` directory doesn't exist, create it.

Verify that the following file is available:

```
mysql-connector-j-9.2.0.jar
```

> **Important**
>
> The MySQL Connector/J JAR **must be present on the Bridge machine**. Tableau Bridge uses this driver to establish MySQL connections with the DataOS MySQL proxy.

> **Version 9.2.0 specifically.** Other versions may not be compatible with the MySQL wire protocol used by DataOS.

### 3. Configure Tableau Bridge

Open Tableau Cloud.

Navigate to:

```
Settings
    └── Bridge
```

#### Create a Bridge Pool

1. Open **Pooling**.
2. Click **New Pool**.
3. Provide a pool name.
4. Assign the Bridge computer to this pool.

#### Configure the Private Network Allowlist

Navigate to:

```
Settings
    └── Bridge
         └── Private Network Allowlist
```

Click **Add New Domain**.

Enter your DataOS MySQL proxy domain.

Example:

```
tcp.intribeiks-071726.instance.dataos.cloud
```

Assign the domain to the Bridge Pool created in the previous step.

This allows Tableau Cloud to route all MySQL traffic through Tableau Bridge.

### 4. Authenticate to Tableau Cloud

The Publish API authenticates with Tableau Cloud using either a **Personal Access Token (PAT)** or your Tableau Cloud **username and password**. Use whichever your Tableau Cloud site allows.

#### Option A: Create a PAT

1. Sign in to Tableau Cloud.
2. Click your **Profile** icon.
3. Select **My Account Settings**.
4. Scroll to **Personal Access Tokens**.
5. Click **Create Token**.
6. Enter a name.

Example:

```
sync-cloud
```

7. Click **Create Token**.
8. Copy the generated **Token Secret** immediately.

{% hint style="warning" %}
**Important**

Tableau displays the Token Secret only once. Store it securely. If it is lost, create a new Personal Access Token.
{% endhint %}

#### Option B: Use your Tableau username and password

If you'd rather not create a PAT, use your Tableau Cloud login (username and password) directly in the Publish API call instead, with no separate setup step needed.

### 5. Publish the semantic models

Once the Data Product is deployed, publish the semantic models using the Publish API.

**Using a Personal Access Token**

```bash
curl --location 'https://<instance>.instance.dataos.cloud/vulcan/tenants/<tenant>/data-products/<data-product>/api/v1/metadata/exports/tableau/publish' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <DATAOS_API_TOKEN>' \
--data '{
  "server_address": "https://prod-apnortheast-a.online.tableau.com",
  "site_id": "moderndata",
  "token_name": "sync-cloud",
  "personal_access_token": "<TOKEN_SECRET>"
}'
```

**Using Username & Password**

```bash
curl --location 'https://<instance>.instance.dataos.cloud/vulcan/tenants/<tenant>/data-products/<data-product>/api/v1/metadata/exports/tableau/publish' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <DATAOS_API_TOKEN>' \
--data '{
  "server_address": "https://prod-apnortheast-a.online.tableau.com",
  "site_id": "moderndata",
  "username": "<TABLEAU_USERNAME>",
  "password": "<TABLEAU_PASSWORD>"
}'
```

#### Parameters

<table><thead><tr><th width="216.5018310546875">Parameter</th><th>Description</th></tr></thead><tbody><tr><td><code>server_address</code></td><td>Tableau Cloud server URL</td></tr><tr><td><code>site_id</code></td><td>Tableau Cloud site name</td></tr><tr><td><code>token_name</code></td><td>Tableau Personal Access Token name (PAT auth only)</td></tr><tr><td><code>personal_access_token</code></td><td>Tableau Personal Access Token secret (PAT auth only)</td></tr><tr><td><code>username</code></td><td>Tableau Cloud username (username/password auth only)</td></tr><tr><td><code>password</code></td><td>Tableau Cloud password (username/password auth only)</td></tr></tbody></table>

***

#### Successful Response

```json
{
  "server_address": "https://prod-apnortheast-a.online.tableau.com",
  "site_id": "moderndata",
  "project_name": "engineering-data-visualization",
  "datasource": "engineering-data-visualization",
  "id": "eefd3e7a-657b-4b00-a741-5d54551d007d",
  "status": "published"
}
```

A successful response indicates that the semantic models have been published successfully as a Tableau Cloud data source.

### 6. Locate the published data source

1. Open Tableau Cloud.
2. Navigate to **Explore**.
3. Search for the published data source.

Example:

```
engineering-data-visualization
```

### 7. Configure the data source connection

1. Open the published data source.
2. Click **⋯ (More Options)** and select **Edit Connection**.
3. Configure the connection using your **DataOS credentials**.

<table><thead><tr><th width="199.639892578125">Field</th><th>Value</th></tr></thead><tbody><tr><td>Username</td><td>Your DataOS username (Id)</td></tr><tr><td>Password</td><td>Your <a href="https://v2.dataos.info/references/key-concepts/api-tokens">DataOS API Token</a></td></tr><tr><td>Network Type</td><td><strong>Private Network</strong></td></tr></tbody></table>

4. Click **Save**.

Your published data source is now connected to DataOS through Tableau Bridge.

### 8. Create a workbook

1. Navigate to **Explore**.
2. Open the published data source.
3. Click **New Workbook**.
4. Build your dashboards using the semantic models.
5. Publish the workbook to Tableau Cloud.

### You're connected

Your semantic models are now available as a Tableau Cloud data source. You can create dashboards, stories, and visualizations directly on top of the semantic layer without redefining joins, measures, or business logic.

### Limitations

* Publishing a **Workbook** or **Data Source** from Tableau Desktop is currently **not supported**.
* Semantic models must be published using the **DataOS Tableau Publish API**.
* Tableau Bridge is required whenever the DataOS MySQL proxy is hosted on a private network.
* The **MySQL Connector/J 9.2.0** JAR must be installed on the Bridge machine.
* If the semantic model changes, republish the data source to reflect the latest schema.

### Troubleshooting

<table><thead><tr><th width="219.6405029296875">Symptom</th><th>Resolution</th></tr></thead><tbody><tr><td>Data source not published</td><td>Verify the Publish API returns <code>"status": "published"</code>.</td></tr><tr><td>Unable to connect</td><td>Ensure Tableau Bridge is online and assigned to the correct Bridge Pool.</td></tr><tr><td>Driver not found</td><td>Verify <code>mysql-connector-j-9.2.0.jar</code> exists under <code>C:\Program Files\Tableau\Drivers\</code> on the Bridge machine.</td></tr><tr><td>Connection timeout</td><td>Verify <code>tcp.&#x3C;instance>.instance.dataos.cloud</code> is added to the Private Network Allowlist and assigned to the Bridge Pool.</td></tr><tr><td>Authentication failed</td><td>Verify the DataOS username, DataOS API Token, Tableau PAT name, and PAT secret.</td></tr><tr><td>Personal Access Token missing</td><td>Ensure PATs are enabled for your Tableau Cloud site or contact your Tableau Site Administrator.</td></tr><tr><td>Cannot publish from Tableau Desktop</td><td>This is a current limitation. Publish semantic models using the DataOS Tableau Publish API instead.</td></tr></tbody></table>

For data types, best practices, limitations, and governance, see the [Tableau Cloud](https://v2.dataos.info/references/interfaces/bi-tools/tableau-cloud) reference in References.


---

# 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://v2.dataos.info/consume/v1/activate/bi-tools/tableau-cloud.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.
