Skip to content
Scalekit Docs
Talk to an EngineerDashboard

Tableau connector

API KeyAnalyticsProductivity

Connect to Tableau Cloud or Tableau Server to browse workbooks, views, and data sources, export visualizations, and query underlying data.

Tableau connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your Tableau credentials with Scalekit so it can authenticate requests on your behalf. You do this once per environment.

    Dashboard setup steps

    Connect your Tableau Cloud or Tableau Server site to Scalekit so your agent can browse workbooks, query views, export dashboards, and manage users.

    Scalekit handles session token management automatically. You store your Personal Access Token (PAT) credentials once, and Scalekit signs in and refreshes the session token before it expires — your code never calls the sign-in endpoint directly.

    1. Create a Personal Access Token in Tableau

      A Personal Access Token (PAT) is used by Scalekit to sign in on your behalf and keep the session alive automatically.

      • Sign in to your Tableau site.
      • Click your avatar in the top-right corner → My Account Settings.
      • Scroll to the Personal Access Tokens section.
      • Click + Create new token, give it a name (e.g., scalekit-agent), and click Create.
      • Copy both the Token Name and Token Secret — the secret is shown only once.

    2. Create a connection in Scalekit

      • In Scalekit dashboard, go to Agent AuthCreate Connection.
      • Search for Tableau and click Create.
      • Note the Connection name — use this as connection_name in your code (e.g., tableau).
      • Click Save.

    3. Add a connected account

      A connected account links a user in your system to their Tableau PAT credentials. Scalekit uses these to sign in and refresh the session automatically.

      Via dashboard (for testing)

      • Open the connection → Connected Accounts tab → Add account.
      • Fill in:
        • Your User’s ID — any identifier for this user (e.g., user_123)
        • Server Domain — your Tableau hostname without https:// (e.g., prod-in-a.online.tableau.com)
        • PAT Name — the token name from step 1
        • PAT Secret — the token secret from step 1
        • Site Content URL — the site identifier from your Tableau URL (leave blank for the Default site)
      • Click Save.

      Via API (for production)

      await scalekit.actions.upsertConnectedAccount({
      connectionName: 'tableau',
      identifier: 'user_123',
      credentials: {
      domain: 'prod-in-a.online.tableau.com',
      pat_name: 'scalekit-agent',
      pat_secret: process.env.TABLEAU_PAT_SECRET,
      site_content_url: 'mycompany-1234567', // omit for Default site
      },
      });
  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'tableau'
    const identifier = 'user_123'
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'tableau_datasources_list',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Update workbook, user, schedule — Update a Tableau workbook’s name, description, owner, project (move it), tab visibility, or certification status
  • List workbook permissions, sites, schedules — Retrieve the capability grants (permissions) defined for a specific Tableau workbook, showing which users and groups can view, edit, or manage it
  • Add workbook permissions, project permissions — Grant a user or group specific capabilities (permissions) on a Tableau workbook, such as Read, Write, or ExportData
  • Delete workbook permission, schedule, workbook — Revoke a single capability grant for a user or group on a Tableau workbook
  • Get view pdf, view image, view data — Render a Tableau view as a PDF document
  • Create schedule, project, group — Create a new server schedule for running extract refreshes, subscriptions, or flow tasks on a recurring basis

The site ID (site LUID) is resolved automatically from the connected account after sign-in. You do not pass site_id to tool calls. For proxy API calls that require a site ID in the URL path, call tableau_session_get once to retrieve it.

Proxy API call

Use the Scalekit proxy to call any Tableau REST API endpoint directly. Binary downloads (PNG, PDF, Excel, .twbx, .tdsx) must use the proxy — use tableau_session_get to retrieve the site ID for the URL path:

// Get site ID once (needed for proxy URL construction)
const session = await actions.executeTool({
toolName: 'tableau_session_get',
connector: 'tableau',
identifier: 'user_123',
toolInput: {},
});
const siteId = session.session.site.id;
// Export a view as PNG
const imageBytes = await actions.request({
connectionName: 'tableau',
identifier: 'user_123',
path: `/api/3.28/sites/${siteId}/views/${viewId}/image`,
method: 'GET',
queryParams: { resolution: 'high' },
});
// Export a view as PDF
const pdfBytes = await actions.request({
connectionName: 'tableau',
identifier: 'user_123',
path: `/api/3.28/sites/${siteId}/views/${viewId}/pdf`,
method: 'GET',
queryParams: { type: 'a4', orientation: 'landscape' },
});
// Download a workbook (.twbx)
const workbookBytes = await actions.request({
connectionName: 'tableau',
identifier: 'user_123',
path: `/api/3.28/sites/${siteId}/workbooks/${workbookId}/content`,
method: 'GET',
});
// Download a data source (.tdsx)
const datasourceBytes = await actions.request({
connectionName: 'tableau',
identifier: 'user_123',
path: `/api/3.28/sites/${siteId}/datasources/${datasourceId}/content`,
method: 'GET',
});
Browse workbooks and views
// List all workbooks on the site
const workbooks = await actions.executeTool({
toolName: 'tableau_workbooks_list',
connector: 'tableau',
identifier: 'user_123',
toolInput: {},
});
// workbooks.workbooks.workbook[] — each has id, name, contentUrl, project
// Search for a workbook by name
const found = await actions.executeTool({
toolName: 'tableau_workbook_search',
connector: 'tableau',
identifier: 'user_123',
toolInput: { name: 'SalesReport' },
});
// List all views within a workbook
const workbookId = workbooks.workbooks.workbook[0].id;
const views = await actions.executeTool({
toolName: 'tableau_workbook_views_list',
connector: 'tableau',
identifier: 'user_123',
toolInput: { workbook_id: workbookId },
});
// views.views.view[] — each has id, name, contentUrl
Sign out

Call tableau_auth_signout to invalidate the session token when the agent session ends:

await actions.executeTool({
toolName: 'tableau_auth_signout',
connector: 'tableau',
identifier: 'user_123',
toolInput: {},
});
// The stored session token is now invalid — Scalekit will refresh on next call

Most Tableau tools require one or more resource LUIDs. The site ID is resolved automatically by Scalekit after sign-in — you do not pass it to tool calls. Always fetch other IDs from the API — never guess or hard-code them.

ResourceTool to get IDField in response
Workbook IDtableau_workbooks_list or tableau_workbook_searchworkbooks.workbook[].id
View IDtableau_views_list or tableau_workbook_views_listviews.view[].id
Data Source IDtableau_datasources_listdatasources.datasource[].id
Project IDtableau_projects_listprojects.project[].id
User IDtableau_users_listusers.user[].id
Group IDtableau_groups_listgroups.group[].id
Job IDtableau_job_get (from background job operations)job.id
Site ID (proxy only)tableau_session_getsession.site.id

Recommended start sequence for any agent session:

1. tableau_workbooks_list → discover workbooks
2. tableau_workbook_views_list → discover views within a workbook
3. tableau_datasources_list → discover data sources

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

tableau_auth_signout#Sign out of Tableau Server or Tableau Cloud, invalidating the current authentication token.0 params

Sign out of Tableau Server or Tableau Cloud, invalidating the current authentication token.

tableau_datasource_delete#Delete a published data source from a Tableau site. This action is permanent and also removes the associated data connection.1 param

Delete a published data source from a Tableau site. This action is permanent and also removes the associated data connection.

NameTypeRequiredDescription
datasource_idstringrequiredThe LUID of the data source to delete
tableau_datasource_get#Retrieve detailed information about a specific Tableau data source by its ID, including metadata, connections, project, and owner.1 param

Retrieve detailed information about a specific Tableau data source by its ID, including metadata, connections, project, and owner.

NameTypeRequiredDescription
datasource_idstringrequiredThe LUID of the data source to retrieve
tableau_datasource_permissions_list#Retrieve the capability grants (permissions) defined for a specific Tableau data source, showing which users and groups can view, edit, or manage it.1 param

Retrieve the capability grants (permissions) defined for a specific Tableau data source, showing which users and groups can view, edit, or manage it.

NameTypeRequiredDescription
datasource_idstringrequiredThe LUID of the data source to list permissions for
tableau_datasource_update#Update a Tableau published data source's name, owner, project (move it), or certification status. Only the fields you provide are changed.6 params

Update a Tableau published data source's name, owner, project (move it), or certification status. Only the fields you provide are changed.

NameTypeRequiredDescription
datasource_idstringrequiredThe LUID of the data source to update
certification_notestringoptionalNote explaining the certification status, shown to users
is_certifiedbooleanoptionalWhether the data source is marked as certified
namestringoptionalNew name for the data source
new_owner_idstringoptionalLUID of the user to set as the new owner
new_project_idstringoptionalLUID of the project to move the data source into
tableau_datasources_list#Retrieve a filtered, sorted list of published data sources on a Tableau site. Supports pagination and filtering by name, type, project, and owner.4 params

Retrieve a filtered, sorted list of published data sources on a Tableau site. Supports pagination and filtering by name, type, project, and owner.

NameTypeRequiredDescription
filterstringoptionalFilter expression to narrow results, e.g. name:eq:SalesData
page_numberintegeroptionalPage number for pagination (1-based)
page_sizeintegeroptionalNumber of data sources to return per page (max 1000)
sortstringoptionalSort expression, e.g. name:asc or updatedAt:desc
tableau_extract_refresh_task_run#Trigger a scheduled extract refresh task to run immediately instead of waiting for its next scheduled time. Returns the asynchronous job created to perform the refresh.1 param

Trigger a scheduled extract refresh task to run immediately instead of waiting for its next scheduled time. Returns the asynchronous job created to perform the refresh.

NameTypeRequiredDescription
task_idstringrequiredThe LUID of the extract refresh task to run now
tableau_extract_refresh_tasks_list#List the scheduled extract refresh tasks on a Tableau site, including their schedule and the workbook or data source each task refreshes. Use tableau_extract_refresh_task_run to trigger one immediately.4 params

List the scheduled extract refresh tasks on a Tableau site, including their schedule and the workbook or data source each task refreshes. Use tableau_extract_refresh_task_run to trigger one immediately.

NameTypeRequiredDescription
filterstringoptionalFilter expression to narrow results, e.g. type:eq:RefreshExtractTask
page_numberintegeroptionalPage number for pagination (1-based)
page_sizeintegeroptionalNumber of tasks to return per page (max 1000)
sortstringoptionalSort expression, e.g. priority:asc
tableau_group_add_user#Add an existing Tableau site user to a group. The user must already be a member of the site before being added to a group.2 params

Add an existing Tableau site user to a group. The user must already be a member of the site before being added to a group.

NameTypeRequiredDescription
group_idstringrequiredThe LUID of the group to add the user to
user_idstringrequiredThe LUID of the user to add to the group
tableau_group_create#Create a new local group on a Tableau site. Groups simplify permission management by allowing you to assign permissions to multiple users simultaneously.2 params

Create a new local group on a Tableau site. Groups simplify permission management by allowing you to assign permissions to multiple users simultaneously.

NameTypeRequiredDescription
namestringrequiredName of the group to create
minimum_site_rolestringoptionalMinimum site role for users added to this group
tableau_group_remove_user#Remove a user from a Tableau site group. The user remains a member of the site but loses any permissions inherited from this group.2 params

Remove a user from a Tableau site group. The user remains a member of the site but loses any permissions inherited from this group.

NameTypeRequiredDescription
group_idstringrequiredThe LUID of the group to remove the user from
user_idstringrequiredThe LUID of the user to remove from the group
tableau_groups_list#Retrieve a filtered, sorted list of groups on a Tableau site. Groups are used to manage permissions for multiple users at once.4 params

Retrieve a filtered, sorted list of groups on a Tableau site. Groups are used to manage permissions for multiple users at once.

NameTypeRequiredDescription
filterstringoptionalFilter expression to narrow results, e.g. name:eq:Sales
page_numberintegeroptionalPage number for pagination (1-based)
page_sizeintegeroptionalNumber of groups to return per page (max 1000)
sortstringoptionalSort expression, e.g. name:asc
tableau_job_cancel#Cancel an asynchronous Tableau job that is currently queued or in progress, such as an extract refresh or flow run.1 param

Cancel an asynchronous Tableau job that is currently queued or in progress, such as an extract refresh or flow run.

NameTypeRequiredDescription
job_idstringrequiredThe LUID of the job to cancel
tableau_job_get#Retrieve the status and details of an asynchronous Tableau job, such as an extract refresh, workbook publish, or flow run. Use this to monitor long-running operations.1 param

Retrieve the status and details of an asynchronous Tableau job, such as an extract refresh, workbook publish, or flow run. Use this to monitor long-running operations.

NameTypeRequiredDescription
job_idstringrequiredThe LUID of the job to retrieve
tableau_jobs_list#Retrieve a filtered, sorted list of asynchronous jobs on a Tableau site. Jobs include extract refreshes, workbook publishes, data-driven alerts, and flow runs.4 params

Retrieve a filtered, sorted list of asynchronous jobs on a Tableau site. Jobs include extract refreshes, workbook publishes, data-driven alerts, and flow runs.

NameTypeRequiredDescription
filterstringoptionalFilter expression to narrow results, e.g. status:eq:InProgress
page_numberintegeroptionalPage number for pagination (1-based)
page_sizeintegeroptionalNumber of jobs to return per page (max 1000)
sortstringoptionalSort expression, e.g. createdAt:desc
tableau_list_views#List views (individual sheets and dashboards) within a specific workbook, or all views across an entire Tableau site. Supports filtering by name or owner and pagination.5 params

List views (individual sheets and dashboards) within a specific workbook, or all views across an entire Tableau site. Supports filtering by name or owner and pagination.

NameTypeRequiredDescription
workbook_idstringrequiredThe LUID of the workbook to list views from. If omitted, lists all views on the site.
filterstringoptionalFilter expression using Tableau REST API filter syntax (e.g., name:eq:Sales Dashboard)
include_usage_statisticsbooleanoptionalInclude view usage statistics (total views count) in the response
page_numberintegeroptionalPage number to retrieve (1-based)
page_sizeintegeroptionalNumber of views to return per page (max 1000)
tableau_project_create#Create a new project on a Tableau site to organize workbooks, data sources, and flows. Optionally specify a parent project to create a nested project hierarchy.4 params

Create a new project on a Tableau site to organize workbooks, data sources, and flows. Optionally specify a parent project to create a nested project hierarchy.

NameTypeRequiredDescription
namestringrequiredName of the project to create
content_permissionsstringoptionalContent permission mode: ManagedByOwner or LockedToProject
descriptionstringoptionalDescription of the project
parent_project_idstringoptionalLUID of the parent project to create a nested project
tableau_project_delete#Delete a project from a Tableau site. This action is permanent. Content within the project may be moved to the Default project or deleted depending on server settings.1 param

Delete a project from a Tableau site. This action is permanent. Content within the project may be moved to the Default project or deleted depending on server settings.

NameTypeRequiredDescription
project_idstringrequiredThe LUID of the project to delete
tableau_project_permissions_add#Grant a user or group specific capabilities (permissions) on a Tableau project, such as Read, Write, or ProjectLeader. Capabilities are additive to any existing grants for that grantee.4 params

Grant a user or group specific capabilities (permissions) on a Tableau project, such as Read, Write, or ProjectLeader. Capabilities are additive to any existing grants for that grantee.

NameTypeRequiredDescription
capabilitiesarrayrequiredJSON array of capability grants to apply. Each item has a 'name' (e.g. Read, Write, ProjectLeader) and a 'mode' of Allow or Deny.
grantee_idstringrequiredThe LUID of the user or group to grant capabilities to
grantee_typestringrequiredWhether the grantee is a user or a group
project_idstringrequiredThe LUID of the project to grant permissions on
tableau_project_permissions_list#Retrieve the capability grants (permissions) defined for a specific Tableau project, showing which users and groups can view, publish to, or manage its contents.1 param

Retrieve the capability grants (permissions) defined for a specific Tableau project, showing which users and groups can view, publish to, or manage its contents.

NameTypeRequiredDescription
project_idstringrequiredThe LUID of the project to list permissions for
tableau_project_update#Update an existing project on a Tableau site. You can rename the project, change its description, content permissions, or move it to a different parent project.5 params

Update an existing project on a Tableau site. You can rename the project, change its description, content permissions, or move it to a different parent project.

NameTypeRequiredDescription
project_idstringrequiredThe LUID of the project to update
content_permissionsstringoptionalContent permission mode: ManagedByOwner or LockedToProject
descriptionstringoptionalNew description for the project
namestringoptionalNew name for the project
parent_project_idstringoptionalLUID of the parent project (set to move this project under a different parent)
tableau_projects_list#Retrieve a filtered, sorted list of projects on a Tableau site. Projects are used to organize workbooks, views, and data sources.4 params

Retrieve a filtered, sorted list of projects on a Tableau site. Projects are used to organize workbooks, views, and data sources.

NameTypeRequiredDescription
filterstringoptionalFilter expression to narrow results, e.g. name:eq:Marketing
page_numberintegeroptionalPage number for pagination (1-based)
page_sizeintegeroptionalNumber of projects to return per page (max 1000)
sortstringoptionalSort expression, e.g. name:asc
tableau_query_view#Run a structured query against a published Tableau data source using the VizQL Data Service API. Supports selecting fields, applying filters, sorting, and limiting rows. Returns JSON data. Available on Tableau Cloud and Tableau Server 2023.1+.5 params

Run a structured query against a published Tableau data source using the VizQL Data Service API. Supports selecting fields, applying filters, sorting, and limiting rows. Returns JSON data. Available on Tableau Cloud and Tableau Server 2023.1+.

NameTypeRequiredDescription
datasource_luidstringrequiredThe LUID of the published data source to query
fieldsstringrequiredJSON array of field objects to select, each with a fieldCaption property
filtersstringoptionalJSON array of filter conditions to apply to the query
max_rowsintegeroptionalMaximum number of rows to return from the query
sortstringoptionalJSON array of sort criteria applied to query results
tableau_schedule_create#Create a new server schedule for running extract refreshes, subscriptions, or flow tasks on a recurring basis. Requires server administrator privileges.6 params

Create a new server schedule for running extract refreshes, subscriptions, or flow tasks on a recurring basis. Requires server administrator privileges.

NameTypeRequiredDescription
frequencystringrequiredHow often the schedule runs
frequency_detailsobjectrequiredJSON object describing the recurrence details for the chosen frequency, matching Tableau's frequencyDetails shape. Example for Daily: {"start": "23:00:00"}. Example for Hourly: {"start": "07:00:00", "end": "23:00:00", "intervals": {"interval": [{"hours": "4"}]}}. Example for Weekly: {"start": "23:00:00", "intervals": {"interval": [{"weekDay": "Monday"}]}}.
namestringrequiredName of the schedule to create
execution_orderstringoptionalWhether tasks on this schedule run in parallel or one after another
priorityintegeroptionalPriority of the schedule relative to others (1-100). Lower numbers run first when resources are constrained.
schedule_typestringoptionalType of tasks this schedule can run
tableau_schedule_delete#Permanently delete a server schedule. Any extract refresh, subscription, or flow tasks tied to this schedule are removed. This action is irreversible and requires server administrator privileges.1 param

Permanently delete a server schedule. Any extract refresh, subscription, or flow tasks tied to this schedule are removed. This action is irreversible and requires server administrator privileges.

NameTypeRequiredDescription
schedule_idstringrequiredThe ID of the schedule to delete
tableau_schedule_update#Update an existing server schedule's name, priority, execution order, state, or recurrence details. Only the fields you provide are changed. Requires server administrator privileges.7 params

Update an existing server schedule's name, priority, execution order, state, or recurrence details. Only the fields you provide are changed. Requires server administrator privileges.

NameTypeRequiredDescription
schedule_idstringrequiredThe ID of the schedule to update
execution_orderstringoptionalWhether tasks on this schedule run in parallel or one after another
frequencystringoptionalHow often the schedule runs
frequency_detailsobjectoptionalJSON object describing the recurrence details for the chosen frequency, matching Tableau's frequencyDetails shape. Example: {"start": "23:00:00"}.
namestringoptionalNew name for the schedule
priorityintegeroptionalNew priority for the schedule relative to others (1-100)
statestringoptionalWhether the schedule is active or suspended
tableau_schedules_list#Retrieve a list of server schedules used to run extract refreshes, subscriptions, and flow tasks on a recurring basis. Requires server administrator privileges.2 params

Retrieve a list of server schedules used to run extract refreshes, subscriptions, and flow tasks on a recurring basis. Requires server administrator privileges.

NameTypeRequiredDescription
page_numberintegeroptionalPage number for pagination (1-based)
page_sizeintegeroptionalNumber of schedules to return per page (max 1000)
tableau_session_get#Returns information about the current authenticated session, including the site LUID, site name, and authenticated user details. Call this after tableau_auth_signin to retrieve the site_id needed for the connected account configuration.0 params

Returns information about the current authenticated session, including the site LUID, site name, and authenticated user details. Call this after tableau_auth_signin to retrieve the site_id needed for the connected account configuration.

tableau_site_get#Retrieve information about a specific Tableau site, including its name, content URL, status, storage quota, and user quota settings.1 param

Retrieve information about a specific Tableau site, including its name, content URL, status, storage quota, and user quota settings.

NameTypeRequiredDescription
include_usage_statisticsbooleanoptionalIf true, include view count and storage usage statistics
tableau_sites_list#Retrieve a list of all sites on a Tableau Server or Tableau Cloud pod. Requires server administrator privileges. Supports pagination and filtering.3 params

Retrieve a list of all sites on a Tableau Server or Tableau Cloud pod. Requires server administrator privileges. Supports pagination and filtering.

NameTypeRequiredDescription
filterstringoptionalFilter expression to narrow results, e.g. name:eq:Marketing
page_numberintegeroptionalPage number for pagination (1-based)
page_sizeintegeroptionalNumber of sites to return per page (max 1000)
tableau_user_add_to_site#Add a user to a Tableau site with a specified site role. If the user does not exist in the server, a new user account will be created.3 params

Add a user to a Tableau site with a specified site role. If the user does not exist in the server, a new user account will be created.

NameTypeRequiredDescription
namestringrequiredUsername of the user to add (e.g. john.doe or john.doe@example.com)
site_rolestringrequiredThe role to assign to the user on the site
auth_settingstringoptionalAuthentication type for the user, e.g. SAML or ServerDefault
tableau_user_get#Retrieve information about a specific user on a Tableau site, including their name, email, site role, and authentication settings.1 param

Retrieve information about a specific user on a Tableau site, including their name, email, site role, and authentication settings.

NameTypeRequiredDescription
user_idstringrequiredThe LUID of the user to retrieve
tableau_user_remove_from_site#Remove a user from a Tableau site. The user's content (workbooks, data sources) is reassigned to the site administrator.1 param

Remove a user from a Tableau site. The user's content (workbooks, data sources) is reassigned to the site administrator.

NameTypeRequiredDescription
user_idstringrequiredThe LUID of the user to remove from the site
tableau_user_update#Update a Tableau user's site role, full name, email, or authentication setting. Only the fields you provide are changed. Requires site or server administrator privileges.4 params

Update a Tableau user's site role, full name, email, or authentication setting. Only the fields you provide are changed. Requires site or server administrator privileges.

NameTypeRequiredDescription
user_idstringrequiredThe LUID of the user to update
emailstringoptionalNew email address for the user
full_namestringoptionalNew full name for the user
site_rolestringoptionalNew site role controlling the user's permission level on the site
tableau_users_list#Retrieve a filtered, sorted list of users added to a Tableau site. Supports pagination and filtering by name, site role, and other attributes.4 params

Retrieve a filtered, sorted list of users added to a Tableau site. Supports pagination and filtering by name, site role, and other attributes.

NameTypeRequiredDescription
filterstringoptionalFilter expression to narrow results, e.g. name:eq:john.doe
page_numberintegeroptionalPage number for pagination (1-based)
page_sizeintegeroptionalNumber of users to return per page (max 1000)
sortstringoptionalSort expression, e.g. name:asc
tableau_view_data_get#Retrieve the underlying summary data of a Tableau view as CSV, exactly as rendered by the view's current fields and filters. For flexible field selection and filtering against a published data source directly, use tableau_query_view instead.2 params

Retrieve the underlying summary data of a Tableau view as CSV, exactly as rendered by the view's current fields and filters. For flexible field selection and filtering against a published data source directly, use tableau_query_view instead.

NameTypeRequiredDescription
view_idstringrequiredThe LUID of the view to retrieve underlying data for
max_ageintegeroptionalMaximum age in minutes of cached data to accept before forcing a refresh. Minimum 1.
tableau_view_get#Retrieve detailed information about a specific Tableau view by its ID, including name, content URL, owner, workbook, project, and optional usage statistics.2 params

Retrieve detailed information about a specific Tableau view by its ID, including name, content URL, owner, workbook, project, and optional usage statistics.

NameTypeRequiredDescription
view_idstringrequiredThe LUID of the view to retrieve
include_usage_statisticsbooleanoptionalIf true, include view count and high-water-mark usage statistics
tableau_view_image_get#Render a Tableau view as an image (PNG or SVG). No existing tool can produce a visual snapshot of a view.4 params

Render a Tableau view as an image (PNG or SVG). No existing tool can produce a visual snapshot of a view.

NameTypeRequiredDescription
view_idstringrequiredThe LUID of the view to render as an image
formatstringoptionalImage format to render. 'svg' requires API version 3.29+.
max_ageintegeroptionalMaximum age in minutes of a cached image to accept before forcing a refresh. Minimum 1.
resolutionstringoptionalPixel density of the rendered image. Set to 'high' for a higher-resolution image.
tableau_view_pdf_get#Render a Tableau view as a PDF document. No existing tool can produce a print-ready export of a view.6 params

Render a Tableau view as a PDF document. No existing tool can produce a print-ready export of a view.

NameTypeRequiredDescription
view_idstringrequiredThe LUID of the view to render as a PDF
max_ageintegeroptionalMaximum age in minutes of a cached render to accept before forcing a refresh. Minimum 1.
orientationstringoptionalPage orientation for the PDF.
typestringoptionalPage size for the PDF.
viz_heightintegeroptionalHeight in pixels used to render the view before converting to PDF.
viz_widthintegeroptionalWidth in pixels used to render the view before converting to PDF.
tableau_views_list#Retrieve a filtered, sorted list of all views on a Tableau site. Supports pagination, filtering by name or owner, and sorting.5 params

Retrieve a filtered, sorted list of all views on a Tableau site. Supports pagination, filtering by name or owner, and sorting.

NameTypeRequiredDescription
filterstringoptionalFilter expression to narrow results, e.g. name:eq:SalesView
include_usage_statisticsbooleanoptionalIf true, include view count and high-water-mark usage statistics
page_numberintegeroptionalPage number for pagination (1-based)
page_sizeintegeroptionalNumber of views to return per page (max 1000)
sortstringoptionalSort expression, e.g. name:asc or viewCount:desc
tableau_workbook_connections_list#Returns the data connections for a published workbook, including connection type, server address, port, username, and whether embedded credentials are used.1 param

Returns the data connections for a published workbook, including connection type, server address, port, username, and whether embedded credentials are used.

NameTypeRequiredDescription
workbook_idstringrequiredThe LUID of the workbook whose connections to list
tableau_workbook_delete#Delete a workbook from a Tableau site. This action is permanent and also removes all views and associated data connections.1 param

Delete a workbook from a Tableau site. This action is permanent and also removes all views and associated data connections.

NameTypeRequiredDescription
workbook_idstringrequiredThe LUID of the workbook to delete
tableau_workbook_get#Retrieve detailed information about a specific Tableau workbook by its ID, including metadata, project, owner, tags, and optional usage statistics.2 params

Retrieve detailed information about a specific Tableau workbook by its ID, including metadata, project, owner, tags, and optional usage statistics.

NameTypeRequiredDescription
workbook_idstringrequiredThe LUID of the workbook to retrieve
include_usage_statisticsbooleanoptionalIf true, include view and high-water-mark usage statistics in the response
tableau_workbook_permission_delete#Revoke a single capability grant for a user or group on a Tableau workbook. Requires the grantee type, grantee ID, capability name, and its mode as currently granted.5 params

Revoke a single capability grant for a user or group on a Tableau workbook. Requires the grantee type, grantee ID, capability name, and its mode as currently granted.

NameTypeRequiredDescription
capability_modestringrequiredThe mode of the capability grant to revoke, as currently set (Allow or Deny)
capability_namestringrequiredThe name of the capability to revoke, e.g. Read, Write, ExportData
grantee_idstringrequiredThe LUID of the user or group whose capability is being revoked
grantee_typestringrequiredWhether the grantee is a user or a group
workbook_idstringrequiredThe LUID of the workbook to revoke the permission from
tableau_workbook_permissions_add#Grant a user or group specific capabilities (permissions) on a Tableau workbook, such as Read, Write, or ExportData. Capabilities are additive to any existing grants for that grantee.4 params

Grant a user or group specific capabilities (permissions) on a Tableau workbook, such as Read, Write, or ExportData. Capabilities are additive to any existing grants for that grantee.

NameTypeRequiredDescription
capabilitiesarrayrequiredJSON array of capability grants to apply. Each item has a 'name' (e.g. Read, Write, Delete, ExportData, ChangePermissions, ExportXml, ViewComments, AddComment, Filter, ViewUnderlyingData, ShareView, WebAuthoring, RunExplainData) and a 'mode' of Allow or Deny.
grantee_idstringrequiredThe LUID of the user or group to grant capabilities to
grantee_typestringrequiredWhether the grantee is a user or a group
workbook_idstringrequiredThe LUID of the workbook to grant permissions on
tableau_workbook_permissions_list#Retrieve the capability grants (permissions) defined for a specific Tableau workbook, showing which users and groups can view, edit, or manage it.1 param

Retrieve the capability grants (permissions) defined for a specific Tableau workbook, showing which users and groups can view, edit, or manage it.

NameTypeRequiredDescription
workbook_idstringrequiredThe LUID of the workbook to list permissions for
tableau_workbook_update#Update a Tableau workbook's name, description, owner, project (move it), tab visibility, or certification status. Only the fields you provide are changed.6 params

Update a Tableau workbook's name, description, owner, project (move it), tab visibility, or certification status. Only the fields you provide are changed.

NameTypeRequiredDescription
workbook_idstringrequiredThe LUID of the workbook to update
descriptionstringoptionalNew description for the workbook
namestringoptionalNew name for the workbook
new_owner_idstringoptionalLUID of the user to set as the new owner
new_project_idstringoptionalLUID of the project to move the workbook into
show_tabsbooleanoptionalWhether sheet tabs are visible when viewing the workbook
tableau_workbooks_list#Retrieve a filtered, sorted list of workbooks on a specified Tableau site. Supports pagination and filtering by name, owner, project, and more.4 params

Retrieve a filtered, sorted list of workbooks on a specified Tableau site. Supports pagination and filtering by name, owner, project, and more.

NameTypeRequiredDescription
filterstringoptionalFilter expression to narrow results, e.g. name:eq:SalesReport
page_numberintegeroptionalPage number for pagination (1-based)
page_sizeintegeroptionalNumber of workbooks to return per page (max 1000)
sortstringoptionalSort expression, e.g. name:asc or updatedAt:desc