analytics
Tableau CLI for AI Agents
Use the Tableau CLI from KosmoKrator to call Tableau tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Tableau CLI Setup
Tableau can be configured headlessly with `kosmokrator integrations:configure tableau`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure tableau --set access_token="$TABLEAU_ACCESS_TOKEN" --set site_id="$TABLEAU_SITE_ID" --enable --read allow --write ask --json
kosmokrator integrations:doctor tableau --json
kosmokrator integrations:status --json Credentials
Authentication type: Bearer token bearer_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
access_token | TABLEAU_ACCESS_TOKEN | Secret secret | yes | Access Token |
site_id | TABLEAU_SITE_ID | Text string | yes | Site ID |
base_url | TABLEAU_BASE_URL | URL url | no | Server URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call tableau.tableau_list_workbooks '{"page_size":1,"page_number":1}' --json kosmo integrations:tableau tableau_list_workbooks '{"page_size":1,"page_number":1}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs tableau --json
kosmo integrations:docs tableau.tableau_list_workbooks --json
kosmo integrations:schema tableau.tableau_list_workbooks --json
kosmo integrations:search "Tableau" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
tableau.tableau_list_workbooks
List workbooks available on the Tableau site. Returns workbook names, IDs, project assignments, and owners. Use the workbook IDs with tableau_get_workbook for full details.
read - Parameters
- page_size, page_number
kosmo integrations:call tableau.tableau_list_workbooks '{"page_size":1,"page_number":1}' --json kosmo integrations:tableau tableau_list_workbooks '{"page_size":1,"page_number":1}' --json tableau.tableau_get_workbook
Get detailed information about a specific Tableau workbook, including its views, connections, and permissions. Requires the workbook LUID.
read - Parameters
- workbook_id
kosmo integrations:call tableau.tableau_get_workbook '{"workbook_id":"example_workbook_id"}' --json kosmo integrations:tableau tableau_get_workbook '{"workbook_id":"example_workbook_id"}' --json tableau.tableau_list_views
List views (dashboards and sheets) available on the Tableau site. Returns view names, IDs, and associated workbooks. Use view IDs with tableau_get_view for full details.
read - Parameters
- page_size, page_number
kosmo integrations:call tableau.tableau_list_views '{"page_size":1,"page_number":1}' --json kosmo integrations:tableau tableau_list_views '{"page_size":1,"page_number":1}' --json tableau.tableau_get_view
Get detailed information about a specific Tableau view (dashboard or sheet), including its workbook, owner, and usage stats. Requires the view LUID.
read - Parameters
- view_id
kosmo integrations:call tableau.tableau_get_view '{"view_id":"example_view_id"}' --json kosmo integrations:tableau tableau_get_view '{"view_id":"example_view_id"}' --json tableau.tableau_list_projects
List projects on the Tableau site. Projects organize workbooks and data sources. Returns project names, IDs, descriptions, and parent project info.
read - Parameters
- page_size, page_number
kosmo integrations:call tableau.tableau_list_projects '{"page_size":1,"page_number":1}' --json kosmo integrations:tableau tableau_list_projects '{"page_size":1,"page_number":1}' --json tableau.tableau_get_current_user
Get information about the currently authenticated Tableau user, including name, email, site role, and auth settings.
read - Parameters
- none
kosmo integrations:call tableau.tableau_get_current_user '{}' --json kosmo integrations:tableau tableau_get_current_user '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
tableau.tableau_list_workbooks 2 parameters
kosmo integrations:schema tableau.tableau_list_workbooks --json | Parameter | Type | Required | Description |
|---|---|---|---|
page_size | integer | no | Number of workbooks per page (default: 100, max: 1000). |
page_number | integer | no | Page number for pagination (1-based, default: 1). |
tableau.tableau_get_workbook 1 parameters
kosmo integrations:schema tableau.tableau_get_workbook --json | Parameter | Type | Required | Description |
|---|---|---|---|
workbook_id | string | yes | The workbook LUID (unique identifier). Obtain from tableau_list_workbooks. |
tableau.tableau_list_views 2 parameters
kosmo integrations:schema tableau.tableau_list_views --json | Parameter | Type | Required | Description |
|---|---|---|---|
page_size | integer | no | Number of views per page (default: 100, max: 1000). |
page_number | integer | no | Page number for pagination (1-based, default: 1). |
tableau.tableau_get_view 1 parameters
kosmo integrations:schema tableau.tableau_get_view --json | Parameter | Type | Required | Description |
|---|---|---|---|
view_id | string | yes | The view LUID (unique identifier). Obtain from tableau_list_views. |
tableau.tableau_list_projects 2 parameters
kosmo integrations:schema tableau.tableau_list_projects --json | Parameter | Type | Required | Description |
|---|---|---|---|
page_size | integer | no | Number of projects per page (default: 100, max: 1000). |
page_number | integer | no | Page number for pagination (1-based, default: 1). |
tableau.tableau_get_current_user 0 parameters
kosmo integrations:schema tableau.tableau_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.