
## Preflight checks for Tableau

URL: https://docs.atlan.com/apps/connectors/business-intelligence/tableau/references/preflight-checks-for-tableau

> The [Server Info](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_server.htm#server_info) REST API is used to fetch the `restApiVersion` value.

Before [running the Tableau crawler](https://docs.atlan.com/llms/connectors/tableau/crawl-tableau/llms.txt), you can run [preflight checks](https://docs.atlan.com/llms/catalog/connector-capabilities/what-are-preflight-checks/llms.txt) to perform the necessary technical validations. The following preflight checks will be completed:

## Server REST API version

The [Server Info](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_server.htm#server_info) REST API is used to fetch the `restApiVersion` value.

✅ `Check successful` if the `restApiVersion` is greater than or equal to 2.4.

## Projects view capability

First, the list of projects in the _Include Projects_ and _Exclude Projects_ fields is determined. Next, the [Query Projects](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_projects.htm#query_projects) REST API is used to fetch the actual list of projects for which the user has [view capability](https://help.tableau.com/current/server/en-us/permissions_capabilities.htm#projects).

✅ `Check successful` if all the projects from the first list are in the second one.

:::info **Did you know?** 
 Atlan supports user credentials with _Viewer_ role. Ensure that you grant [View capability](https://help.tableau.com/current/online/en-us/permissions_capabilities.htm#capabilities) for all the assets you want to crawl.

:::

## Metadata API

✅ `Check successful`

❌ `Cannot run the query because the Metadata API has not been enabled yet. Run the 'tsm maintenance metadata-services enable' command to enable the Metadata API or contact the Tableau administrator`

## Site role

The [Get Users on Site](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_users_site.htm#get_users_on_site) REST API is used to fetch the `siteRole` of the authenticated user on the site being crawled.

✅ `Check successful` if the user's site role is `SiteAdministratorExplorer`, `SiteAdministratorCreator`, or `ServerAdministrator`.

⚠️ If the user's site role is lower than `SiteAdministratorExplorer` — for example `Viewer`, `Explorer`, `ExplorerCanPublish`, or `Creator` — the check still passes and the crawl still runs, but the preflight surfaces an advisory: `Site role '<role>' is below 'SiteAdministratorExplorer'. The crawl will still run, but will have known limitations. Please refer the Atlan docs.`

### Known limitations when the site role is below Site Administrator Explorer

- **Source owner may be missing on some assets.** Owner enrichment uses the Tableau [Get Users on Site](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_users_site.htm#get_users_on_site) REST API, which is [restricted to Site Administrators](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_users_site.htm#get_users_on_site). Non-admin callers receive `403` and Atlan cannot enrich the `sourceOwners` attribute for those assets.
- **Embedded dashboards are not crawled.** Detecting dashboard-in-dashboard relationships reads workbook content via the [Download Workbook](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_workbooksviews.htm#download_workbook) REST API, which is restricted to Site Administrators and users with content-owner permission. This only applies when embedded-dashboard crawling is enabled in the workflow configuration.
- **Upstream table lineage may be incomplete.** For workbooks and datasources whose upstream tables live on a Tableau Catalog Database or Table the caller has no explicit Read grant on, the Tableau Metadata API returns the row with `upstreamTables[].name`, `schema`, and `database.name` set to `null`. Site Administrators bypass content-level ACLs on the Metadata API and see these values populated.

### How to get full metadata coverage

Ask a Tableau site admin to raise the service account's site role to `SiteAdministratorExplorer` or higher, following the [Set Users' Site Roles](https://help.tableau.com/current/server/en-us/users_site_roles.htm) steps in Tableau's documentation. See also the [role capability reference](https://help.tableau.com/current/online/en-us/permission_license_siterole.htm) for what each Tableau site role can do.

---
