<< Back

Tableau’s New Extensions API

At their annual conference in Vegas, Tableau announced that they’re about to release a new API called the ‘Extensions API’. This new API will allow partners, customers and developers to build custom add-ins for Tableau Dashboards, bringing extra functionality right into Tableau Desktop.

Why?

So why does Tableau need new custom ‘stuff’ in dashboards? A couple of reasons. First, they’ve found that customers want to do more without having to leave Tableau. Currently, the only answer to reach out to a third party application direct in Tableau Desktop has been to use the Web Page dashboard object.

This is fine for basic integrations. You can make the web page react to the marks you’ve select using a URL action. But this has its limitations. The URL action will only work with a single mark and relies on URL parameters to pass data to the web page. With the extensions API you’ll have much more control over what data flows from the marks to the third party app, as well as when the interactions happen.

The second reason is that customers want their dashboards to be able to do more. They want to make use of external charting libraries to create visualisations that Tableau doesn’t yet natively support. They also want to create more ‘application’ style dashboards with advanced interactive features. This is what we’re going to look at as an example.

JS API in Tableau Desktop

When you study how the extensions API is implemented you quickly realise it’s very closely aligned with the existing Javascript API. The key difference is that the Javascript API only really works with Tableau Server, not Tableau Desktop, and so to use it you have to publish a half-finished dashboard to Server and then wrap it in a web page.

Let’s take a look at the following example:

This dashboard has two key elements, a Tableau map and a custom navigation breadcrumb which contains the continent, country and state levels of the map you selected as you clicked through. In Tableau today to create a custom navigation breadcrumb like this you’d have to only publish the map element to Server, and then embed it in a web page using the Javascript API below the navigation element.

This is confusing as you end up with workbooks on Server that look only half complete, or maybe even aren’t fully functional, as they need their external web page fully work.

Using the extensions API we’re able to take what was the external web page and bring it down directly into Tableau Desktop. Let’s see how that looks:

Tableau's New Extensions API

Nice huh?!

Currently, the Extensions API is in developer preview.

Craig Bloodworth

York, UK

Leave a Reply

Your email address will not be published. Required fields are marked *