Hack Alexa and other Tableau API tricks

Imagine using your voice to ask questions about your data, and then hearing spoken answers and insights back. What if you could ask, "Alexa, ask Tableau how many customers I have,” or “Alexa, ask Tableau how our sales are trending this quarter."

Tableau’s mission is to help people see and understand their data. But with voice assistants like Amazon’s Alexa on the rise, we may need to add “hear” to our mission as well. Imagine using your voice to ask questions about your data, and then hearing spoken answers and insights back. What if you could ask, "Alexa, ask Tableau how many customers I have,” or “Alexa, ask Tableau how our sales are trending this quarter."

The Tableau community is already testing the waters by using Tableau’s APIs to integrate with existing voice assistants. Check out this video of Tableau partner Cognitive Code, using just a voice to discover the best- and worst-selling products.

Brett Taylor, one of our engineers, thought an integration between Tableau and Alexa would be a fun experiment, so he spent one of our recent hacking days building a way to enable asking Alexa questions about a dataset in Tableau.

You may have heard about Francois Ajenstat, our Chief Product Officer, demonstrating Brett’s project at the Gartner Data & Analytics Summit. Watch the video to see Alexa respond to Francois and tell him how many customers there are in the data set.

The key to integrating Tableau with any other application is by using our powerful collection of APIs. One of the newest additions to our API set, getData(), provides access to all the underlying data in a viz. Once you've got the data, then you can do practically anything you want (like integrating with Alexa or countless other tools).

Last year, we released new APIs as part of the 10.0 release that can help you further deeply integrate Tableau into your business and organization. Here are a few:

  • The Document API, provides a supported way to programmatically modify Tableau files like .twb and .tds and build templated workbooks.
  • Updates to our JavaScript API, including the aforementioned getData(), which provides access to the data in a viz so you can integrate with a charting library like d3, enable voice interactions with Alexa, or enable write back in a custom embedded application.
  • Updates to the REST API include filtering and sorting and other enhancements that enable robust automation of tasks like managing users, groups, and content.

One of the best parts of building Tableau has always been the community. We’re proud, and honored, to see so many developers including Tableau Zen Masters, Tableau Public authors, and entire companies build tools to help others get even more insight out of their data.

For example, here’s Tableau Zen Master Tamas Foldi, showing how to use the new getData() functions to add comments to vizzes.

Folks at The Marks Card are also using getData() to export data from a viz into a CSV, as an alternative to the native Tableau toolbar.

Another Tableau Zen Master, Jeffrey Shaffer is using the new JSON connector and the JavaScript API to build a Tableau viz that tracks the International Space Station.

And this doesn’t include all the web data connectors many of you have been building.

If you’re a developer, and know your way around APIs, try your hand at building something yourself and share it with the community. And if you have suggestions on how we can improve our APIs, and what new ones we can build, we’d love to hear from you.

We can’t wait to see what else you come up with!

A snippet of the Tableau API Access permissions interface floats in front of a computer monitor showing code from Tableau's VizQL Data Service in Postman

How to Use VizQL Data Service in Your Tableau Cloud Site

Joe Chirilov Megan Kelly