Tableau Integration

Integrate with Tableau Server and Tableau Online for business intelligence, data visualization, and analytics dashboard management.

Overview

The Tableau Integration skill provides comprehensive functionality for:

  • Managing workbooks and data sources
  • Publishing and downloading Tableau content
  • Handling user and project management
  • Querying view data and analytics
  • Managing permissions and access control

Connection Requirements

This skill requires a Tableau connection configured through:

  • PinkConnect Proxy: PC_BASE_URL (includes site-id and API version)
  • Authentication: Handled automatically by the proxy
  • Site Context: Site ID is included in the base URL

Basic Usage

// Get all workbooks
GET: workbooks

// Get specific workbook
GET: workbooks/{workbook-id}

// Publish new workbook
POST: workbooks (with multipart form data)

Key Features

Content Management

  • Workbook Operations: Create, read, update, delete workbooks
  • Data Source Management: Publish and manage data sources
  • Project Organization: Organize content in projects
  • Version Control: Handle workbook versions and updates

User and Permissions

  • User Management: List and manage site users
  • Permission Control: Set and manage content permissions
  • Role Management: Handle user roles and site access
  • Security: Implement proper access controls

Data Access

  • View Querying: Extract data from Tableau views
  • CSV Export: Export view data in CSV format
  • Metadata Access: Get workbook and data source metadata
  • Real-time Data: Access live data through Tableau views

Common Operations

List All Workbooks

GET: workbooks

Get Workbook Details

GET: workbooks/{workbook-id}

Publish Workbook

POST: workbooks
Content-Type: multipart/form-data

Form Data:
- request_payload: {"workbook": {"name": "Sales Dashboard", "projectId": "project-456"}}
- tableau_workbook: [workbook.twbx file]

Query View Data

GET: views/{view-id}/data?format=csv&maxAge=60

Response Structures

Workbook Response

{
  "workbook": {
    "id": "workbook-123",
    "name": "Sales Dashboard",
    "description": "Monthly sales performance dashboard",
    "contentUrl": "SalesDashboard",
    "showTabs": true,
    "size": 2048576,
    "createdAt": "2025-01-15T12:34:56Z",
    "updatedAt": "2025-01-15T14:20:00Z",
    "project": {
      "id": "project-456",
      "name": "Sales Analytics"
    },
    "owner": {
      "id": "user-789",
      "name": "John Doe"
    },
    "views": {
      "view": [
        {
          "id": "view-111",
          "name": "Sales Overview",
          "contentUrl": "SalesOverview"
        }
      ]
    }
  }
}

Data Source Response

{
  "datasource": {
    "id": "datasource-123",
    "name": "Sales Data",
    "description": "Customer and sales transaction data",
    "contentUrl": "SalesData",
    "type": "sqlserver",
    "size": 10485760,
    "createdAt": "2025-01-10T09:00:00Z",
    "updatedAt": "2025-01-15T08:30:00Z",
    "project": {
      "id": "project-456",
      "name": "Sales Analytics"
    },
    "owner": {
      "id": "user-789",
      "name": "John Doe"
    }
  }
}

View Data Response (CSV)

{
  "status": 200,
  "headers": {
    "Content-Type": "text/csv"
  },
  "output": "Date,Sales,Region\n2025-01-01,10000,North\n2025-01-01,15000,South\n2025-01-02,12000,North"
}

Project Management

Create Project

POST: projects
{
  "project": {
    "name": "Finance Analytics",
    "description": "Financial reporting and analytics",
    "contentPermissions": "ManagedByOwner",
    "parentProjectId": "project-000"
  }
}

Project Permissions

  • ManagedByOwner: Owner manages all permissions
  • LockedToProject: Project-level permission management
  • LockedToProjectWithoutNested: Project-level without nested projects

User Management

List Users

GET: users

User Roles

  • Creator: Can create and publish content
  • Explorer: Can interact with published content
  • Viewer: Can view published content
  • SiteAdministrator: Full site administration rights

Permission Management

Get Workbook Permissions

GET: workbooks/{workbook-id}/permissions

Permission Capabilities

  • Read: View content
  • Write: Edit content
  • Delete: Remove content
  • ChangePermissions: Modify permissions
  • ChangeHierarchy: Move content between projects

Data Export Options

CSV Export

GET: views/{view-id}/data?format=csv

Export Parameters

  • format: Export format (csv)
  • maxAge: Cache age in seconds
  • vf_: View filters
  • refresh: Force refresh of data

File Operations

Download Workbook

GET: workbooks/{workbook-id}/content
// Returns binary TWBX file

Download Data Source

GET: datasources/{datasource-id}/content
// Returns binary TDSX/TDS file

Query Parameters

Common Parameters

  • fields: Specify response fields
  • filter: Filter results
  • sort: Sort results
  • pageSize: Items per page (max 1000)
  • pageNumber: Page number for pagination

Filtering Examples

// Filter workbooks by project
GET: workbooks?filter=projectName:eq:Sales Analytics

// Filter users by site role
GET: users?filter=siteRole:eq:Creator

Error Handling

Common Errors

{
  "error": {
    "code": "400008",
    "summary": "Bad Request",
    "detail": "The workbook name is required."
  }
}

Error Categories

  • Authentication: Invalid credentials or expired tokens
  • Authorization: Insufficient permissions
  • Validation: Invalid request parameters
  • Resource: Missing or invalid resource IDs
  • Server: Internal server errors

Important Notes

  • Site Context: All operations are scoped to the configured site
  • Authentication: Handled automatically by PinkConnect Proxy
  • File Uploads: Use multipart/form-data for workbook and data source publishing
  • Rate Limits: Respect Tableau Server rate limits
  • API Versioning: API version is included in the proxy URL
  • Binary Content: File downloads return binary content

Best Practices

  1. Project Organization: Use projects to organize content logically
  2. Permission Management: Implement least-privilege access principles
  3. Version Control: Track workbook versions and changes
  4. Data Freshness: Use appropriate cache settings for data exports
  5. Error Handling: Implement robust error handling for API calls
  6. Resource Management: Clean up unused workbooks and data sources
  7. Performance: Use pagination for large result sets
  8. Security: Regularly audit user permissions and access

Tableau Integration

Integrate with Tableau Server and Tableau Online for business intelligence, data visualization, and analytics dashboard management.

Overview

The Tableau Integration skill provides comprehensive functionality for:

  • Managing workbooks and data sources
  • Publishing and downloading Tableau content
  • Handling user and project management
  • Querying view data and analytics
  • Managing permissions and access control

Connection Requirements

This skill requires a Tableau connection configured through:

  • PinkConnect Proxy: PC_BASE_URL (includes site-id and API version)
  • Authentication: Handled automatically by the proxy
  • Site Context: Site ID is included in the base URL

Basic Usage

// Get all workbooks
GET: workbooks

// Get specific workbook
GET: workbooks/{workbook-id}

// Publish new workbook
POST: workbooks (with multipart form data)

Key Features

Content Management

  • Workbook Operations: Create, read, update, delete workbooks
  • Data Source Management: Publish and manage data sources
  • Project Organization: Organize content in projects
  • Version Control: Handle workbook versions and updates

User and Permissions

  • User Management: List and manage site users
  • Permission Control: Set and manage content permissions
  • Role Management: Handle user roles and site access
  • Security: Implement proper access controls

Data Access

  • View Querying: Extract data from Tableau views
  • CSV Export: Export view data in CSV format
  • Metadata Access: Get workbook and data source metadata
  • Real-time Data: Access live data through Tableau views

Common Operations

List All Workbooks

GET: workbooks

Get Workbook Details

GET: workbooks/{workbook-id}

Publish Workbook

POST: workbooks
Content-Type: multipart/form-data

Form Data:
- request_payload: {"workbook": {"name": "Sales Dashboard", "projectId": "project-456"}}
- tableau_workbook: [workbook.twbx file]

Query View Data

GET: views/{view-id}/data?format=csv&maxAge=60

Response Structures

Workbook Response

{
  "workbook": {
    "id": "workbook-123",
    "name": "Sales Dashboard",
    "description": "Monthly sales performance dashboard",
    "contentUrl": "SalesDashboard",
    "showTabs": true,
    "size": 2048576,
    "createdAt": "2025-01-15T12:34:56Z",
    "updatedAt": "2025-01-15T14:20:00Z",
    "project": {
      "id": "project-456",
      "name": "Sales Analytics"
    },
    "owner": {
      "id": "user-789",
      "name": "John Doe"
    },
    "views": {
      "view": [
        {
          "id": "view-111",
          "name": "Sales Overview",
          "contentUrl": "SalesOverview"
        }
      ]
    }
  }
}

Data Source Response

{
  "datasource": {
    "id": "datasource-123",
    "name": "Sales Data",
    "description": "Customer and sales transaction data",
    "contentUrl": "SalesData",
    "type": "sqlserver",
    "size": 10485760,
    "createdAt": "2025-01-10T09:00:00Z",
    "updatedAt": "2025-01-15T08:30:00Z",
    "project": {
      "id": "project-456",
      "name": "Sales Analytics"
    },
    "owner": {
      "id": "user-789",
      "name": "John Doe"
    }
  }
}

View Data Response (CSV)

{
  "status": 200,
  "headers": {
    "Content-Type": "text/csv"
  },
  "output": "Date,Sales,Region\n2025-01-01,10000,North\n2025-01-01,15000,South\n2025-01-02,12000,North"
}

Project Management

Create Project

POST: projects
{
  "project": {
    "name": "Finance Analytics",
    "description": "Financial reporting and analytics",
    "contentPermissions": "ManagedByOwner",
    "parentProjectId": "project-000"
  }
}

Project Permissions

  • ManagedByOwner: Owner manages all permissions
  • LockedToProject: Project-level permission management
  • LockedToProjectWithoutNested: Project-level without nested projects

User Management

List Users

GET: users

User Roles

  • Creator: Can create and publish content
  • Explorer: Can interact with published content
  • Viewer: Can view published content
  • SiteAdministrator: Full site administration rights

Permission Management

Get Workbook Permissions

GET: workbooks/{workbook-id}/permissions

Permission Capabilities

  • Read: View content
  • Write: Edit content
  • Delete: Remove content
  • ChangePermissions: Modify permissions
  • ChangeHierarchy: Move content between projects

Data Export Options

CSV Export

GET: views/{view-id}/data?format=csv

Export Parameters

  • format: Export format (csv)
  • maxAge: Cache age in seconds
  • vf_: View filters
  • refresh: Force refresh of data

File Operations

Download Workbook

GET: workbooks/{workbook-id}/content
// Returns binary TWBX file

Download Data Source

GET: datasources/{datasource-id}/content
// Returns binary TDSX/TDS file

Query Parameters

Common Parameters

  • fields: Specify response fields
  • filter: Filter results
  • sort: Sort results
  • pageSize: Items per page (max 1000)
  • pageNumber: Page number for pagination

Filtering Examples

// Filter workbooks by project
GET: workbooks?filter=projectName:eq:Sales Analytics

// Filter users by site role
GET: users?filter=siteRole:eq:Creator

Error Handling

Common Errors

{
  "error": {
    "code": "400008",
    "summary": "Bad Request",
    "detail": "The workbook name is required."
  }
}

Error Categories

  • Authentication: Invalid credentials or expired tokens
  • Authorization: Insufficient permissions
  • Validation: Invalid request parameters
  • Resource: Missing or invalid resource IDs
  • Server: Internal server errors

Important Notes

  • Site Context: All operations are scoped to the configured site
  • Authentication: Handled automatically by PinkConnect Proxy
  • File Uploads: Use multipart/form-data for workbook and data source publishing
  • Rate Limits: Respect Tableau Server rate limits
  • API Versioning: API version is included in the proxy URL
  • Binary Content: File downloads return binary content

Best Practices

  1. Project Organization: Use projects to organize content logically
  2. Permission Management: Implement least-privilege access principles
  3. Version Control: Track workbook versions and changes
  4. Data Freshness: Use appropriate cache settings for data exports
  5. Error Handling: Implement robust error handling for API calls
  6. Resource Management: Clean up unused workbooks and data sources
  7. Performance: Use pagination for large result sets
  8. Security: Regularly audit user permissions and access