Tableau Embedding API version 3.16.0
July 2026
- Extended on-demand access support in embedding workflows through capacity-based model licensing with Tableau+ and Tableau Cloud+ editions. For more information, see Capacity-based license model in the Tableau Cloud Help.
June 2026
Tableau Embedding API library: tableau.embedding.3.16.0.js
Available on Tableau Cloud and the Tableau CDN. Also available from npm. See Access the Embedding API.
About this release:
-
Added the
getVizQLDataServiceSessionInfo()method toTableauVizandTableauAuthoringVizinterfaces. The method returns a new objectVizQLDataServiceSessionInfo. This object contains fieldsvizqlServerSessionIdandglobalSessionHeader, which are used to query workbook data sources using the VizQL Data Service. -
Added
DataFormatandSemanticRoleto fields in results fromgetVisualSpecificationAsync.
See also:
Previous Releases
Tableau Embedding API version 3.15.0
February 2026
Tableau Embedding API library: tableau.embedding.3.15.0.js
Available on Tableau Cloud and the Tableau CDN. Also available from npm. See Access the Embedding API.
About this release:
-
Added ISO values to
PeriodTypefor parameters withRangedomain type. -
Lazy loading is now the default for the embedded iframe. The iframe
loadingattribute (iframe-attr-loading), now defers loading the embedded iframe until it becomes close to the visual viewport. For more information, see Add iframe attributes.
Tableau Embedding API version 3.14.0
December 2025
- Added an additional option for authenticating users of embedded content: unified access tokens (UATs). UATs facilitate authentication to embedded content and control access to content using JSON Web Tokens (JWTs).
September 2025
Tableau Embedding API library: tableau.embedding.3.14.0.js
Available on Tableau Cloud, Tableau Server, Tableau Public, and the Tableau CDN. Also available from npm. See Access the Embedding API.
About this release:
-
Added the
launchAnalyticsAssistantAsyncmethod to theVizandAuthoringVizobjects. Calling the method launches the Analytics Assistant (Tableau Agent) side panel. -
Added
IsAnalyticsAssistantAvailablemethod toViz(TableauViz) andAuthoringViz(TableauAuthoringViz). You can call this method to determine if Analytics Assistant is available for use. -
Added the
PulseMetricSizeChangedevent type toTableauPulse.
Tableau Embedding API version 3.13.0
June 2025
Tableau Embedding API library: tableau.embedding.3.13.0.js
Available on Tableau Cloud and the Tableau CDN. Also available from npm. See Access the Embedding API.
About this release:
-
A React version of the Embedding API v3 library is available from npm. For information about installing and using the Tableau Embedding React package, see Using the Tableau Embedding API React Components.
-
Added
hasAliasandaliasValueattributes toDataValue. -
Fixed an issue where calling the
applyRangeFilterAsync()method with amaxorminof 0 would throw an error.
Tableau Embedding API version 3.12.0
February 2025
Tableau Embedding API library: tableau.embedding.3.12.0.js
Available on Tableau Cloud and the Tableau CDN. Also available from npm. See Access the Embedding API.
About this release:
-
Added user attribute functions (UAF) support for Tableau Server. See Customize and Control Data Access Using User Attributes.
-
Added
<theme-parameter>child elements to Tableau Pulse. You can use these elements to apply custom themes to Tableau Pulse components. For more information, see Format and Customize Tableau Pulse. -
Added the
applyFilterAsync,applyFiltersAsync,clearFilterAsync, andclearFiltersAsyncmethods to Tableau Pulse. For more information see Filter Tableau Pulse Metrics. -
Added new event types for Tableau Pulse:
FirstInteractive,FirstPulseMetricSizeKnown, andPulseUrlChangedevents. For more information, see Add Event Listeners to Tableau Pulse. -
Added the
resizemethod to Tableau Pulse. You can use this method to adjust the iframe dimensions after a window or container size change. -
Added
getFiltersAsyncmethod to Tableau Pulse. Use this method to retrieve the list of categorical filters (CategoricalPulseFilters) on the Pulse metric. -
Added
applyTimeDimensionAsyncmethod to Tableau Pulse, which you can use to change the time dimension on the Pulse metric. And addedgetTimeDimensionAsyncto Tableau Pulse to get the time dimension on the Pulse metric. See Change time dimension of Tableau Pulse. -
Added the
getDomainAsyncmethod toCategoricalPulseFilter. You can use thegetDomainAsyncmethod to retrieve the available values for the given field of the categorical filter. -
Added new Tableau Pulse event types for time, filters, and insights:
PulseTimeDimensionChanged,PulseFiltersChanged, andPulseInsightDiscovered. -
Added the
time-dimensionattribute to Tableau Pulse, which you can use to apply an initial time dimension. See Change time dimension of Tableau Pulse.
-
Added
addFiltermethod to Tableau Pulse. You can use the method to add initial filters to the Pulse metric. See Filter Tableau Pulse during initialization using web components. -
Added
<pulse-filter>child element of<tableau-pulse>component, which can be used to add initial filters to apply to the Pulse metric. -
Added the
clearAllFiltersAsyncmethod to Tableau Pulse to clear all active filters on the Pulse metric. -
Added the
PulseErrorevent to Tableau Pulse. See Adding an event listener for a PulseError event.
Tableau Embedding API version 3.11.0
October 2024
Tableau Embedding API library: tableau.embedding.3.11.0.js
Available on Tableau Cloud and the Tableau CDN. Now available from npm. See Access the Embedding API.
About this release:
-
If you use the
getSummaryDataTableReadermethod, note the following. TheDataTableReaderreturns summary data with the columns sorted in ascending order. If you want to retrieve the summary data with the columns ordered as they appear in the view, you need to do some additional steps. See Sort order and the DataTableReader. -
Added a
resizemethod to the TableauVizandAuthoringVizobjects. You can use method to adjust the<iframe>dimensions after a window or container size change. For more information, see Sizing the embedded view. -
Added the
iframe-attr-loadingcomponent attribute, which allows for specifying the embedded loading attribute of the<iframe>. This attribute enables lazy loading, which can improve initial page load times. -
Added the
iframe-attr-stylecomponent attribute, which allows for specifying inline styles on the embedded<iframe>. -
Added the
iframe-attr-classcomponent attribute and<iframe-style>child element, which allow for specifying additional style selectors on the embedded<iframe>. -
For more information about using
<iframe>attributes, see Add iframe attributes.
Tableau Embedding API version 3.10.0
May 2024
Tableau Embedding API library: tableau.embedding.3.10.0.js
Available on Tableau Cloud and the Tableau CDN. Now available from npm. See Access the Embedding API.
About this release:
-
Fixes a bug to allow a Field to have
datatype=DataType.Spatial -
Added an attribute,
isGeospatial, toField. -
Implemented
Field.ColumnType. -
Added a layout attribute to
<tableau-pulse>web component. For more information, see Control layout of the embedded Pulse metric. -
Updated
Workbook.showCustomViewAsync()signature so itscustomViewNameparameter is optional. Omitting thecustomViewNameparameter resets any active custom view to the original view.
February 2024
Tableau Embedding API library: tableau.embedding.3.9.0.js
Available on Tableau Cloud and the Tableau CDN. Now available from npm. See Access the Embedding API.
About this release:
-
Published the Tableau Embedding API v3 libraries to the Node Package Manager (npm). You now have a new, modern option in how you use and deploy the Embedding API in your web applications. See Access the Embedding API.
-
Fixes a bug in the
getSelectedMarksAsyncmethod that would cause theformattedValueto be incorrect in multi-pane scenarios. -
Fixes an accessibility issue. Screen reader users can now distinguish between different vizzes embedded on the same page using the
iframetitle. -
Adds error handling and browser compatibility checks for all the custom elements.
Tableau Embedding API version 3.8.0
December 2023
Tableau Embedding API library: tableau.embedding.3.8.0.js
Available on Tableau Cloud and the Tableau CDN. See Access the Embedding API.
About this release:
-
Note that there was no Embedding API version 3.7.0 release.
-
Adds support for embedding Tableau Pulse metrics. See Embed Tableau Pulse.
-
Deprecates the Ask Data
web component. -
Adds support to control where Tableau content can be embedded using the Update Embedding Settings for Site method in the REST API when a web application uses a Tableau connected app with OAuth 2.0 trust (previously released for Tableau Cloud, now includes Tableau Server). See Tableau Site Settings for Embedding.
Tableau Embedding API version 3.6.0
June 2023
Tableau Embedding API library: tableau.embedding.3.6.0.js
Available on Tableau Cloud, Tableau Public, and from the Tableau CDN. See Access the Embedding API. Now available on Tableau Server 2023.3.
About this release:
-
Improves error handling for embedding views that use a connected app or EAS for authentication. You can now set up an event listener for a viz loading error. This release adds a new event type,
TableauEventType.VizLoadErrorand web attributeonVizLoadErrorEvent. In your event handler, you can now take action depending upon the connected app error codes. For more information, see Error handling for connected apps. -
Adds new methods for programmatically exporting or downloading views in various formats, including PDF, PowerPoint, crosstab (CSV), Excel, and image (PNG). The new methods include:
Viz.exportPDFAsync(),Viz.exportPowerPointAsync(), andViz.exportCrosstabAsync(). You can also export the summary data using the newViz.exportDataAsync()method and you can use the newWorksheet.getSummaryColumnInfoAsync()method to determine the which columns of data to download. For more information, see Export Embedded Views. -
To support scenarios where you want users to be able to open a new workbook on a site, you can specify a unique URL for each user. For more information, see Embed New Workbook on Tableau.
-
Adds support to control where Tableau content can be embedded using the Update Embedding Settings for Site method in the REST API when a web application uses a Tableau connected app with OAuth 2.0 trust (Tableau Cloud only). See Tableau Site Settings for Embedding.
-
For a chance to try out the Embedding API yourself, check out the Tableau Embedding Playground (Early Access). The playground provides an interactive learning environment for rapidly developing embedded analytics solutions (now in pre-release). Work with sample code and see what’s possible.
Tableau Embedding API version 3.5.0
March 2023
Tableau Embedding API library: tableau.embedding.3.5.0.js
Available on Tableau Server, Tableau Cloud, Tableau Public, and from the Tableau CDN. See Access the Embedding API.
About this release:
-
Adds support for
<tableau-ask-data>web component with Connected App support. See Embed Ask Data. -
Deprecates the
getSummaryDataAsync()method. Use the Worksheet.getSummaryDataReaderAsync method instead. -
Adds a helper function to
DataTableReaderfor developers who want to handle the data all at once (with a 4 million row limit). See thegetAllPagesAsync()method. -
Adds support for passing user attributes from a JSON Web Token (JWT) when authorizing access to embedded content using Tableau Connected Apps. See Control and Customize Data Access Using User Attributes.
-
Doc update: added topic Use Parameters in Embedded Views
-
Doc update:
MarksInfotype and color are not implemented.
Tableau Embedding API version 3.4.0
December 2022
Tableau Embedding API library: tableau.embedding.3.4.0.js
Available on Tableau Cloud, Tableau Public, and from the Tableau CDN. See Access the Embedding API.
About this release:
-
Adds support for annotating marks added with Worksheet.annotateMarkAsync.
-
Adds support for getting all annotations on a worksheet with Worksheet.getAnnotationsAsync.
-
Adds support for removing annotations with Worksheet.removeAnnotationAsync.
-
Adds support for DataTableReader to support pagination. Created with Worksheet.getSummaryDataReaderAsync, Worksheet.getUnderlyingTableDataReaderAsync, and DataSource.getLogicalTableDataReaderAsync. For more information, see Get Data from the View.
Tableau Embedding API version 3.3.0
October 2022
Tableau Embedding API library: tableau.embedding.3.3.0.js
Available on Tableau Server, Tableau Cloud, Tableau Public, and from the Tableau CDN. See Access the Embedding API.
Note: Starting with Tableau 2022.3 (Tableau Server, Tableau Cloud), Tableau uses the Embedding API v3 for the Embed Code (available from the Share dialog box). The Embedding API v3 replaces the Tableau JavaScript API v1 used previously.
About this release:
-
Adds support for hierarchical filters.
-
Adds support to initialize custom views.
-
Prevents the view from reloading after a web component dimension change.
-
Defines the default size of the view based on the content area specified by the enclosing HTML element.
-
Implements size for
SheetInfo,Worksheet,Dashboard, andDashboardObject. -
Adds support for adding event listeners directly on
<tableau-viz>web component. -
Uses the default dimensions if either the width/height is not defined on the web component
-
Implements the
Workbook.getCustomViewsAsync(),Workbook.showCustomViewAsync(),Workbook.removeCustomViewAsync(),Workbook.saveCustomViewAsync()andWorkbook.setActiveCustomViewAsDefaultAsync()methods. -
Implements the
CustomView.saveAsync()method. -
Adds support for initializing story points.
-
Fixes timing issues with
FirstInteractiveandFirstVizSizeKnownevents. -
Adds support for handling custom view events:
CustomViewRemoved,CustomViewSaved, andCustomViewSetDefault. -
Implements the
StoryPointSwitchevent. -
Adds support for resizing an
iframebased on when first sheet size is known. -
Supports dynamic resizing of the view based on browser viewport changes.
-
Implements the
Story.activateStoryPointAsync(),Workbook.activateNextStoryPointAsync(),Workbook.activatePreviousStoryPointAsync(),Workbook.revertStoryPointAsync()methods. -
Implements the
Sheet.changeSizeAsync()method. -
Implements the
Viz.getCurrentSrcAsync()method for both theTableauVizandTableauAuthoringVizobjects. -
Implements the
Viz.displayDialogAsync(TableauDialogType.Share).
Tableau Embedding API version 3.2.0
June 2022
Tableau Embedding API library: tableau.embedding.3.2.0.js
Available on Tableau Cloud, Tableau Public, and from the Tableau CDN. See Access the Embedding API.
About this release:
-
You can insert or remove custom context menus into Uber tooltip on the viz. See
appendContextMenuAsync,removeContextMenuAsync,UbertipandContextMenuOptions, and theCustomMarkContextMenuEventevent. -
If you add custom context menu items to the Uber tooltip (
Worksheet.appendContextMenuAsync()), you can customize the menu heading and add a tooltip description. By default, the heading for the custom menu item is Embedded. To rename the heading and add a tooltip description, call theWorksheet.renameContextMenuAsync()method. -
Introduced
TableauAuthoringViz(<tableau-authoring-viz>custom element) that exposes functionality to embed an authoring viz. See Embedded Web Authoring. -
Added the ability to hide edit button and suppress default edit behavior for
TableauVizandTableauAuthoringViz -
Added the ability to hide edit in desktop button for
TableauAuthoringViz -
Added the ability to hide close button for
TableauAuthoringViz -
Added functionality to handle
WorkbookPublished,WorkbookPublishedAs,WorkbookReadyToClose,EditButtonClicked, andEditInDesktopButtonClickedevents. -
Added the ability to automatically parse and switch to the correct mode when you set the
srcattribute in the<tableau-viz>or<tableau-authoring-viz>web component.-
For example, when using a
<tableau-viz>element, you can pass in an authoring URL and it will automatically get converted to a viewing URL (https://tableau.com/authoring/workbook/sheetis converted tohttps://tableau.com/views/workbook/sheet). -
This works in reverse as well: passing in a viewing URL into a
<tableau-authoring-viz>will automatically convert the URL into an authoring URL. -
Having this automatic conversion is great for the user because they can use the same URL for both viewing and authoring modes without having to worry about getting it right.
-
In the past, users could pass in an authoring URL into
<tableau-viz>and it would actually display correctly in authoring mode. Now it will still display correctly, but it will automatically be in viewing mode. - One additional thing to note… the URL parsing also handles#/views, which was problematic in the past. Basically, the code is more forgiving now and you can just copy and paste a URL from the browser’s address bar and use it for embedding. This addresses a constant customer complaint that the URL had to be “just right” in order to work in the past.
-
-
More support for Tableau events, so now you can create actions based on more interactions. This release adds support for the following events:
ToolbarStateChangedUrlActionTabSwitchedParameterChanged
-
This release adds support for Tableau parameters. You can now set parameters by adding
<viz-parameter>components to the<tableau-viz>web component. The parameter settings take effect at start up. Additionally, the library now supports the methodsWorkbook.getParametersAsync()andWorkbook.changeParameterValueAsync(). -
Increased options for exporting from Tableau. You can now call
Viz.exportImageAsync()to export images, and callViz.displayDialogAsync()method to display one of the export dialogs based on theTableauDialogTypeparameter (TableauDialogType.ExportPDF,TableauDialogType.ExportPowerPoint,TableauDialogType.ExportData,TableauDialogType.ExportCrossTab,TableauDialogType.ExportWorkbook). -
Added support for the
Workbook.activateSheetAsync()method. -
Added support for the
Workbook.revertAllAsync()method. -
Added support for
Filter.getAppliedWorksheets()andFilter.setAppliedWorksheets()methods. -
Added support for
Dashboard.getFiltersAsync()andDashboard.applyDashboardFilterAsync()methods. -
Added support for
Worksheet.applyRelativeDateFilterAsync()method. -
Added support for the
Viz.addFilter()method, used to apply a filter during initialization. This is the JavaScript equivalent of applying a<viz-filter>component to the<tableau-viz>web component.
Tableau Embedding API version 3.1.0
March 2022
Tableau Embedding API library: tableau.embedding.3.1.0.js
Available on Tableau Server, Tableau Cloud, Tableau Public, and from the Tableau CDN. See Access the Embedding API.
About this release:
-
You can now use JavaScript to embed a Tableau view. See Use JavaScript to initialize the API and embed the view.
-
The Embedding API v3 library is packaged as an ES6 module.
-
In this release, enums are now exposed and available in the library. For example, you can now use
FilterUpdateType.Replaceinstead of the string literal"replace". The use of enums is strongly encouraged as it eliminates potential coding errors caused by typos. -
You can now refresh data (
refreshDataAsync) on the Viz object. -
You can now redo (
redoAsync), undo (undoAsync)and revert all changes (revertAllAsync) on the Viz object. -
You can check the Viz object to see whether or not automatic updates are paused (using the
automaticUpdatesArePausedproperty), and you can now pause (pauseAutomaticUpdatesAsync), resume (resumeAutomaticUpdatesAsync), and toggle (toggleAutomaticUpdatesAsync) automatic updates. -
You can select marks in the worksheet, see selectMarksByValueAsync.
-
You can now access the
SheetandSheetInfoproperties,urlandisHidden.
Tableau Embedding API version 3.0.0
December 2021
- Tableau Embedding API library:
tableau.embedding.3.0.0.js
Available on the Tableau CDN. See Access the Embedding API.
Initial release of the Embedding API v3.
About this release:
-
Introduces the
<TableauViz>custom web component that provides all of functionality needed for JavaScript v1 customers (that is, anyone who uses the Embed Code feature on Tableau Server and Tableau Cloud) to migrate to using the Embedding API v3. -
This release of the Embedding API v3 provides access to some filtering and get data functionality. See API Reference documentation for the list of methods and properties supported. See Add Filtering.
-
This release of the Embedding API v3 enables listening to four events:
firstvizsizeknown,firstinteractive,markselectionchanged,filterchanged. See the API Reference and Add Events for more details. -
The Embedding API v3 supports connected apps and external authorization servers (EAS) as additional ways to authenticate. See Authorization and Embedded Views. For details about setting up these methods, see Register EAS to Enable SSO for Embedded Content (Linux) or Register EAS to Enable SSO for Embedded Content (Windows), and Configure Tableau Connected Apps to Enable SSO for Embedded Content for more information.
-
For this release, you need to use the string literal values (
"replace","add","all","remove"), instead of theFilterUpdateTypeenumerations (for example,FilterUpdateType.Replace). -
For this release, you need to use the string literal values for the
TableauEventType. For example, instead of using the enumTableauEventType.MarkSelectionChanged, you need to use"markselectionchanged"when you add or remove the event listener.