Tableau Developer Tools

Tableau's developer tools and APIs allow you to integrate, customize, automate, and extend Tableau to fit the specific needs of your organization. Go beyond what's in the box to make Tableau the perfect fit for your organization.

To stay engaged and informed of the newest developer updates, trainings and events, join Tableau's Developer Program.

Learn more

What's new

Analytic Extensions API

Extend Tableau calculations to dynamically include popular data science programming languages, tools and platforms and create integrations similar to Tableau’s integrations with TabPy and MATLAB.

Read more


Analytic Extensions API

Data Science Integration

Extend Tableau calculations to dynamically include popular data science programming languages, tools and platforms and create integrations similar to Tableau’s integrations with TabPy and MATLAB.

Analytic Extensions API

Extend Tableau calculations to dynamically include popular data science programming languages and external tools and platforms.

Use Cases: Create a connection to an external service or calculation engine that will expand the power of Tableau Desktop script calculations.

Benefits: Analytics extensions can receive data from Tableau in real time and return it back after it has been reshaped, transformed or augmented. This facilitates dynamic viz exploration.

Level of Support: Tableau-supported

Resources:

Capabilities

Data Connectivity

Create connectors to data sources that are not currently supported by Tableau, including websites and custom applications.

Web Data Connector (WDC)

The WDC is a collection of APIs that enable developers to connect Tableau to any data on the web.

Use Cases: Create custom connections to data on the web and make that data available in Tableau.

Benefits: Create your own WDC that reads data from virtually any site that publishes data in JSON, XML, or HTML. Allows for interactivity with your user through forms for selection and filtering.

Examples of existing WDCs: Reddit, Jira, Strava, Twitter, Facebook, Blockspring.

Level of Support: Tableau-supported

Resources:

Open Database Connectivity (ODBC)

Tableau lets you connect to ODBC-compliant sources using its built-in ODBC connector.

Tableau and ODBC: Learn ODBC basics and how Tableau works with ODBC drivers Learn More

Customizing and Tuning: Learn how to customize your ODBC connection to improve performance with Tableau Learn More

Level of Support: As-Is

Hyper API

Create custom scripts that interact with extract (.hyper) files.

Use Cases: Connect to data sources with the Hyper API and write the data into extract files (in the .hyper file format for Tableau 10.5 and later). Write custom scripts that update data in existing extract files or read data from them.

Benefits: If you can connect to your data, you can use the Hyper API to create data extracts that improve performance and provide offline access. If you have data sources that are not currently supported, you can use the Hyper API to get the data into Tableau. If you want to update data within extract files, you can use the Hyper API to update the extract. If you need to access data from an extract, you can now write a script that reads the data from the extract.

Level of Support: Tableau-supported

Resources:

Extract API

Create custom scripts that pull your data into Tableau data extracts.

Use Cases: Connect to data sources with the Extract API and write the data into extract files (in the .hyper file format for Tableau 10.5 and later).

Benefits: If you can connect to your data, you can use the Extract API to create data extracts that improve performance and provide offline access. If you have data sources that are not currently supported, you can use the Extract API to get the data into Tableau. Runs on MacOS, Windows, and Linux systems, and your choice of programming language (C, C++, Java, and Python).

Level of Support: Tableau-supported

Resources:

  • Help Extract API 2.0 for .hyper format
  • Samples (.hyper format)
  • Help Tableau SDK for .tde format, if you are using Tableau 10.4 and earlier
  • Samples (.tde format)
Connector SDK

Build a new connector that you can use to visualize your data from any database through an ODBC or JDBC driver.

Use Cases: Build native Tableau connectors (.taco files) that users can leverage to connect to and visualize data from any database that supports ODBC or JDBC. Create a .taco file for a new source of data and connect with Desktop and Server like any other data source in Tableau!

Benefits: Connector Plugins provide a far simpler connection experience and more robust live query support as compared to ‘Other Databases (ODBC/JDBC), as well as a full test harness for testing and development. The Connector SDK allows for the customization of connector behavior, fine tuning of SQL query generation via dialects, creation of connection dialog menus, and the ability to easily package and distribute connectors to end users.

Level of Support: Tableau-supported

Resources:


Automation

Automate tedious tasks and programmatically manage Tableau Server content, including workbooks, data sources, and users.

REST API

Programmatic access to work with your content, users, sites and more.

Use Cases:

  • Automating tasks like managing users, groups, sites
  • Updating workbooks or datasources
  • Integrating Tableau content with a custom app or portal

Level of Support:  Tableau-supported

REST API Resources:

Tableau Server Client Library Resources:

Document API

Programmatically modify Tableau files.

Use Cases: Create and deploy templates or migrate workbooks from test to production data sources.

Level of Support: Tableau-supported

Resources:

Hyper API

Create custom scripts that interact with extract (.hyper) files.

Use Cases: Connect to data sources with the Hyper API and write the data into extract files (in the .hyper file format for Tableau 10.5 and later). Write custom scripts that update data in existing extract files or read data from them.

Benefits: If you can connect to your data, you can use the Hyper API to create data extracts that improve performance and provide offline access. If you have data sources that are not currently supported, you can use the Hyper API to get the data into Tableau. If you want to update data within extract files, you can use the Hyper API to update the extract. If you need to access data from an extract, you can now write a script that reads the data from the extract.

Level of Support: Tableau-supported

Resources:

Extract API

Create custom scripts that pull your data into Tableau data extracts.

Use Cases: Connect to data sources with the Extract API and write the data into extract files (in the .hyper file format for Tableau 10.5 and later).

Benefits: If you can connect to your data, you can use the Extract API to create data extracts that improve performance and provide offline access. If you have data sources that are not currently supported, you can use the Extract API to get the data into Tableau. Runs on MacOS, Windows, and Linux systems, and your choice of programming language (C, C++, Java, and Python).

Level of Support: Tableau-supported

Resources:

  • Help Extract API 2.0 for .hyper format
  • Samples (.hyper format)
  • Help Tableau SDK for .tde format, if you are using Tableau 10.4 and earlier
  • Samples (.tde format)
Webhooks API

Notifications of Tableau events to your external application or workflow.

Part of Tableau Server and Tableau Online, webhooks enable Tableau events to send an HTTP POST notification to the web location of your choice.

Use Cases:

  • Send an SMS whenever a data source refresh occurs
  • Notify a web app to synchronize data when a workbook is created

Level of Support: Tableau-supported

Resources:

Data Science Integration

Make your statistical models accessible to more people. Integrate and visualize the data from your R, Python and Matlab models in Tableau.

R Integration

Import R packages, libraries or any of your saved data models into Tableau.

Level of Support: Tableau-supported

Resources:

Python Integration (TabPy)

TabPy framework allows Tableau to remotely execute Python code.

Use Cases: Use Python for data cleaning and predictive algorithms inside Tableau.

Benefits: Allows authoring calculated fields in Python.

Level of Support: Tableau-supported

Resources:

MATLAB Integration

Deploy MATLAB models in Tableau for predictive insights, or pre-process your data using MATLAB and persist into a Tableau data extract for further analysis.

Use Cases: Users with models published on MATLAB production Server want to share model results as Tableau visualizations.

Benefits: Consumers of the visualizations created from MATLAB models can ask what if questions by interacting directly with the data.

Level of Support: Tableau-supported

Resources:

Analytic Extensions API

Extend Tableau calculations to dynamically include popular data science programming languages, tools and platforms and create integrations similar to Tableau’s integrations with TabPy and MATLAB.

Use Cases: Create a connection to an external service or calculation engine that will expand the power of Tableau Desktop script calculations.

Benefits: Analytics extensions can receive data from Tableau in real time and return it back after it has been reshaped, transformed or augmented. This facilitates dynamic viz exploration.

Level of Support: Tableau-supported

Resources:


Embedded Analytics

Make it easier for more people to interact with data. Embed your vizzes into other business applications like Salesforce and Microsoft Sharepoint.

Get started with Tableau's Embedded Analytics Playbook

Javascript API

Embed and programmatically interact with individual dashboards.

Use Cases: Customize the user experience of dashboard interaction and functionality of embedded application.

Benefits:

  • One-stop shop: make it easy for users to go to one place to get the information they need to do their job
  • Customization: fully customize the user experience including branding, colors, navigation, and content

Level of Support: Tableau-supported

Resources:

REST API

Programmatic access to work with your content, users, sites and more.

Use Cases:

  • Integrate user management of Tableau Server with the user management of the embedding application.
  • Manager Server content and permissions based on your application's state.
  • Query Server metadata so the correct information is displayed to your user.
  • Automate the management of Tableau Server amongst many other applications.

Level of Support: Tableau-supported

REST API Resources:

Tableau Server Client Library Resources:

Single Sign-On

Leverage single sign-on for SAML, OpenID, Active Directory, Kerberos.

To learn more about authentication options for Tableau Server Go here

To learn more about authentication options for Tableau Online Go here

Mobile App Bootstrap

Sample code for custom mobile app development.

Use Cases:

  • Learning approaches for embedding Tableau visualizations in custom mobile apps
  • Creating a custom mobile app from scratch
  • Modifying an existing custom mobile app

Benefits:

  • Provides starting point for developing your own custom mobile apps with embedded Tableau visualizations
  • Demonstrates techniques for embedding visualizations keeping users signed in to Tableau Server

Level of Support: Community-supported

Resources:

Extensibility

Create ways to add third party functionality into a dashboard for Tableau customers.

Extensions API

With our Extensions API, developers can create dashboard extensions that enable customers to integrate and interact with data from other applications directly in Tableau.

Use Cases:
  • Create an extension that has write-back functionality, so users can modify data in a viz and have that change automatically update the source data in the data base or web application
  • Build custom viz and interactivity types such as a filter replacement with a custom interface and network diagram
  • Integrate 3rd party functionality inside the dashboard

Benefits:

  • Interact with data from other business applications directly in Tableau
  • Customize Tableau's Desktop environment for a specific team's workflow

Level of Support:  Tableau-supported once released

Resources:

More resources

Community

Visit the Developer Portal to ask questions, contribute content, and connect.

Learn More

GitHub

Find Tableau's repositories to get the latest APIs and samples, submit issues, and more.

Learn More

Support

Learn more about support for our APIs and developer tools.

Learn More