![tableau icon](/docs/img/components/icons/60/dGFibGVhdQ==.png)

# Tableau Connector

key: tableau[Source](https://github.com/prismatic-io/components/tree/main/components/tableau)[API Docs](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api.htm)[API Changelog](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_whats_new.htm)[Connector Changelog](#changelog)

## Description[​](#description "Direct link to Description")

[Tableau](https://www.tableau.com/) is an interactive data visualization software company focused on business intelligence. This component allows managing users, projects, workbooks, and connections through the Tableau REST API.

#### API Documentation[​](#api-documentation "Direct link to API Documentation")

This component was built using the [Tableau REST API Documentation](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api.htm).

## Connections[​](#connections "Direct link to Connections")

### Personal Access Token[​](#privatekey "Direct link to Personal Access Token")

**key: privateKey**

This component uses Personal Access Token authentication to interact with the Tableau REST API. Create a connection of type **Personal Access Token**.

#### Prerequisites[​](#prerequisites "Direct link to Prerequisites")

* A Tableau Cloud or Tableau Server account with permission to create Personal Access Tokens.

#### Setup Steps[​](#setup-steps "Direct link to Setup Steps")

1. Log in to **Tableau**.
2. Click the user icon in the top right, and click **My Account Settings**.
3. Under **Personal Access Tokens**, type in a **Token Name** and select **Create new token**. Take note of the **Token Name** and **Token Secret**. These are entered into the connection in a moment.
4. Locate the Tableau URL. It looks like `https://10ay.online.tableau.com/#/site/MarketingTeam/workbooks`. The `10ay.online.tableau.com` portion is the **Host Name**, and `MarketingTeam` is the **Site ID**.

#### Configure the Connection[​](#configure-the-connection "Direct link to Configure the Connection")

* **Token Name**: The name of the Personal Access Token created above.
* **Token Secret**: The secret value of the Personal Access Token created above.
* **Host Name**: The Tableau server host, without the `https://` prefix (for example, `10ay.online.tableau.com`).
* **Site ID**: The Tableau site identifier (for example, `MarketingTeam`).

For additional information regarding authentication, refer to the [Tableau docs](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_auth.htm).

| Input        | Notes                                                                                                                   | Example                                                   |
| ------------ | ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| Host Name    | The host name of the Tableau server, without the https\:// prefix.                                                      | 10ay.online.tableau.com                                   |
| Site ID      | The ID of the Tableau site (the MarketingTeam part of https\://10ay.online.tableau.com/#/site/MarketingTeam/workbooks). | MarketingTeam                                             |
| Token Secret | The Tableau Personal Access Token secret. This value can be created from the Tableau account.                           | xxxxxxxxxxxxxxxxxxxxxx==:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| Token Name   | The name of the Tableau Personal Access Token.                                                                          | My Token                                                  |

## Triggers[​](#triggers "Direct link to Triggers")

### New and Updated Records[​](#pollchangestrigger "Direct link to New and Updated Records")

Checks for new and updated records in a selected Tableau resource type on a configured schedule. | **key: pollChangesTrigger**

| Input                | Notes                                                                                                                        | Example   |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------- | --------- |
| Resource Type        | The Tableau resource collection to poll for new and updated records.                                                         | workbooks |
| Show New Records     | When true, records whose `createdAt` falls after the last poll are emitted on the `created` branch.                          | true      |
| Show Updated Records | When true, records whose `updatedAt` falls after the last poll but were created earlier are emitted on the `updated` branch. | true      |
| Connection           |                                                                                                                              |           |

This trigger checks for new and updated records in a selected [Tableau](https://www.tableau.com/) resource collection (workbooks, views, or data sources) on a configured schedule. Use it to drive a flow whenever a tracked resource is created or modified, without configuring a webhook subscription.

On each poll, the trigger queries the selected resource collection for records whose `updatedAt` timestamp is at or after the previous poll time. Each matching record is then sorted into one of two branches: records that were also created during the window go to the `created` branch, and records that existed earlier but were modified go to the `updated` branch. Both branches are configurable and enabled by default.

#### How It Works[​](#how-it-works "Direct link to How It Works")

1. The trigger runs on the configured schedule and reads the stored timestamp of the previous poll. On the first run, the current time is used, so the initial poll establishes a baseline and returns no records.

2. It queries the selected Tableau resource collection (workbooks, views, or data sources) for records whose `updatedAt` is at or after the previous poll time, sorted oldest to newest.

3. Each returned record is classified by comparing its `createdAt` to the previous poll time:

   <!-- -->

   * **created**: the `createdAt` is after the previous poll time, so the record was born during this window. Emitted on the `created` branch when **Show New Records** is enabled.
   * **updated**: the `createdAt` is at or before the previous poll time, so the record existed earlier and was only modified. Emitted on the `updated` branch when **Show Updated Records** is enabled.

4. The trigger stores a new cursor for the next poll. Normally this is the current poll time. If the result set is truncated at the page cap, the cursor is instead set to the newest `updatedAt` in the fetched records, so the remaining records are captured on the following poll.

State is maintained automatically between executions. The stored cursor is the only state the trigger keeps, and it advances forward each poll so that records are not processed twice under normal conditions.

#### Returned Data[​](#returned-data "Direct link to Returned Data")

Fields shown are representative. The full response object includes additional properties.

The trigger returns a `body.data` object containing two arrays, `created` and `updated`. Each holds the matching Tableau records for that branch, and either array may be empty depending on what changed and which branches are enabled.

Example Payload

```json
{
  "data": {
    "created": [
      {
        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "name": "Q2 Sales Dashboard",
        "contentUrl": "Q2SalesDashboard",
        "createdAt": "2026-05-26T14:30:00Z",
        "updatedAt": "2026-05-26T14:30:00Z",
        "project": {
          "id": "1f2f3e4e-5d6d-7c8c-9b0b-1a2a3f4f5e6e",
          "name": "Marketing Analytics"
        },
        "owner": { "id": "abc12e4e-5d6d-7c8c-9b0b-1a2a3f4f5e90" }
      }
    ],
    "updated": [
      {
        "id": "f1e2d3c4-b5a6-9870-fedc-ba0987654321",
        "name": "Pipeline Overview",
        "contentUrl": "PipelineOverview",
        "createdAt": "2026-04-12T09:00:00Z",
        "updatedAt": "2026-05-26T15:45:00Z",
        "project": {
          "id": "1f2f3e4e-5d6d-7c8c-9b0b-1a2a3f4f5e6e",
          "name": "Marketing Analytics"
        },
        "owner": { "id": "abc12e4e-5d6d-7c8c-9b0b-1a2a3f4f5e90" }
      }
    ]
  }
}

```

Refer to the [Tableau Workbooks and Views Methods](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_workbooks_and_views.htm) documentation for the full set of fields available on each record.

#### Notes[​](#notes "Direct link to Notes")

* The first poll returns no records. It only sets the baseline cursor that later polls compare against.
* When a single poll returns more records than the page cap allows, the result is truncated and the cursor advances to the newest fetched `updatedAt`. The remaining records are picked up on the next poll, so no changes are lost.
* Tableau REST API rate limits apply. Very frequent schedules may exhaust available API capacity.

Example Payload for <!-- -->New and Updated Records[⤓](https://prismatic.io/docs/example-payloads/tableau/triggers/pollChangesTrigger.json "Download example payload")

Loading…

***

### Webhook Events[​](#tableautrigger "Direct link to Webhook Events")

Receive event notifications from Tableau. Automatically creates and manages a webhook subscription for the selected events when the instance is deployed, and removes the subscription when the instance is deleted. | **key: tableauTrigger**

| Input          | Notes                                                        | Example |
| -------------- | ------------------------------------------------------------ | ------- |
| API Version    | The version of the Tableau API to use.                       | 3.6     |
| Connection     |                                                              |         |
| API Event Name | The events to subscribe to.                                  |         |
| Timeout        | The maximum amount of time the client will await a response. | 3000    |

The Webhook Events trigger receives [Tableau webhook](https://help.tableau.com/current/developer/webhooks/en-us/) notifications in real time. This trigger automatically manages webhook subscriptions. Unlike manual webhook setups, the entire lifecycle is handled automatically.

#### How It Works[​](#how-it-works-1 "Direct link to How It Works")

When this trigger is used in a flow:

* **On Instance Deploy**: The trigger automatically creates webhook subscriptions in Tableau for each selected event type, pointing to the instance's unique webhook URL.
* **On Instance Deletion**: The trigger automatically removes the webhook subscriptions from Tableau.

When Tableau fires a matching event, the trigger receives the webhook payload and fetches additional event information before passing it to the flow.

#### Configuration[​](#configuration "Direct link to Configuration")

Configure the following inputs:

* **Connection** (required): The Tableau connection used to manage the webhook subscription and fetch event data.
* **API Event Name** (required): Select one or more Tableau event types to subscribe to. Multiple events can be selected.
* **API Version**: The version of the Tableau REST API to use (default: `3.6`).
* **Timeout**: The maximum time (in milliseconds) the client will wait for a response.

#### Event Types[​](#event-types "Direct link to Event Types")

Available Events (7)

| Event                      | Description                                       |
| -------------------------- | ------------------------------------------------- |
| `UserDeleted`              | A user is deleted from the Tableau site           |
| `WorkbookUpdated`          | A workbook is updated                             |
| `WorkbookCreated`          | A new workbook is created                         |
| `WorkbookDeleted`          | A workbook is deleted                             |
| `WorkbookRefreshStarted`   | A workbook extract refresh has started            |
| `WorkbookRefreshSucceeded` | A workbook extract refresh completed successfully |
| `WorkbookRefreshFailed`    | A workbook extract refresh failed                 |

Refer to the [Tableau Webhooks Events and Payloads](https://help.tableau.com/current/developer/webhooks/en-us/docs/webhooks-events-payload.html) documentation for the complete and up-to-date list of available events.

#### Returned Data[​](#returned-data-1 "Direct link to Returned Data")

Example Payload

```json
{
  "resource": "WORKBOOK",
  "event_type": "WorkbookUpdated",
  "resource_name": "My Workbook",
  "site_luid": "a946d148-...",
  "resource_luid": "f12a9855-...",
  "created_at": "2024-01-15T10:30:00Z"
}

```

The trigger automatically fetches additional event information from Tableau before returning the payload to the flow.

Example Payload for <!-- -->Webhook Events[⤓](https://prismatic.io/docs/example-payloads/tableau/triggers/tableauTrigger.json "Download example payload")

Loading…

***

## Data Sources[​](#data-sources "Direct link to Data Sources")

### Select Connection[​](#selectconnection "Direct link to Select Connection")

Select a connection from a workbook in your Tableau site. | **key: selectConnection** | **type: picklist**

| Input       | Notes                                   | Example                              |
| ----------- | --------------------------------------- | ------------------------------------ |
| Connection  |                                         |                                      |
| Workbook ID | The unique identifier for the workbook. | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |

Example Payload for <!-- -->Select Connection[⤓](https://prismatic.io/docs/example-payloads/tableau/data-sources/selectConnection.json "Download example payload")

Loading…

***

### Select Project[​](#selectproject "Direct link to Select Project")

A picklist of projects in your Tableau site. | **key: selectProject** | **type: picklist**

| Input      | Notes | Example |
| ---------- | ----- | ------- |
| Connection |       |         |

Example Payload for <!-- -->Select Project[⤓](https://prismatic.io/docs/example-payloads/tableau/data-sources/selectProject.json "Download example payload")

Loading…

***

### Select User[​](#selectuser "Direct link to Select User")

A picklist of users in your Tableau site. | **key: selectUser** | **type: picklist**

| Input      | Notes | Example |
| ---------- | ----- | ------- |
| Connection |       |         |

Example Payload for <!-- -->Select User[⤓](https://prismatic.io/docs/example-payloads/tableau/data-sources/selectUser.json "Download example payload")

Loading…

***

### Select Webhook[​](#selectwebhook "Direct link to Select Webhook")

A picklist of webhooks in your Tableau site. | **key: selectWebhook** | **type: picklist**

| Input       | Notes                                  | Example |
| ----------- | -------------------------------------- | ------- |
| API Version | The version of the Tableau API to use. | 3.6     |
| Connection  |                                        |         |

Example Payload for <!-- -->Select Webhook[⤓](https://prismatic.io/docs/example-payloads/tableau/data-sources/selectWebhook.json "Download example payload")

Loading…

***

### Select Workbook[​](#selectworkbook "Direct link to Select Workbook")

A picklist of workbooks in your Tableau site. | **key: selectWorkbook** | **type: picklist**

| Input      | Notes | Example |
| ---------- | ----- | ------- |
| Connection |       |         |

Example Payload for <!-- -->Select Workbook[⤓](https://prismatic.io/docs/example-payloads/tableau/data-sources/selectWorkbook.json "Download example payload")

Loading…

***

## Actions[​](#actions "Direct link to Actions")

### Create Project[​](#createproject "Direct link to Create Project")

Create a new project in a Tableau site. | **key: createProject**

| Input               | Notes                                                                                                                      | Example                              |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| Content Permissions | Controls user permissions in a project. A nested project inherits the parent's permissions and this setting has no effect. | ManagedByOwner                       |
| Description         | A description of the project.                                                                                              | This is an example description       |
| Parent Project ID   | The unique identifier for the parent project.                                                                              | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |
| Project Name        | The display name shown for the project in Tableau.                                                                         | MyProject                            |
| Connection          |                                                                                                                            |                                      |
| Timeout             | The maximum amount of time the client will await a response.                                                               | 3000                                 |

Example Payload for <!-- -->Create Project[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/createProject.json "Download example payload")

Loading…

***

### Create User[​](#createuser "Direct link to Create User")

Create a new user in a Tableau site. | **key: createUser**

| Input        | Notes                                                                         | Example              |
| ------------ | ----------------------------------------------------------------------------- | -------------------- |
| Auth Setting | The authentication method used to sign the user in.                           | ServerDefault        |
| Site Role    | The role assigned to the user on the site.                                    | Explorer             |
| Connection   |                                                                               |                      |
| Timeout      | The maximum amount of time the client will await a response.                  | 3000                 |
| Username     | The username of the user. For Tableau Online, this value is an email address. | someone\@example.com |

Example Payload for <!-- -->Create User[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/createUser.json "Download example payload")

Loading…

***

### Create Webhook[​](#createwebhook "Direct link to Create Webhook")

Create a new webhook for a site. | **key: createWebhook**

| Input           | Notes                                                                                                 | Example                      |
| --------------- | ----------------------------------------------------------------------------------------------------- | ---------------------------- |
| API Version     | The version of the Tableau API to use.                                                                | 3.6                          |
| API Event Name  | The name of the Tableau event that triggers the webhook.                                              |                              |
| Connection      |                                                                                                       |                              |
| Timeout         | The maximum amount of time the client will await a response.                                          | 3000                         |
| Webhook Enabled | When true, the newly created webhook is enabled. When false, the webhook is disabled.                 | true                         |
| Webhook Name    | A descriptive label to identify the webhook in Tableau.                                               | My Webhook                   |
| Webhook URL     | The destination URL for the webhook. The destination URL must use HTTPS and have a valid certificate. | https\://example.com/webhook |

Example Payload for <!-- -->Create Webhook[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/createWebhook.json "Download example payload")

Loading…

***

### Delete Project[​](#deleteprojects "Direct link to Delete Project")

Delete an existing project by ID. | **key: deleteProjects**

| Input      | Notes                                                        | Example                              |
| ---------- | ------------------------------------------------------------ | ------------------------------------ |
| Project ID | The unique identifier for the project.                       | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |
| Connection |                                                              |                                      |
| Timeout    | The maximum amount of time the client will await a response. | 3000                                 |

Example Payload for <!-- -->Delete Project[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/deleteProjects.json "Download example payload")

Loading…

***

### Delete User[​](#deleteuser "Direct link to Delete User")

Delete an existing user by ID. | **key: deleteUser**

| Input      | Notes                                                        | Example                              |
| ---------- | ------------------------------------------------------------ | ------------------------------------ |
| Connection |                                                              |                                      |
| Timeout    | The maximum amount of time the client will await a response. | 3000                                 |
| User ID    | The unique identifier for the user.                          | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |

Example Payload for <!-- -->Delete User[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/deleteUser.json "Download example payload")

Loading…

***

### Delete Webhook[​](#deletewebhook "Direct link to Delete Webhook")

Delete the specified webhook. | **key: deleteWebhook**

| Input       | Notes                                                        | Example                              |
| ----------- | ------------------------------------------------------------ | ------------------------------------ |
| API Version | The version of the Tableau API to use.                       | 3.6                                  |
| Connection  |                                                              |                                      |
| Timeout     | The maximum amount of time the client will await a response. | 3000                                 |
| Webhook ID  | The unique identifier for the webhook.                       | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |

Example Payload for <!-- -->Delete Webhook[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/deleteWebhook.json "Download example payload")

Loading…

***

### Delete Workbook[​](#deleteworkbook "Direct link to Delete Workbook")

Delete an existing workbook by ID. | **key: deleteWorkbook**

| Input       | Notes                                                        | Example                              |
| ----------- | ------------------------------------------------------------ | ------------------------------------ |
| Connection  |                                                              |                                      |
| Timeout     | The maximum amount of time the client will await a response. | 3000                                 |
| Workbook ID | The unique identifier for the workbook.                      | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |

Example Payload for <!-- -->Delete Workbook[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/deleteWorkbook.json "Download example payload")

Loading…

***

### Get Project[​](#getproject "Direct link to Get Project")

Retrieve an existing project by ID. | **key: getProject**

| Input        | Notes                                                        | Example   |
| ------------ | ------------------------------------------------------------ | --------- |
| Project Name | The display name shown for the project in Tableau.           | MyProject |
| Connection   |                                                              |           |
| Timeout      | The maximum amount of time the client will await a response. | 3000      |

Example Payload for <!-- -->Get Project[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/getProject.json "Download example payload")

Loading…

***

### Get User[​](#getuser "Direct link to Get User")

Retrieve an existing user by ID. | **key: getUser**

| Input      | Notes                                                        | Example                              |
| ---------- | ------------------------------------------------------------ | ------------------------------------ |
| Connection |                                                              |                                      |
| Timeout    | The maximum amount of time the client will await a response. | 3000                                 |
| User ID    | The unique identifier for the user.                          | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |

Example Payload for <!-- -->Get User[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/getUser.json "Download example payload")

Loading…

***

### Get Webhook[​](#getwebhook "Direct link to Get Webhook")

Retrieve information about the specified webhook. | **key: getWebhook**

| Input       | Notes                                                        | Example                              |
| ----------- | ------------------------------------------------------------ | ------------------------------------ |
| API Version | The version of the Tableau API to use.                       | 3.6                                  |
| Connection  |                                                              |                                      |
| Timeout     | The maximum amount of time the client will await a response. | 3000                                 |
| Webhook ID  | The unique identifier for the webhook.                       | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |

Example Payload for <!-- -->Get Webhook[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/getWebhook.json "Download example payload")

Loading…

***

### Get Workbook[​](#getworkbook "Direct link to Get Workbook")

Retrieve an existing workbook by ID. | **key: getWorkbook**

| Input       | Notes                                                        | Example                              |
| ----------- | ------------------------------------------------------------ | ------------------------------------ |
| Connection  |                                                              |                                      |
| Timeout     | The maximum amount of time the client will await a response. | 3000                                 |
| Workbook ID | The unique identifier for the workbook.                      | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |

Example Payload for <!-- -->Get Workbook[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/getWorkbook.json "Download example payload")

Loading…

***

### List Connections[​](#listconnections "Direct link to List Connections")

Retrieve a list of connections from a Tableau workbook. | **key: listConnections**

| Input       | Notes                                                        | Example                              |
| ----------- | ------------------------------------------------------------ | ------------------------------------ |
| Pagination  | Page size and page number controls for paginated results.    |                                      |
| Connection  |                                                              |                                      |
| Timeout     | The maximum amount of time the client will await a response. | 3000                                 |
| Workbook ID | The unique identifier for the workbook.                      | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |

Example Payload for <!-- -->List Connections[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/listConnections.json "Download example payload")

Loading…

***

### List Projects[​](#listprojects "Direct link to List Projects")

Retrieve a list of projects from a Tableau site. | **key: listProjects**

| Input      | Notes                                                        | Example |
| ---------- | ------------------------------------------------------------ | ------- |
| Pagination | Page size and page number controls for paginated results.    |         |
| Connection |                                                              |         |
| Timeout    | The maximum amount of time the client will await a response. | 3000    |

Example Payload for <!-- -->List Projects[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/listProjects.json "Download example payload")

Loading…

***

### List Users[​](#listusers "Direct link to List Users")

Retrieve a list of users from a Tableau site. | **key: listUsers**

| Input      | Notes                                                        | Example |
| ---------- | ------------------------------------------------------------ | ------- |
| Pagination | Page size and page number controls for paginated results.    |         |
| Connection |                                                              |         |
| Timeout    | The maximum amount of time the client will await a response. | 3000    |

Example Payload for <!-- -->List Users[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/listUsers.json "Download example payload")

Loading…

***

### List Webhooks[​](#listwebhooks "Direct link to List Webhooks")

Retrieve a list of all the webhooks on the specified site. | **key: listWebhooks**

| Input       | Notes                                                        | Example |
| ----------- | ------------------------------------------------------------ | ------- |
| API Version | The version of the Tableau API to use.                       | 3.6     |
| Pagination  | Page size and page number controls for paginated results.    |         |
| Connection  |                                                              |         |
| Timeout     | The maximum amount of time the client will await a response. | 3000    |

Example Payload for <!-- -->List Webhooks[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/listWebhooks.json "Download example payload")

Loading…

***

### List Workbooks[​](#listworkbooks "Direct link to List Workbooks")

Retrieve a list of workbooks from a Tableau site. | **key: listWorkbooks**

| Input      | Notes                                                        | Example |
| ---------- | ------------------------------------------------------------ | ------- |
| Pagination | Page size and page number controls for paginated results.    |         |
| Connection |                                                              |         |
| Timeout    | The maximum amount of time the client will await a response. | 3000    |

Example Payload for <!-- -->List Workbooks[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/listWorkbooks.json "Download example payload")

Loading…

***

### Publish Workbook[​](#publishworkbook "Direct link to Publish Workbook")

Publish a workbook on the specified site. | **key: publishWorkbook**

| Input                  | Notes                                                                                        | Example     |
| ---------------------- | -------------------------------------------------------------------------------------------- | ----------- |
| Publish Options        | Upload session, file type, and publishing behavior controls for the workbook.                |             |
| Connection             |                                                                                              |             |
| Timeout                | The maximum amount of time the client will await a response.                                 | 3000        |
| Workbook File Contents | The twbx file to upload as binary data.                                                      |             |
| Workbook XML           | The XML request body describing the workbook to publish. Must be a valid tsRequest document. | See Example |

Example Payload for <!-- -->Publish Workbook[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/publishWorkbook.json "Download example payload")

Loading…

***

### Raw Request[​](#rawrequest "Direct link to Raw Request")

Send raw HTTP request to Tableau. | **key: rawRequest**

| Input                   | Notes                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Example                                                       |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| API Version             | The version of the Tableau API to use.                                                                                                                                                                                                                                                                                                                                                                                                                                             | 3.6                                                           |
| Connection              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |                                                               |
| Data                    | The HTTP body payload to send to the URL.                                                                                                                                                                                                                                                                                                                                                                                                                                          | {"exampleKey": "Example Data"}                                |
| Debug Request           | Enabling this flag will log out the current request.                                                                                                                                                                                                                                                                                                                                                                                                                               | false                                                         |
| File Data               | File Data to be sent as a multipart form upload.                                                                                                                                                                                                                                                                                                                                                                                                                                   | \[{key: "example.txt", value: "My File Contents"}]            |
| File Data File Names    | File names to apply to the file data inputs. Keys must match the file data keys above.                                                                                                                                                                                                                                                                                                                                                                                             |                                                               |
| Form Data               | The Form Data to be sent as a multipart form upload.                                                                                                                                                                                                                                                                                                                                                                                                                               | \[{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header                  | A list of headers to send with the request.                                                                                                                                                                                                                                                                                                                                                                                                                                        | User-Agent: curl/7.64.1                                       |
| Max Retry Count         | The maximum number of retries to attempt. Specify 0 for no retries.                                                                                                                                                                                                                                                                                                                                                                                                                | 0                                                             |
| Method                  | The HTTP method to use.                                                                                                                                                                                                                                                                                                                                                                                                                                                            |                                                               |
| Query Parameter         | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1\&key2=value2.                                                                                                                                                                                                                                                                                                                                               |                                                               |
| Response Type           | The type of data you expect in the response. You can request json, text, or binary data.                                                                                                                                                                                                                                                                                                                                                                                           | json                                                          |
| Retry On All Errors     | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.                                                                                                                                                                                                                                                                                   | false                                                         |
| Retry Delay (ms)        | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.                                                                                                                                                                                                                                                                                                                                                                                | 0                                                             |
| Timeout                 | The maximum time that a client will await a response to its request                                                                                                                                                                                                                                                                                                                                                                                                                | 2000                                                          |
| URL                     | Input the path only (/projects); the base URL is already included (https\://{inputHostName}/api/{inputApiVersion}/sites/{siteId}). For example, to connect to https\://{inputHostName}/api/{inputApiVersion}/sites/{siteId}/projects, enter only /projects in this field. Note: {inputHostName} is derived from the Host Name input in the connection configuration, {inputApiVersion} is based on the API Version input (default is 3.6), and {siteId} is automatically appended. | /projects                                                     |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.                                                                                                                                                                                                                                                                                                                                                      | false                                                         |

Example Payload for <!-- -->Raw Request[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/rawRequest.json "Download example payload")

Loading…

***

### Search Connections[​](#searchconnections "Direct link to Search Connections")

Search for a specific connection in a workbook. | **key: searchConnections**

| Input        | Notes                                                        | Example                              |
| ------------ | ------------------------------------------------------------ | ------------------------------------ |
| Pagination   | Page size and page number controls for paginated results.    |                                      |
| Search Field | The field to filter connections on.                          | serverAddress                        |
| Search       | The text value to search on.                                 | My Project                           |
| Connection   |                                                              |                                      |
| Timeout      | The maximum amount of time the client will await a response. | 3000                                 |
| Workbook ID  | The unique identifier for the workbook.                      | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |

Example Payload for <!-- -->Search Connections[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/searchConnections.json "Download example payload")

Loading…

***

### Search Projects[​](#searchprojects "Direct link to Search Projects")

Search for a specific project by a string of text. | **key: searchProjects**

| Input        | Notes                                                                         | Example    |
| ------------ | ----------------------------------------------------------------------------- | ---------- |
| Pagination   | Page size and page number controls for paginated results.                     |            |
| Search Field | The field to search. Dates should follow the ISO format: 2016-05-04T21:24:49Z | Name       |
| Search       | The text value to search on.                                                  | My Project |
| Connection   |                                                                               |            |
| Timeout      | The maximum amount of time the client will await a response.                  | 3000       |

Example Payload for <!-- -->Search Projects[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/searchProjects.json "Download example payload")

Loading…

***

### Search Users[​](#searchusers "Direct link to Search Users")

Search for a specific user by a string of text. | **key: searchUsers**

| Input        | Notes                                                                         | Example            |
| ------------ | ----------------------------------------------------------------------------- | ------------------ |
| Pagination   | Page size and page number controls for paginated results.                     |                    |
| Search Field | The field to search. Dates should follow the ISO format: 2016-05-04T21:24:49Z | Name               |
| Search       | The text value to search on.                                                  | john.doe\@test.com |
| Connection   |                                                                               |                    |
| Timeout      | The maximum amount of time the client will await a response.                  | 3000               |

Example Payload for <!-- -->Search Users[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/searchUsers.json "Download example payload")

Loading…

***

### Search Workbooks[​](#searchworkbooks "Direct link to Search Workbooks")

Search for a specific workbook by a string of text. | **key: searchWorkbooks**

| Input           | Notes                                                        | Example                  |
| --------------- | ------------------------------------------------------------ | ------------------------ |
| Filter Operator | The operator to use when searching.                          | eq                       |
| Pagination      | Page size and page number controls for paginated results.    |                          |
| Search Field    | The field to search.                                         | Tags                     |
| Search          | The text value to search on.                                 | Tag 1, Tag 2, My 3rd Tag |
| Connection      |                                                              |                          |
| Timeout         | The maximum amount of time the client will await a response. | 3000                     |

Example Payload for <!-- -->Search Workbooks[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/searchWorkbooks.json "Download example payload")

Loading…

***

### Test Webhook[​](#testwebhook "Direct link to Test Webhook")

Test the specified webhook by sending an empty payload to its configured destination URL and returning the server response. | **key: testWebhook**

| Input       | Notes                                                        | Example                              |
| ----------- | ------------------------------------------------------------ | ------------------------------------ |
| API Version | The version of the Tableau API to use.                       | 3.6                                  |
| Connection  |                                                              |                                      |
| Timeout     | The maximum amount of time the client will await a response. | 3000                                 |
| Webhook ID  | The unique identifier for the webhook.                       | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |

Example Payload for <!-- -->Test Webhook[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/testWebhook.json "Download example payload")

Loading…

***

### Update Connection[​](#updateconnection "Direct link to Update Connection")

Update the information and metadata of an existing connection by ID. | **key: updateConnection**

| Input               | Notes                                                               | Example                              |
| ------------------- | ------------------------------------------------------------------- | ------------------------------------ |
| Connection ID       | The unique identifier for the connection.                           | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |
| Connection Settings | Server address, credentials, and query behavior for the connection. |                                      |
| Connection          |                                                                     |                                      |
| Timeout             | The maximum amount of time the client will await a response.        | 3000                                 |
| Workbook ID         | The unique identifier for the workbook.                             | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |

Example Payload for <!-- -->Update Connection[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/updateConnection.json "Download example payload")

Loading…

***

### Update Project[​](#updateproject "Direct link to Update Project")

Update the contents and metadata of an existing project by ID. | **key: updateProject**

| Input               | Notes                                                                                                                      | Example                              |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| Content Permissions | Controls user permissions in a project. A nested project inherits the parent's permissions and this setting has no effect. | ManagedByOwner                       |
| Description         | A description of the project.                                                                                              | This is an example description       |
| Parent Project ID   | The unique identifier for the parent project.                                                                              | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |
| Project ID          | The unique identifier for the project.                                                                                     | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |
| Project Name        | The display name shown for the project in Tableau.                                                                         | MyProject                            |
| Connection          |                                                                                                                            |                                      |
| Timeout             | The maximum amount of time the client will await a response.                                                               | 3000                                 |

Example Payload for <!-- -->Update Project[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/updateProject.json "Download example payload")

Loading…

***

### Update User[​](#updateuser "Direct link to Update User")

Update the information and metadata of an existing user. | **key: updateUser**

| Input        | Notes                                                                         | Example                              |
| ------------ | ----------------------------------------------------------------------------- | ------------------------------------ |
| Auth Setting | The authentication method used to sign the user in.                           | ServerDefault                        |
| Site Role    | The role assigned to the user on the site.                                    | Explorer                             |
| Connection   |                                                                               |                                      |
| Timeout      | The maximum amount of time the client will await a response.                  | 3000                                 |
| User ID      | The unique identifier for the user.                                           | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |
| Username     | The username of the user. For Tableau Online, this value is an email address. | someone\@example.com                 |

Example Payload for <!-- -->Update User[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/updateUser.json "Download example payload")

Loading…

***

### Update Webhook[​](#updatewebhook "Direct link to Update Webhook")

Update the properties of an existing webhook. | **key: updateWebhook**

| Input                  | Notes                                                                                                 | Example                              |
| ---------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------ |
| API Version            | The version of the Tableau API to use.                                                                | 3.6                                  |
| API Event Name         | The name of the Tableau event that triggers the webhook.                                              |                                      |
| Connection             |                                                                                                       |                                      |
| Timeout                | The maximum amount of time the client will await a response.                                          | 3000                                 |
| Webhook Disable Reason | The reason a webhook is disabled.                                                                     | Endpoint no longer reachable         |
| Webhook Enabled        | When true, the newly created webhook is enabled. When false, the webhook is disabled.                 | true                                 |
| Webhook ID             | The unique identifier for the webhook.                                                                | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |
| Webhook Name           | A descriptive label to identify the webhook in Tableau.                                               | My Webhook                           |
| Webhook URL            | The destination URL for the webhook. The destination URL must use HTTPS and have a valid certificate. | https\://example.com/webhook         |

Example Payload for <!-- -->Update Webhook[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/updateWebhook.json "Download example payload")

Loading…

***

### Update Workbook[​](#updateworkbook "Direct link to Update Workbook")

Update the information and metadata of an existing workbook by ID. | **key: updateWorkbook**

| Input         | Notes                                                        | Example                              |
| ------------- | ------------------------------------------------------------ | ------------------------------------ |
| Project ID    | The unique identifier for the project.                       | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |
| Show Tabs     | When true, the updated workbook shows views in tabs.         | false                                |
| Connection    |                                                              |                                      |
| Timeout       | The maximum amount of time the client will await a response. | 3000                                 |
| User ID       | The unique identifier for the user.                          | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |
| Workbook ID   | The unique identifier for the workbook.                      | f12a9855-1059-4cd7-9e6a-a4ba5089e374 |
| Workbook Name | The display name shown for the workbook in Tableau.          | My Workbook                          |

Example Payload for <!-- -->Update Workbook[⤓](https://prismatic.io/docs/example-payloads/tableau/actions/updateWorkbook.json "Download example payload")

Loading…

***

## Changelog[​](#changelog "Direct link to Changelog")

### 2026-07-21[​](#2026-07-21 "Direct link to 2026-07-21")

Restructured action inputs into structured objects for an improved user experience.

* The **List/Search** actions for **Users**, **Projects**, **Workbooks**, and **Connections**, plus **List Webhooks**, group their **Page Size** and **Page Number** inputs into **Pagination**
* **Publish Workbook** groups its **Upload Session ID**, **Workbook Type**, **Overwrite**, **As Job**, and **Skip Connection Check** inputs into **Publish Options**
* **Update Connection** groups its **Server Address**, **Server Port**, **Connection Username**, **Connection Password**, **Embed Password**, and **Query Tagging Enabled** inputs into **Connection Settings**

### 2026-06-29[​](#2026-06-29 "Direct link to 2026-06-29")

Various modernizations and documentation updates

### 2026-06-04[​](#2026-06-04 "Direct link to 2026-06-04")

Added the **New and Updated Records** polling trigger that monitors workbooks, views, and data sources for records created or updated since the last poll, routing newly created records to the created branch and modified records to the updated branch

### 2026-04-30[​](#2026-04-30 "Direct link to 2026-04-30")

Updated spectral version

### 2026-04-07[​](#2026-04-07 "Direct link to 2026-04-07")

Added trigger documentation

### 2026-03-31[​](#2026-03-31 "Direct link to 2026-03-31")

Various modernizations and documentation updates

### 2026-03-13[​](#2026-03-13 "Direct link to 2026-03-13")

Removed the **Debug Request** input from all action inputs. Debug logging is now controlled internally and no longer appears as a configurable field in actions.

### 2026-03-05[​](#2026-03-05 "Direct link to 2026-03-05")

Added inline data source for connections to enable dynamic dropdown selection

### 2026-02-26[​](#2026-02-26 "Direct link to 2026-02-26")

Added inline data sources for projects, workbooks, users, and webhooks to enable dynamic dropdown selection
