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.
What's new
Tableau Viz Lightning Web Component for Salesforce
The Tableau Viz LWC makes it incredibly easy for any user to integrate Tableau visualizations right into Salesforce pages.
Learn moreCapabilities
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:
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:
- Samples
- Help page
- Documentation (on GitHub)
- API Reference
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:
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.
Resources:
Python Integration (TabPy)
TabPy framework allows Tableau to remotely execute Python code.
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:
Analytics 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.
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.
- 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: