Using Extensions to Increase Tableau Data Quality

This post is the first in a series of blogs about Tableau and our Tableau extension for data issue tracking, Tamr Steward.

Tableau extensions increase functionality in Tableau, the versatile tool for data analytics and visualization. Extensions integrate your dashboard with outside applications allowing you to do more within Tableau and enabling third-party capabilities like natural language generation and email alerts for KPIs. Enabled by Tableau’s own APIs and a creative community of developers, extensions have expanded what is possible within a dashboard. Tableau has organized publically released extensions in their extensions gallery, a useful site for discovering new and exciting extensions, similar to Apple’s App Store. Outside extensions open new doors to increase Tableau data quality and build better dashboards.

tableau extensions

Tableau Extension Gallery

Why did Tableau introduce extensions?

Tableau first introduced Extensions in Tableau 2018.2 as a way to let developers build custom integrations and expand the realm of possibility within Tableau. The benefits to Tableau include:

  • Extensions fill feature gaps for Tableau, introducing new capabilities without the process of internal development. 
  • The openness of extensions empowers the Tableau community, encouraging the already enthusiastic Tableau users to engage with and develop the product. 
  • The inclusion of 3rd-party functionality lets Tableau users connect with outside products within their dashboards, creating a more integrated experience between Tableau and other apps that users depend on.

How does a Tableau extension work?

Tableau Extensions are a new type of object within Tableau that enable bi-directional communication between the Tableau dashboard environment (Tableau Desktop or Tableau Server / Online). Developers can use the Extensions API to send information from their dashboard, such as the value of a selected mark, and return information from a web app, such as a comment stored in an external database.

tableau extensions interaction points

Tableau Extensions interaction points

Extensions API

The Extensions API is a JavaScript library that is linked to the web application portion of an extension. The API has access to the content, worksheets, filters, marks, and parameters.

Any developer can write an extension, it’s simply a web application connected to a dashboard written in JavaScript (with CSS and HTML supporting it). Within Tableau, an extension is a custom object that can be placed anywhere on your dashboard. When you download an extension, you will download a .trex file. A .trex file is a manifest file that uses a Tableau provided JavaScript library to contain the extension. To install the extension, add the extension object to the dashboard like any other object and, when prompted, select the .trex file. The .trex file describes the extension and points Tableau to the location of the web application. The extension will load and be usable from this point on. Because the extension is an object, you can move it anywhere you want on the dashboard similar to any other object. Extensions run on all versions of Tableau Desktop, Tableau Server, and Tableau Online including and after Tableau 2018.2.

What can Tableau extensions do?

Tableau extensions add visualization types and options, integrate existing apps into the Tableau dashboard, and increase the productivity of the dashboard experience. Tableau extensions increase the functionality of Tableau by adding abilities not offered in the baseline version of the tool. Writebacks, analytic tools to measure user engagement, and self-service tools all help increase Tableau data quality, improving dashboards. Extensions also encourage growth within the Tableau development community. The API encourages community members to build extensions and expand the realm of what is possible in Tableau. True to Tableau’s community ethos, anyone with the Extensions API can write a Tableau extension.

Tamr Steward: The first issue tracker for data

Why are Tableau extensions on our mind? We here at Tamr have been developing Steward, a Tableau extension designed to remedy your Tableau data quality and data stewardship needs. Steward embeds a data help desk in your dashboards, allowing users to ask questions about data and connect with dashboard authors and data managers. Steward remedies inefficiencies in the data governance workflow and increases productivity by collecting all data questions in one place. With Steward you can resolve data issues faster and more efficiently. Dashboard users can send suggestions, ask questions, and point out data discrepancies. Users mark the data they are concerned about, explain their question, issue, or concern, and tag any connected members of the workspace before sending the request in. Users even have the option of attaching screenshots of the data they have an issue with. Data stewards and data managers can field issues in a central queue, simplifying the data workflow and eliminating the need for complicated email chains or Slack conversations to improve Tableau data quality.

We’re eager to help teams fix their broken data quality processes, so we’re making it as easy as possible to get started. You can download Steward from Tableau’s Extension Gallery and start resolving data issues free today. Don’t use Tableau? Steward also has a JavaScript SDK and a Chrome Extension for use with your own web apps.



Matt Holzapfel leads Solutions at Tamr. He is responsible for delivering new offerings that combine Tamr’s software products with data and services to help customers realize more value from their data. Matt has worked directly with many of Tamr’s largest customers, enabling them to successfully deploy Tamr’s Solutions.