Skip to main content
tableau icon

Tableau Connector

SourceAPI DocsAPI ChangelogConnector Changelog

Description

Tableau 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

This component was built using the Tableau REST API Documentation.

Connections

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.

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

  • 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.

InputNotesExample
Host Name

Provide a string value for the host name of the Tableau server, without the https://

10ay.online.tableau.com
Site ID

The ID of your Tableau site (MarketingTeam part of https://10ay.online.tableau.com/#/site/MarketingTeam/workbooks)

MarketingTeam
Token Secret

Provide a string value for the Tableau Token. This value can be created from your Tableau account.

xxxxxxxxxxxxxxxxxxxxxx==:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Token Name

Provide a string value for the name of the Tableau Token.

My Token

Triggers

New and Updated Records

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

InputNotesExample
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 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

  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

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
{
"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 documentation for the full set of fields available on each record.

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
Loading…

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

InputNotesExample
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 notifications in real time. This trigger automatically manages webhook subscriptions. Unlike manual webhook setups, the entire lifecycle is handled automatically.

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

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

Available Events (7)
EventDescription
UserDeletedA user is deleted from the Tableau site
WorkbookUpdatedA workbook is updated
WorkbookCreatedA new workbook is created
WorkbookDeletedA workbook is deleted
WorkbookRefreshStartedA workbook extract refresh has started
WorkbookRefreshSucceededA workbook extract refresh completed successfully
WorkbookRefreshFailedA workbook extract refresh failed

Refer to the Tableau Webhooks Events and Payloads documentation for the complete and up-to-date list of available events.

Returned Data

Example Payload
{
"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
Loading…

Data Sources

Select Connection

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

InputNotesExample
Connection
Workbook ID

The unique identifier for the workbook.

f12a9855-1059-4cd7-9e6a-a4ba5089e374
Example Payload for Select Connection
Loading…

Select Project

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

InputNotesExample
Connection
Example Payload for Select Project
Loading…

Select User

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

InputNotesExample
Connection
Example Payload for Select User
Loading…

Select Webhook

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

InputNotesExample
API Version

The version of the Tableau API to use.

3.6
Connection
Example Payload for Select Webhook
Loading…

Select Workbook

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

InputNotesExample
Connection
Example Payload for Select Workbook
Loading…

Actions

Create Project

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

InputNotesExample
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 name of the project.

MyProject
Connection
Timeout

The maximum amount of time the client will await a response.

3000
Example Payload for Create Project
Loading…

Create User

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

InputNotesExample
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
Loading…

Create Webhook

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

InputNotesExample
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

If true (default), the newly created webhook is enabled. If false then the webhook will be disabled.

true
Webhook Name

A name for the webhook.

My Webhook
Webhook URL

The destination URL for the webhook. The webhook destination URL must be https and have a valid certificate.

https://example.com/webhook
Example Payload for Create Webhook
Loading…

Delete Project

Delete an existing project by ID. | key: deleteProjects

InputNotesExample
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
Loading…

Delete User

Delete an existing user by ID. | key: deleteUser

InputNotesExample
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
Loading…

Delete Webhook

Delete the specified webhook. | key: deleteWebhook

InputNotesExample
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
Loading…

Delete Workbook

Delete an existing workbook by ID. | key: deleteWorkbook

InputNotesExample
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
Loading…

Get Project

Retrieve an existing project by ID. | key: getProject

InputNotesExample
Project Name

The name of the project.

MyProject
Connection
Timeout

The maximum amount of time the client will await a response.

3000
Example Payload for Get Project
Loading…

Get User

Retrieve an existing user by ID. | key: getUser

InputNotesExample
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
Loading…

Get Webhook

Retrieve information about the specified webhook. | key: getWebhook

InputNotesExample
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
Loading…

Get Workbook

Retrieve an existing workbook by ID. | key: getWorkbook

InputNotesExample
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
Loading…

List Connections

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

InputNotesExample
Page Number

The page offset for the given object's results.

3
Page Size

The maximum number of results to return.

20
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
Loading…

List Projects

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

InputNotesExample
Page Number

The page offset for the given object's results.

3
Page Size

The maximum number of results to return.

20
Connection
Timeout

The maximum amount of time the client will await a response.

3000
Example Payload for List Projects
Loading…

List Users

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

InputNotesExample
Page Number

The page offset for the given object's results.

3
Page Size

The maximum number of results to return.

20
Connection
Timeout

The maximum amount of time the client will await a response.

3000
Example Payload for List Users
Loading…

List Webhooks

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

InputNotesExample
API Version

The version of the Tableau API to use.

3.6
Page Number

The page offset for the given object's results.

3
Page Size

The maximum number of results to return.

20
Connection
Timeout

The maximum amount of time the client will await a response.

3000
Example Payload for List Webhooks
Loading…

List Workbooks

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

InputNotesExample
Page Number

The page offset for the given object's results.

3
Page Size

The maximum number of results to return.

20
Connection
Timeout

The maximum amount of time the client will await a response.

3000
Example Payload for List Workbooks
Loading…

Publish Workbook

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

InputNotesExample
As Job

When false, the workbook publishing process runs synchronously and may time out for very large workbooks. When true, the process runs asynchronously and a job starts to perform the publishing process and return the job ID.

false
Overwrite

True to overwrite a workbook that has the same name, or false to fail if the specified workbook already exists.

false
Skip Connection Check

If true, then the Tableau server will not check if a non-published connection of a workbook is reachable.

false
Connection
Timeout

The maximum amount of time the client will await a response.

3000
Upload Session Id

When committing a file that was uploaded in parts, this value contains the upload session ID generated by a call to Initiate File Upload.

Workbook File Contents

The twbx file to upload as binary data.

Workbook Type

twb or twbx to indicate whether the uploaded file is a workbook file (twb) or a packaged workbook file (twbx).

Workbook XML
<tsRequest>
  <workbook name="workbook-name">
      <project id="project-id"></project>
  </workbook>
</tsRequest>
Example Payload for Publish Workbook
Loading…

Raw Request

Send raw HTTP request to Tableau. | key: rawRequest

InputNotesExample
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.3), 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
Loading…

Search Connections

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

InputNotesExample
Page Number

The page offset for the given object's results.

3
Page Size

The maximum number of results to return.

20
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
Loading…

Search Projects

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

InputNotesExample
Page Number

The page offset for the given object's results.

3
Page Size

The maximum number of results to return.

20
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
Loading…

Search Users

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

InputNotesExample
Page Number

The page offset for the given object's results.

3
Page Size

The maximum number of results to return.

20
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
Loading…

Search Workbooks

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

InputNotesExample
Filter Operator

The operator to use when searching.

eq
Page Number

The page offset for the given object's results.

3
Page Size

The maximum number of results to return.

20
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
Loading…

Test Webhook

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

InputNotesExample
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
Loading…

Update Connection

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

InputNotesExample
Connection ID

The unique identifier for the connection.

f12a9855-1059-4cd7-9e6a-a4ba5089e374
Connection Password

The password used to authenticate the connection.

mySafePassword
Connection Username

The username used to authenticate the connection.

myExampleUsername
Embed Password

When true, embeds the password for the connection.

false
Query Tagging Enabled

When true, associates a server log query event with the Tableau resource that made the query.

false
Server Address

The address of the server to connect to.

192.168.0.1
Server Port

The port of the server to connect to.

8080
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
Loading…

Update Project

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

InputNotesExample
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 name of the project.

MyProject
Connection
Timeout

The maximum amount of time the client will await a response.

3000
Example Payload for Update Project
Loading…

Update User

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

InputNotesExample
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
Loading…

Update Webhook

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

InputNotesExample
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.

This webhook is disabled because of a reason.
Webhook Enabled

If true (default), the newly created webhook is enabled. If false then the webhook will be disabled.

true
Webhook ID

The unique identifier for the webhook.

f12a9855-1059-4cd7-9e6a-a4ba5089e374
Webhook Name

A name for the webhook.

My Webhook
Webhook URL

The destination URL for the webhook. The webhook destination URL must be https and have a valid certificate.

https://example.com/webhook
Example Payload for Update Webhook
Loading…

Update Workbook

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

InputNotesExample
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 name of the workbook.

My Workbook
Example Payload for Update Workbook
Loading…

Changelog

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

Updated spectral version

2026-04-07

Added trigger documentation

2026-03-31

Various modernizations and documentation updates

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

Added inline data source for connections to enable dynamic dropdown selection

2026-02-26

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