RedPlanetHQ/core

New Integration: Tableau

Aperta

#535 aperta il 24 feb 2026

 (1 commento) (0 reazioni) (0 assegnatari)TypeScript (184 fork)auto 404
enhancementgood first issueintegrationnew-featurenew-integration

Metriche repository

Star
 (1930 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

Description

Add Tableau integration to sync workbooks, views, data sources, dashboard activity, and user analytics into CORE.

Reference Implementations

Existing Integrations (use as templates)

  • integrations/github-analytics/ - Similar analytics-focused integration
  • integrations/google-sheets/ - Similar data/visualization platform
  • integrations/slack/ - For reference

Required Files Structure

integrations/tableau/
├── src/
│   ├── index.ts          # Main entry, auth spec
│   ├── schedule.ts       # Sync logic
│   ├── utils.ts          # Tableau REST API utilities
│   ├── account-create.ts # Auth setup (PAT or JWT)
│   └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md

Tableau REST API Integration

Authentication Setup

  • Use Personal Access Token (PAT) authentication (recommended)
  • Alternative: JWT (JSON Web Token) for connected apps
  • Sign in via POST /api/{api-version}/auth/signin to get auth token
  • Auth token used in X-Tableau-Auth header for subsequent requests
  • Latest API version: 3.24+ (Tableau Cloud) / 3.27 (Server 2025.3)

Key Endpoints

  • Workbooks
    • GET /api/{version}/sites/{site-id}/workbooks - List workbooks
    • GET /api/{version}/sites/{site-id}/workbooks/{workbook-id} - Get workbook details
    • GET /api/{version}/sites/{site-id}/workbooks/{workbook-id}/views - Get workbook views
    • POST /api/{version}/sites/{site-id}/workbooks - Publish workbook
  • Views (Dashboards)
    • GET /api/{version}/sites/{site-id}/views - List views
    • GET /api/{version}/sites/{site-id}/views/{view-id}/image - Get view as image
    • GET /api/{version}/sites/{site-id}/views/{view-id}/data - Get view data
  • Data Sources
    • GET /api/{version}/sites/{site-id}/datasources - List data sources
    • GET /api/{version}/sites/{site-id}/datasources/{datasource-id} - Get data source details
    • POST /api/{version}/sites/{site-id}/datasources - Publish data source
  • Users & Groups
    • GET /api/{version}/sites/{site-id}/users - List site users
    • GET /api/{version}/sites/{site-id}/groups - List groups
  • Projects
    • GET /api/{version}/sites/{site-id}/projects - List projects
  • Flows (Prep Conductor)
    • GET /api/{version}/sites/{site-id}/flows - List flows
    • POST /api/{version}/sites/{site-id}/flows/{flow-id}/run - Run a flow

Events to Track

  1. Workbook Activity - Workbooks published, updated, downloaded, deleted
  2. View/Dashboard Access - Views accessed, images exported, data downloaded
  3. Data Source Updates - Data sources published, refreshed, connection changes
  4. User Activity - User logins, permission changes, group membership changes
  5. Flow Executions - Prep flows triggered, completed, or failed

Implementation Tasks

  • Set up basic integration structure following integrations/github/src/index.ts pattern
  • Implement PAT/JWT authentication flow in account-create.ts
  • Create API utilities in utils.ts with session management
  • Implement sync logic in schedule.ts for workbooks, views, and data sources
  • Convert Tableau events to CORE activity format
  • Add error handling and rate limiting
  • Create integration documentation
  • Add to integrations/README.md

Technical Notes

  • Tableau REST API requires signing in first to get an auth token, which expires after a configured period
  • API version is tied to Tableau Server/Cloud version (3.24 for Cloud Dec 2025, 3.27 for Server 2025.3)
  • OpenAPI endpoints are available for code generation
  • Supports both Tableau Server (on-premises) and Tableau Cloud
  • Multiple authentication types supported since Jan 2025
  • User credentials management endpoints added recently
  • Consider using the OpenAPI spec for client generation

Resources

Labels

enhancement, integration, new-feature

Guida contributor