Tableau Integration

Connect Lucaro to your Tableau Server or Tableau Cloud to audit workbooks, discover lineage, and track usage.

What You Get

Asset Inventory

Complete catalog of projects, workbooks, views, and data sources

Data Lineage

Column-level lineage via Tableau Metadata API

Usage Analytics

View counts, user engagement, and access patterns

Quality Audit

Identify stale, unused, or uncertified content

Prerequisites

  • Tableau Server 2020.4+ or Tableau Cloud
  • Personal Access Token (PAT) with Site Administrator or Explorer role
  • Metadata API enabled (Tableau Server only)

Setup Instructions

1. Create a Personal Access Token

  1. Log in to Tableau Server or Tableau Cloud
  2. Go to My Account Settings
  3. Under Personal Access Tokens, click Create New Token
  4. Give it a name like "Lucaro Integration"
  5. Copy both the Token Name and Token Secret

2. Enable Metadata API (Tableau Server only)

# On your Tableau Server, run:
tsm configuration set -k metadata.query.limits.time -v 600
tsm pending-changes apply

3. Connect in Lucaro

curl -X POST "https://api.lucaro.dev/v2/projects/{projectId}/integrations/tableau" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "server_url": "https://your-server.tableau.com",
    "site_id": "your-site",
    "token_name": "Lucaro Integration",
    "token_secret": "your-token-secret"
  }'

Syncing Assets

After connecting, trigger a sync to discover all Tableau assets:

# Start sync
curl -X POST "https://api.lucaro.dev/v2/projects/{projectId}/tableau/sync" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

# Check sync status
curl "https://api.lucaro.dev/v2/projects/{projectId}/tableau/sync-status" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

# Response
{
  "status": "completed",
  "assets_synced": {
    "projects": 12,
    "workbooks": 45,
    "views": 230,
    "datasources": 28,
    "users": 150
  },
  "last_synced": "2024-01-15T10:30:00Z"
}

Syncs run automatically every 6 hours. You can also trigger manual syncs via the UI or API.

What Gets Synced

Asset TypeMetadata Captured
ProjectsName, description, owner, permissions
WorkbooksName, owner, created/modified dates, tags, certification status
ViewsName, view count, last accessed, embedded datasources
DatasourcesConnection type, tables, certified status, downstream workbooks
UsersName, role, groups, last login

Lineage Discovery

Lucaro uses the Tableau Metadata API (GraphQL) to extract column-level lineage:

  • Source database tables and columns
  • Calculated field definitions and dependencies
  • Data source to workbook relationships
  • View to datasource mappings

This lineage integrates with your existing dbt and warehouse lineage for end-to-end visibility.

Read-Only Access

Lucaro only reads metadata from Tableau. It never creates, modifies, or deletes any content on your Tableau server. Your dashboards and data are safe.