Tableau Extensions API
Why the Tableau Extensions API?
The Extensions API lets you do more without leaving Tableau. Build Tableau extensions that can interact and communicate with Tableau, and embed them directly in your workbooks.
Setup and Running Samples
- You must have Node.js and npm installed. You can get these from http://nodejs.org.
Install Extensions API SDK Components and Start Server
Open a command prompt window to the location where you cloned this repo.
Install the Extensions API SDK components.
Build the TypeScript samples and install the Extensions API types library.
npm run build
Start the local Dashboard Extension server.
Launch Tableau and try the sample extensions in a dashboard. The samples are located in the
Note The local web server you start just serves to host the extension samples and extensions used in the tutorial, which have URLs similar to the following:
http://localhost:8765/Samples-Typescript/DataSources/datasources.htmlThis local web server is not intended to serve the Extensions API Help pages. View the Help on GitHub at https://tableau.github.io/extensions-api.
Samples written in Typescript are located in the
If you want to use TypeScript to write your extensions, you can run a script that starts up the HTTP server and actively listens for changes to the
.ts files located in the
To start the the HTTP server and listen for changes to the
npm run dev
For more information, see Use TypeScript with the Extensions API.
Sandboxed Extension Development Environment
Tableau is introducing development support for Sandboxed Extensions with Tableau 2019.3. Sandboxed Extensions run in a virtual sandbox and ensure the extension can’t make network calls outside of the hosting Tableau Server. The Extensions API SDK provides a local development environment that replicates the Tableau Hosting Cloud Service for Sandboxed Extensions. You can test your Sandboxed extensions locally with the same sandbox policies.
Start the local Sandboxed Extension web server.
npm run start-sandbox
Launch Tableau (Tableau 2019.3 and later) and try the sample Sandboxed Extension in a dashboard. You can find the
.trexfile and sample code in the
For more information, see Create and Test Sandboxed Extensions.
We would love submissions to either the Docs or Sample code! To contribute, first sign our CLA that can be found here. To submit a contribution, please fork the repository then submit a pull request to the
npm run lint to validate the style of your code. Please run this command before submitting any pull requests for Sample code.
Code contributions and improvements by the community are welcomed! See the LICENSE file for current open-source licensing and use information.
Before we can accept pull requests from contributors, we require a signed Contributor License Agreement (CLA).
Use Issues to log any problems or bugs you encounter in the docs or sample code.