Skip to content

Commit fea27b8

Browse files
Merge branch 'main' into ParallelismUpdate
2 parents bef0614 + 604b318 commit fea27b8

4 files changed

Lines changed: 100 additions & 0 deletions

File tree

components/applications/triggers/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ The following applications support triggering:
1616
- [dbt Cloud Job Trigger](/components/applications/triggers/dbt-cloud-job-trigger/)
1717
- [Deepnote Notebook Execution Trigger](/components/applications/triggers/deepnote-notebook-execution-trigger/) - Trigger to execute a Notebook in Deepnote
1818
- [Power BI Refresh](/components/applications/triggers/powerbi-refresh/) - Trigger dataset refreshes in a Power BI workspace
19+
- [Tableau Extract Refresh Trigger](/components/applications/triggers/tableau-extract-refresh/) - Trigger Tableau extract refresh tasks for data sources and workbooks
1920
- And [more](https://components.keboola.com/components)
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
---
2+
title: Tableau Extract Refresh Trigger
3+
permalink: /components/applications/triggers/tableau-extract-refresh/
4+
---
5+
6+
* TOC
7+
{:toc}
8+
9+
The Tableau Extract Refresh Trigger application triggers extract refresh tasks on [Tableau](https://www.tableau.com/) data sources and workbooks directly from a Keboola flow. It supports both full and incremental refresh types, and can either wait for all triggered tasks to complete (poll mode) or fire and finish immediately.
10+
11+
## Prerequisites
12+
13+
- Tableau Personal Access Token (PAT) — required since February 2022
14+
- The token owner must be the data source owner or a Site Admin in Tableau
15+
- All data sources and workbooks must be published to Tableau Online/Server with the required extract refresh tasks already configured
16+
17+
## Authorization
18+
19+
The component authenticates using a **Personal Access Token (PAT)**. Follow the [Tableau documentation](https://help.tableau.com/current/pro/desktop/en-us/useracct.htm#create-and-revoke-personal-access-tokens) to create one.
20+
21+
## Create New Configuration
22+
23+
[Create a new configuration](/components/#creating-component-configuration) of the **Tableau Extract Refresh Trigger** application and fill in the parameters below.
24+
25+
{: .image-popup}
26+
![Tableau Extract Refresh Trigger - Configuration](/components/applications/triggers/tableau-extract-refresh/tableau-config.png)
27+
28+
### Authentication
29+
30+
- **PAT Token Name** — Tableau user's Personal Access Token name.
31+
- **PAT Token Secret** — Tableau user's Personal Access Token secret.
32+
- **Tableau server API endpoint URL** — The domain of your Tableau server, e.g., `https://dub01.online.tableau.com`.
33+
- **Tableau Site ID** — The Site ID from the URL, e.g., `SITE_ID` in `https://dub01.online.tableau.com/#/site/SITE_ID/home`. Required for Tableau Online.
34+
35+
### Poll Mode
36+
37+
If set to **Yes**, the component waits for all triggered refresh tasks to finish before completing. If set to **No**, it triggers all jobs and finishes immediately after.
38+
39+
### Continue on Error
40+
41+
If enabled, the component continues refreshing remaining data sources or workbooks even if one of them fails.
42+
43+
### Tableau Datasources and Workbooks
44+
45+
{: .image-popup}
46+
![Tableau Extract Refresh Trigger - Datasources and Workbooks](/components/applications/triggers/tableau-extract-refresh/tableau-datasources.png)
47+
48+
**Tableau datasources** — list of published data sources with extract refresh tasks to trigger.
49+
50+
**Tableau workbooks** — list of workbooks whose embedded data sources will be refreshed.
51+
52+
For each datasource or workbook, fill in:
53+
54+
| Parameter | Description |
55+
|---|---|
56+
| **Name** | Name as displayed in the Tableau UI. Must be unique — if multiple matches exist, the job fails and lists all candidates with their tags. |
57+
| **Tag** | Optional. Use to disambiguate when multiple sources share the same name. Acts as an additional filter; omitting it returns all matches regardless of tags. |
58+
| **LUID** | Optional. The unique server identifier (e.g., `ecf7d5e0-c493-4e03-8d55-106f9f46af3b`). If specified, `tag` is ignored. Recommended for production configurations. |
59+
| **Refresh type** | (Datasources only) Either `RefreshExtractTask` (full) or `IncrementExtractTask` (incremental). The specified task type must already exist in Tableau. |
60+
61+
**Finding the LUID:** On first run, the LUID for each matched datasource or workbook is printed in the job log. Copy it into the configuration to ensure stable, unique identification in future runs.
62+
63+
## Sample Configuration
64+
65+
```json
66+
{
67+
"parameters": {
68+
"token_name": "my-pat-token",
69+
"#token_secret": "XXXXX",
70+
"site_id": "testsite",
71+
"endpoint": "https://dub01.online.tableau.com",
72+
"poll_mode": true,
73+
"datasources": [
74+
{
75+
"name": "FullTestExtract",
76+
"type": "RefreshExtractTask",
77+
"luid": "ecf7d5e0-c493-4e03-8d55-106f9f46af3b"
78+
},
79+
{
80+
"name": "IncrementalTestExtract",
81+
"type": "IncrementExtractTask",
82+
"luid": "ecf7d5e0-a345-4e03-8d55-106f9f46af1g"
83+
}
84+
],
85+
"workbooks": [
86+
{
87+
"name": "Sales Dashboard",
88+
"luid": "ab12-3456-7890-abcd-ef1234567890"
89+
}
90+
]
91+
}
92+
}
93+
```
94+
95+
## Notes
96+
97+
- Each datasource must have the required extract refresh task configured in Tableau (e.g., Full refresh or Incremental refresh) — otherwise the trigger will fail.
98+
- If multiple tasks of the same type exist on a datasource, only one will be triggered.
99+
- Data source names are not guaranteed to be unique. Always set the LUID after the first run to avoid ambiguity.
136 KB
Loading
61.9 KB
Loading

0 commit comments

Comments
 (0)