---
schema_version: "1"
id: 5fd7b3647015dca1b80d713fa9751813820532d1f5c71d92de01695a8e4e33b1
title: Viz | Tableau Embedding API
collection: tableau
version: current
locale: en-us
portal_url: https://docs.salesforce.com/tableau/current/en-us/api/embedding_api/reference/interfaces/Viz.md
canonical_url: https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/Viz.html
source_site: help.tableau.com
content_type: documentation
content_hash: f0a22c5ed0a6870d88d9655c708bc1092d3ad9946c7cba28b289b315acc0939a
description: Documentation for Tableau Embedding API
---
- Viz

# Interface Viz

The interface for the top level Viz object.

interface Viz {  
    [automaticUpdatesArePaused](#automaticupdatesarepaused): boolean;  
    [debug](#debug)?: boolean;  
    [device](#device)?: [DeviceType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/DeviceType.html);  
    [disableUrlActionsPopups](#disableurlactionspopups)?: boolean;  
    [height](#height)?: string | number;  
    [hideEditButton](#hideeditbutton)?: boolean;  
    [hideEditInDesktopButton](#hideeditindesktopbutton)?: boolean;  
    [hideTabs](#hidetabs)?: boolean;  
    [iframeAttributeClass](#iframeattributeclass)?: string;  
    [iframeAttributeLoading](#iframeattributeloading)?: string;  
    [iframeAttributeStyle](#iframeattributestyle)?: string;  
    [iframeAuth](#iframeauth)?: boolean;  
    [instanceIdToClone](#instanceidtoclone)?: string;  
    [onCustomMarkContextMenuEvent](#oncustommarkcontextmenuevent)?: string;  
    [onCustomViewLoaded](#oncustomviewloaded)?: string;  
    [onCustomViewRemoved](#oncustomviewremoved)?: string;  
    [onCustomViewSaved](#oncustomviewsaved)?: string;  
    [onCustomViewSetDefault](#oncustomviewsetdefault)?: string;  
    [onEditButtonClicked](#oneditbuttonclicked)?: string;  
    [onEditInDesktopButtonClicked](#oneditindesktopbuttonclicked)?: string;  
    [onFilterChanged](#onfilterchanged)?: string;  
    [onFirstInteractive](#onfirstinteractive)?: string;  
    [onFirstVizSizeKnown](#onfirstvizsizeknown)?: string;  
    [onMarkSelectionChanged](#onmarkselectionchanged)?: string;  
    [onParameterChanged](#onparameterchanged)?: string;  
    [onStoryPointSwitched](#onstorypointswitched)?: string;  
    [onSummaryDataChanged](#onsummarydatachanged)?: string;  
    [onTabSwitched](#ontabswitched)?: string;  
    [onToolbarStateChanged](#ontoolbarstatechanged)?: string;  
    [onUrlAction](#onurlaction)?: string;  
    [src](#src)?: null | string;  
    [suppressDefaultEditBehavior](#suppressdefaulteditbehavior)?: boolean;  
    [token](#token)?: string;  
    [toolbar](#toolbar)?: [Toolbar](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/Toolbar.html);  
    [touchOptimize](#touchoptimize)?: boolean;  
    [width](#width)?: string | number;  
    [workbook](#workbook)?: [Workbook](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/Workbook.html);  
    [addEventListener](#addeventlistener-1)(  
        type: [TableauEventType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/TableauEventType.html),  
        listener: EventListenerOrEventListenerObject,  
        options?: boolean | AddEventListenerOptions,  
    ): void;  
    [addFilter](#addfilter-1)(fieldName: string, value: string): void;  
    [displayDialogAsync](#displaydialogasync-1)(dialogType: [TableauDialogType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/TableauDialogType.html)): Promise<void\>;  
    [exportCrosstabAsync](#exportcrosstabasync-1)(  
        sheetName: string,  
        format: [CrosstabFileFormat](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/CrosstabFileFormat.html),  
    ): Promise<void\>;  
    [exportDataAsync](#exportdataasync-1)(  
        sheetName: string,  
        options?: [ExportDataOptions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/ExportDataOptions.html),  
    ): Promise<void\>;  
    [exportImageAsync](#exportimageasync-1)(): Promise<void\>;  
    [exportPDFAsync](#exportpdfasync-1)(  
        sheetNames?: string\[\],  
        options?: [ExportPDFOptions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/ExportPDFOptions.html),  
    ): Promise<void\>;  
    [exportPowerPointAsync](#exportpowerpointasync-1)(sheetNames?: string\[\]): Promise<void\>;  
    [getCurrentSrcAsync](#getcurrentsrcasync-1)(): Promise<string\>;  
    [getVizQLDataServiceSessionInfo](#getvizqldataservicesessioninfo-1)(): [VizQLDataServiceSessionInfo](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizQLDataServiceSessionInfo.html);  
    [isAnalyticsAssistantAvailableAsync](#isanalyticsassistantavailableasync-1)(): Promise<boolean\>;  
    [launchAnalyticsAssistantAsync](#launchanalyticsassistantasync-1)(): Promise<void\>;  
    [pauseAutomaticUpdatesAsync](#pauseautomaticupdatesasync-1)(): Promise<void\>;  
    [redoAsync](#redoasync-1)(): Promise<void\>;  
    [refreshDataAsync](#refreshdataasync-1)(): Promise<void\>;  
    [removeEventListener](#removeeventlistener-1)(  
        type: [TableauEventType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/TableauEventType.html),  
        listener: EventListenerOrEventListenerObject,  
        options?: boolean | EventListenerOptions,  
    ): void;  
    [resize](#resize-1)(): void;  
    [resumeAutomaticUpdatesAsync](#resumeautomaticupdatesasync-1)(): Promise<void\>;  
    [revertAllAsync](#revertallasync-1)(): Promise<void\>;  
    [setAuthToken](#setauthtoken-1)(token: string): void;  
    [toggleAutomaticUpdatesAsync](#toggleautomaticupdatesasync-1)(): Promise<void\>;  
    [undoAsync](#undoasync-1)(): Promise<void\>;  
}

#### Hierarchy ([View Summary](https://help.tableau.com/current/api/embedding_api/en-us/reference/hierarchy.html#Viz))

- [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html)
- [WebComponentLocalSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/WebComponentLocalSettings.html)
- [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html)
    - Viz

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:103

##### Index

### Methods

[addEventListener](#addeventlistener) [addFilter](#addfilter) [displayDialogAsync](#displaydialogasync) [exportCrosstabAsync](#exportcrosstabasync) [exportDataAsync](#exportdataasync) [exportImageAsync](#exportimageasync) [exportPDFAsync](#exportpdfasync) [exportPowerPointAsync](#exportpowerpointasync) [getCurrentSrcAsync](#getcurrentsrcasync) [getVizQLDataServiceSessionInfo](#getvizqldataservicesessioninfo) [isAnalyticsAssistantAvailableAsync](#isanalyticsassistantavailableasync) [launchAnalyticsAssistantAsync](#launchanalyticsassistantasync) [pauseAutomaticUpdatesAsync](#pauseautomaticupdatesasync) [redoAsync](#redoasync) [refreshDataAsync](#refreshdataasync) [removeEventListener](#removeeventlistener) [resize](#resize) [resumeAutomaticUpdatesAsync](#resumeautomaticupdatesasync) [revertAllAsync](#revertallasync) [setAuthToken](#setauthtoken) [toggleAutomaticUpdatesAsync](#toggleautomaticupdatesasync) [undoAsync](#undoasync)

### Properties

[automaticUpdatesArePaused](#automaticupdatesarepaused) [debug?](#debug) [device?](#device) [disableUrlActionsPopups?](#disableurlactionspopups) [height?](#height) [hideEditButton?](#hideeditbutton) [hideEditInDesktopButton?](#hideeditindesktopbutton) [hideTabs?](#hidetabs) [iframeAttributeClass?](#iframeattributeclass) [iframeAttributeLoading?](#iframeattributeloading) [iframeAttributeStyle?](#iframeattributestyle) [iframeAuth?](#iframeauth) [instanceIdToClone?](#instanceidtoclone) [onCustomMarkContextMenuEvent?](#oncustommarkcontextmenuevent) [onCustomViewLoaded?](#oncustomviewloaded) [onCustomViewRemoved?](#oncustomviewremoved) [onCustomViewSaved?](#oncustomviewsaved) [onCustomViewSetDefault?](#oncustomviewsetdefault) [onEditButtonClicked?](#oneditbuttonclicked) [onEditInDesktopButtonClicked?](#oneditindesktopbuttonclicked) [onFilterChanged?](#onfilterchanged) [onFirstInteractive?](#onfirstinteractive) [onFirstVizSizeKnown?](#onfirstvizsizeknown) [onMarkSelectionChanged?](#onmarkselectionchanged) [onParameterChanged?](#onparameterchanged) [onStoryPointSwitched?](#onstorypointswitched) [onSummaryDataChanged?](#onsummarydatachanged) [onTabSwitched?](#ontabswitched) [onToolbarStateChanged?](#ontoolbarstatechanged) [onUrlAction?](#onurlaction) [src?](#src) [suppressDefaultEditBehavior?](#suppressdefaulteditbehavior) [token?](#token) [toolbar?](#toolbar) [touchOptimize?](#touchoptimize) [width?](#width) [workbook?](#workbook)

## Methods

### addEventListener[](#addeventlistener)

- addEventListener(  
        type: [TableauEventType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/TableauEventType.html),  
        listener: EventListenerOrEventListenerObject,  
        options?: boolean | AddEventListenerOptions,  
    ): void[](#addeventlistener-1)
    
    Adds an event listener to the specified event.
    
    ```
    async function getSelectedMarks(event) {    const marksSelected = await event.detail.getMarksAsync();    const numMarks = marksSelected.data[0].data.length;    console.log(`${numMarks} marks Selected`);}let viz = document.getElementById('tableauViz');viz.addEventListener("markselectionchanged", getSelectedMarks);
    ```
    
    #### Parameters
    
    - type: [TableauEventType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/TableauEventType.html)
    - listener: EventListenerOrEventListenerObject
    - `Optional`options: boolean | AddEventListenerOptions
    
    #### Returns void
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[addEventListener](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#addeventlistener)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:356

### addFilter[](#addfilter)

- addFilter(fieldName: string, value: string): void[](#addfilter-1)
    
    Use this method to filter the viz before initialization. If used after initialization, it will re-render the viz. For filtering after initialization, use the other filtering methods, such as `applyFilterAsync`.
    
    If you add the same filter fields using the `addFilter()` method and by using the `<viz-filter>` element in the `<tableau-viz>` web component, you might experience unexpected behavior.
    
    #### Parameters
    
    - fieldName: string
        
        The name of the field to filter on.
    - value: string
        
        Single value or a list of comma separated values to filter on.
        
        ```
        viz.addFilter('Region', 'Central,West');
        ```
    
    #### Returns void
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[addFilter](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#addfilter)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:382

### displayDialogAsync[](#displaydialogasync)

- displayDialogAsync(dialogType: [TableauDialogType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/TableauDialogType.html)): Promise<void\>[](#displaydialogasync-1)
    
    Display one of the export dialogs based on the dialogType parameter
    
    Throws an error if dialogType is invalid
    
    #### Parameters
    
    - dialogType: [TableauDialogType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/TableauDialogType.html)
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[displayDialogAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#displaydialogasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:325

### exportCrosstabAsync[](#exportcrosstabasync)

- exportCrosstabAsync(  
        sheetName: string,  
        format: [CrosstabFileFormat](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/CrosstabFileFormat.html),  
    ): Promise<void\>[](#exportcrosstabasync-1)
    
    Exports the crosstab of any given worksheet within the current view to a specified format (CrosstabFileFormat.Excel, CrosstabFileFormat.CSV). Throws an error if the sheet name does not match any worksheets within the active sheet. Throws an error if the crosstab file failed to be created.
    
    Note
    
    `exportCrosstabAsync` resolves when a download is initiated. It does not indicate that a download was successful or if the download was complete.
    
    ```
    let viz = document.getElementById('tableauViz');viz.exportCrosstabAsync('Sales by Segment', CrosstabFileFormat.CSV);
    ```
    
    #### Parameters
    
    - sheetName: string
    - format: [CrosstabFileFormat](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/CrosstabFileFormat.html)
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[exportCrosstabAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#exportcrosstabasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:219

### exportDataAsync[](#exportdataasync)

- exportDataAsync(sheetName: string, options?: [ExportDataOptions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/ExportDataOptions.html)): Promise<void\>[](#exportdataasync-1)
    
    Exports the summary data shown in the View Data window (shown when you click Download > Data from the toolbar for any given worksheet within the current view). The current file format is CSV. There is no limitation on the amount of summary data you can export. Throws an error if the sheet name does not match any worksheets within the active sheet. Throws an error if the CSV file failed to be created.
    
    Note
    
    `exportDataAsync` resolves when a download is initiated. It does not indicate that a download was successful or if the download was complete.
    
    ```
    let viz = document.getElementById('tableauViz');const activeSheet = viz.workbook.activeSheet;if (activeSheet.sheetType === SheetType.Worksheet) {  const columns = await activeSheet.getSummaryColumnsInfoAsync();  // Getting fieldId's for Latitude and Longitude columns  const columnsToIncludeById = columns.map((column) => {    if (column.fieldName === 'Latitude' || column.fieldName === 'Longitude') {      return column.fieldId;    }  });  await viz.exportDataAsync(activeSheet.name, { columnsToIncludeById });}else if (activeSheet.sheetType === SheetType.Dashboard) {  // Exporting the summary data for each worksheet in the dashboard while also ignoring aliases  for (const worksheet of activeSheet.worksheets) {    await viz.exportDataAsync(worksheet.name, { ignoreAliases: true });  }}else{  // activeSheet is a Story and we want to export worksheets within the current view  const containedSheet = activeSheet.activeStoryPoint.containedSheet;  if (containedSheet !== undefined && containedSheet.sheetType === SheetType.Worksheet) {    // Exporting summary data of a worksheet within the active story point    await viz.exportDataAsync(containedSheet.name);  } else if (containedSheet !== undefined && containedSheet.sheetType === SheetType.Dashboard) {    // Exporting the summary data for each worksheet within the active story point    for (const worksheet of containedSheet.worksheets) {      await viz.exportDataAsync(worksheet.name);    }  }}
    ```
    
    #### Parameters
    
    - sheetName: string
    - `Optional`options: [ExportDataOptions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/ExportDataOptions.html)
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[exportDataAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#exportdataasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:264

### exportImageAsync[](#exportimageasync)

- exportImageAsync(): Promise<void\>[](#exportimageasync-1)
    
    Equivalent to clicking on Download > Image from the toolbar, which creates a PNG file of the current visualization.
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[exportImageAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#exportimageasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:205

### exportPDFAsync[](#exportpdfasync)

- exportPDFAsync(sheetNames?: string\[\], options?: [ExportPDFOptions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/ExportPDFOptions.html)): Promise<void\>[](#exportpdfasync-1)
    
    Exports the list of sheets with the given [ExportPDFOptions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/ExportPDFOptions.html) options. If no sheets are specified, the current sheet is exported. The list of sheets can either exclusively include the worksheets within a dashboard or exclusively include the published sheets from the workbook. If no ExportPDFOptions are specified, the default settings are: Scaling = Automatic, PageSize = Letter, and Orientation = Portrait.
    
    Throws an error if the list of sheets contains both worksheets within a dashboard and published sheets from the workbook. Throws an error if the PDF file fails to be created.
    
    Note
    
    `exportPDFAsync` resolves when a download is initiated. It does not indicate that a download was successful or if the download was complete.
    
    ```
    let viz = document.getElementById('tableauViz');const workbook = viz.workbook;const activeSheet = workbook.activeSheet;if (activeSheet.sheetType === SheetType.Worksheet || activeSheet.sheetType === SheetType.Story) {  await viz.exportPDFAsync();} else if (activeSheet.sheetType ===  SheetType.Dashboard) {  const worksheetNames = activeSheet.worksheets.map((worksheet) => worksheet.name);  await viz.exportPDFAsync(worksheetNames);}// exporting all sheets within the workbook to PDFconst publishedSheetNames = workbook.publishedSheetsInfo.map((publishedSheetInfo) => publishedSheetInfo.name);await viz.exportPDFAsync(publishedSheetNames);
    ```
    
    #### Parameters
    
    - `Optional`sheetNames: string\[\]
    - `Optional`options: [ExportPDFOptions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/ExportPDFOptions.html)
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[exportPDFAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#exportpdfasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:318

### exportPowerPointAsync[](#exportpowerpointasync)

- exportPowerPointAsync(sheetNames?: string\[\]): Promise<void\>[](#exportpowerpointasync-1)
    
    Exports the list of sheets to a PowerPoint file. If no sheets are specified, the current sheet is exported. The order the sheets appear in the list is the order the sheets appear in the PowerPoint file. The list of sheets can either exclusively include the worksheets within a dashboard or exclusively include the published sheets from the workbook.
    
    Throws an error if the list of sheets contains both worksheets within a dashboard and published sheets from the workbook. Throws an error if the PowerPoint file fails to be created.
    
    Note
    
    `exportPowerPointAsync` resolves when a download is initiated. It does not indicate that a download was successful or if the download was complete.
    
    ```
    let viz = document.getElementById('tableauViz');const workbook = viz.workbook;const activeSheet = workbook.activeSheet;if (activeSheet.sheetType === SheetType.Worksheet || activeSheet.sheetType === SheetType.Story) {  await viz.exportPowerPointAsync();} else if (activeSheet.sheetType ===  SheetType.Dashboard) {  const worksheetNames = activeSheet.worksheets.map((worksheet) => worksheet.name);  await viz.exportPowerPointAsync(worksheetNames);}// exporting all sheets within the workbook to PowerPointconst publishedSheetNames = workbook.publishedSheetsInfo.map((publishedSheetInfo) => publishedSheetInfo.name);await viz.exportPowerPointAsync(publishedSheetNames);
    ```
    
    #### Parameters
    
    - `Optional`sheetNames: string\[\]
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[exportPowerPointAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#exportpowerpointasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:291

### getCurrentSrcAsync[](#getcurrentsrcasync)

- getCurrentSrcAsync(): Promise<string\>[](#getcurrentsrcasync-1)
    
    Gets the visualization's current URL.
    
    #### Returns Promise<string\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[getCurrentSrcAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#getcurrentsrcasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:330

### getVizQLDataServiceSessionInfo[](#getvizqldataservicesessioninfo)

- getVizQLDataServiceSessionInfo(): [VizQLDataServiceSessionInfo](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizQLDataServiceSessionInfo.html)[](#getvizqldataservicesessioninfo-1)
    
    Gets the server session information for use with VizQL Data Service. The server session information contains the VizQL Server Session ID (X-Session-Id) and the Global Session Header (Global-Session-Header).
    
    #### Returns [VizQLDataServiceSessionInfo](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizQLDataServiceSessionInfo.html)
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[getVizQLDataServiceSessionInfo](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#getvizqldataservicesessioninfo)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:418

### isAnalyticsAssistantAvailableAsync[](#isanalyticsassistantavailableasync)

- isAnalyticsAssistantAvailableAsync(): Promise<boolean\>[](#isanalyticsassistantavailableasync-1)
    
    Indicates whether the Analytics Assistant side pane is available.
    
    #### Returns Promise<boolean\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[isAnalyticsAssistantAvailableAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#isanalyticsassistantavailableasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:412

### launchAnalyticsAssistantAsync[](#launchanalyticsassistantasync)

- launchAnalyticsAssistantAsync(): Promise<void\>[](#launchanalyticsassistantasync-1)
    
    Use this method to launch the Analytics Assistant side pane. You can use the `isAnalyticsAssistantAvailableAsync()` method to check if the Analytics Assistant is available for use.
    
    ```
    const isAnalyticsAssistantAvailable = await viz.isAnalyticsAssistantAvailableAsync();if (isAnalyticsAssistantAvailable) {  await viz.launchAnalyticsAssistantAsync();}
    ```
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[launchAnalyticsAssistantAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#launchanalyticsassistantasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:407

### pauseAutomaticUpdatesAsync[](#pauseautomaticupdatesasync)

- pauseAutomaticUpdatesAsync(): Promise<void\>[](#pauseautomaticupdatesasync-1)
    
    Pause layout updates. This is useful if you are resizing the visualization or performing multiple calls that could affect the layout.
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[pauseAutomaticUpdatesAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#pauseautomaticupdatesasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:180

### redoAsync[](#redoasync)

- redoAsync(): Promise<void\>[](#redoasync-1)
    
    Redoes the last action performed on a sheet.
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[redoAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#redoasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:335

### refreshDataAsync[](#refreshdataasync)

- refreshDataAsync(): Promise<void\>[](#refreshdataasync-1)
    
    Equivalent to clicking on the Refresh Data toolbar button.
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[refreshDataAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#refreshdataasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:200

### removeEventListener[](#removeeventlistener)

- removeEventListener(  
        type: [TableauEventType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/TableauEventType.html),  
        listener: EventListenerOrEventListenerObject,  
        options?: boolean | EventListenerOptions,  
    ): void[](#removeeventlistener-1)
    
    Removes an event listener from the specified event.
    
    ```
    let viz = document.getElementById('tableauViz');viz.removeEventListener("markselectionchanged", getSelectedMarks);
    ```
    
    #### Parameters
    
    - type: [TableauEventType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/TableauEventType.html)
    - listener: EventListenerOrEventListenerObject
    - `Optional`options: boolean | EventListenerOptions
    
    #### Returns void
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[removeEventListener](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#removeeventlistener)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:366

### resize[](#resize)

- resize(): void[](#resize-1)
    
    Use this method to readjust the dimensions of the embedded viz in response to things like a window resize, device orientation change, or parent container resize.
    
    ```
    window.addEventListener('resize', () => viz.resize());new ResizeObserver(() => viz.resize()).observe(viz.parentElement);
    ```
    
    #### Returns void
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[resize](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#resize)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:394

### resumeAutomaticUpdatesAsync[](#resumeautomaticupdatesasync)

- resumeAutomaticUpdatesAsync(): Promise<void\>[](#resumeautomaticupdatesasync-1)
    
    Resume layout updates.
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[resumeAutomaticUpdatesAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#resumeautomaticupdatesasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:185

### revertAllAsync[](#revertallasync)

- revertAllAsync(): Promise<void\>[](#revertallasync-1)
    
    Equivalent to clicking on the Revert All toolbar button, which restores the workbook to its starting state.
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[revertAllAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#revertallasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:195

### setAuthToken[](#setauthtoken)

- setAuthToken(token: string): void[](#setauthtoken-1)
    
    Provide an auth token for salesforce native mode
    
    #### Parameters
    
    - token: string
    
    #### Returns void
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:113

### toggleAutomaticUpdatesAsync[](#toggleautomaticupdatesasync)

- toggleAutomaticUpdatesAsync(): Promise<void\>[](#toggleautomaticupdatesasync-1)
    
    Toggle layout updates.
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[toggleAutomaticUpdatesAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#toggleautomaticupdatesasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:190

### undoAsync[](#undoasync)

- undoAsync(): Promise<void\>[](#undoasync-1)
    
    Undoes the last action performed on a sheet.
    
    #### Returns Promise<void\>
    
    Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[undoAsync](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#undoasync)
    
    - Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:340

## Properties

### `Readonly`automaticUpdatesArePaused[](#automaticupdatesarepaused)

automaticUpdatesArePaused: boolean

Indicates whether automatic updates are currently paused.

Inherited from [VizActions](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html).[automaticUpdatesArePaused](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizActions.html#automaticupdatesarepaused)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:175

### `Optional`debug[](#debug)

debug?: boolean

Indicates whether the non-minified version of JavaScript is loaded. If specified (or set to true), the non-minified version is used for both the local component and the Tableau Server visualization (if enabled). If not specified (or set to false), the minified version of the JavaScript files are loaded.

```
<tableau-viz id="tableauViz" debug /><tableau-authoring-viz id="tableauViz" debug /><tableau-ask-data id="tableauAskData" debug />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[debug](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#debug)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/WebComponentInterfaces.ts:50

### `Optional`device[](#device)

device?: [DeviceType](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/DeviceType.html)

Specifies a device layout for a dashboard, if it exists. Values can be default, desktop, tablet, or phone. If not specified, defaults to loading a layout based on the smallest dimension of the hosting iframe element.

```
<tableau-viz id="tableauViz"  device="desktop" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[device](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#device)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:545

### `Optional`disableUrlActionsPopups[](#disableurlactionspopups)

disableUrlActionsPopups?: boolean

Indicates whether to suppress the execution of URL actions. This option does not prevent the URL action event from being raised. You can use this option to change what happens when a URL action occurs. If set to true and you create an event listener for the URL\_ACTION event, you can use an event listener handler to customize the actions.

```
<tableau-viz id="tableauViz" disable-url-actions />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[disableUrlActionsPopups](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#disableurlactionspopups)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:513

### `Optional`height[](#height)

height?: string | number

Represents height in pixels Can be any valid CSS size specifier. If not specified, defaults to the published height of the view.

Inherited from [WebComponentLocalSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/WebComponentLocalSettings.html).[height](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/WebComponentLocalSettings.html#height)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/WebComponentInterfaces.ts:20

### `Optional`hideEditButton[](#hideeditbutton)

hideEditButton?: boolean

Indicates whether the Edit button is hidden or visible. If not set, defaults to false, meaning that the Edit button is visible.

```
<tableau-viz id="tableauViz" hide-edit-button>
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[hideEditButton](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#hideeditbutton)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:566

### `Optional`hideEditInDesktopButton[](#hideeditindesktopbutton)

hideEditInDesktopButton?: boolean

Indicates whether the Edit in Desktop button is hidden or visible. If not specified, defaults to false, meaning that the Edit in Desktop button is visible.

```
<tableau-viz id="tableauViz" hide-edit-in-desktop-button><tableau-authoring-viz id="tableauViz" hide-edit-in-desktop-button>
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[hideEditInDesktopButton](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#hideeditindesktopbutton)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:457

### `Optional`hideTabs[](#hidetabs)

hideTabs?: boolean

Indicates whether tabs are hidden or shown.

```
<tableau-viz id="tableauViz"  hide-tabs />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[hideTabs](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#hidetabs)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:522

### `Optional`iframeAttributeClass[](#iframeattributeclass)

iframeAttributeClass?: string

The value of the 'class' attribute of the embedded iframe providing access to any custom selectors defined in the `<iframe-style>` child tag.

```
<tableau-viz id="tableauViz" iframe-attr-class="red-border">  <iframe-style>    .red-border {      border: 1px solid red;    }  </iframe-style></tableau-viz>
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[iframeAttributeClass](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#iframeattributeclass)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/WebComponentInterfaces.ts:101

### `Optional`iframeAttributeLoading[](#iframeattributeloading)

iframeAttributeLoading?: string

The value of the 'loading' attribute of the embedded iframe. See: [https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#loading](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#loading)

```
<tableau-viz id="tableauViz" iframe-attr-loading="lazy" /><tableau-authoring-viz id="tableauViz" iframe-attr-loading="lazy" /><tableau-pulse id="tableauPulse" iframe-attr-loading="lazy" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[iframeAttributeLoading](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#iframeattributeloading)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/WebComponentInterfaces.ts:74

### `Optional`iframeAttributeStyle[](#iframeattributestyle)

iframeAttributeStyle?: string

The value of the 'style' attribute of the embedded iframe.

```
<tableau-viz id="tableauViz" iframe-attr-style="border: 1px solid red" /><tableau-authoring-viz id="tableauViz" iframe-attr-style="border: 1px solid red" /><tableau-pulse id="tableauPulse" iframe-attr-style="border: 1px solid red" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[iframeAttributeStyle](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#iframeattributestyle)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/WebComponentInterfaces.ts:85

### `Optional`iframeAuth[](#iframeauth)

iframeAuth?: boolean

Indicates whether to use the old auth mechanism for authentication which happens inside the iframe. If specified, VizLoadErrorEvents triggered due to auth failures will not be thrown.

```
<tableau-viz id="tableauViz" iframe-auth /><tableau-authoring-viz id="tableauViz" iframe-auth /><tableau-ask-data id="tableauAskData" iframe-auth />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[iframeAuth](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#iframeauth)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/WebComponentInterfaces.ts:62

### `Optional`instanceIdToClone[](#instanceidtoclone)

instanceIdToClone?: string

Specifies the ID of an existing instance to make a copy (clone) of. This is useful if the user wants to continue analysis of an existing visualization without losing the state of the original. If the ID does not refer to an existing visualization, the cloned version is derived from the original visualization.

```
<tableau-viz id="tableauViz"  instance-id-to-clone="id1" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[instanceIdToClone](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#instanceidtoclone)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:557

### `Optional`onCustomMarkContextMenuEvent[](#oncustommarkcontextmenuevent)

onCustomMarkContextMenuEvent?: string

An event raised when a custom mark context menu is clicked.

```
<tableau-viz id="tableauViz" onCustomMarkContextMenuEvent="onCustomMarkContextMenuEventHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onCustomMarkContextMenuEvent](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#oncustommarkcontextmenuevent)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:590

### `Optional`onCustomViewLoaded[](#oncustomviewloaded)

onCustomViewLoaded?: string

An event raised when a custom view has finished loading. This event is raised after the callback function for [TableauEventType.FirstInteractive](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/TableauEventType.html#firstinteractive) (if any) has been called.

```
<tableau-viz id="tableauViz" onCustomViewLoaded="onCustomViewLoadedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onCustomViewLoaded](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#oncustomviewloaded)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:639

### `Optional`onCustomViewRemoved[](#oncustomviewremoved)

onCustomViewRemoved?: string

An event raised when a custom view has been removed.

```
<tableau-viz id="tableauViz" onCustomViewRemoved="onCustomViewRemovedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onCustomViewRemoved](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#oncustomviewremoved)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:647

### `Optional`onCustomViewSaved[](#oncustomviewsaved)

onCustomViewSaved?: string

An event raised when a custom view has been saved (newly created or updated).

```
<tableau-viz id="tableauViz" onCustomViewSaved="onCustomViewSavedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onCustomViewSaved](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#oncustomviewsaved)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:655

### `Optional`onCustomViewSetDefault[](#oncustomviewsetdefault)

onCustomViewSetDefault?: string

An event raised when a custom view has been set as the default view for a workbook.

```
<tableau-viz id="tableauViz" onCustomViewSetDefault="onCustomViewSetDefaultHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onCustomViewSetDefault](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#oncustomviewsetdefault)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:663

### `Optional`onEditButtonClicked[](#oneditbuttonclicked)

onEditButtonClicked?: string

An event raised when the user clicks on the Edit Button.

```
<tableau-viz id="tableauViz" onEditButtonClicked="onEditButtonClickedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onEditButtonClicked](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#oneditbuttonclicked)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:574

### `Optional`onEditInDesktopButtonClicked[](#oneditindesktopbuttonclicked)

onEditInDesktopButtonClicked?: string

An event raised when the user clicks on the Edit In Desktop Button. You can use this event type with TableauViz objects.

```
<tableau-viz id="tableauViz" onEditInDesktopButtonClicked="onEditInDesktopButtonClickedHandler" /><tableau-authoring-viz id="tableauViz" onEditInDesktopButtonClicked="onEditInDesktopButtonClickedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onEditInDesktopButtonClicked](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#oneditindesktopbuttonclicked)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:477

### `Optional`onFilterChanged[](#onfilterchanged)

onFilterChanged?: string

An event raised when any filter has changed state. You can use this event type with TableauViz objects.

```
<tableau-viz id="tableauViz" onFilterChanged="onFilterChangedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onFilterChanged](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#onfilterchanged)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:582

### `Optional`onFirstInteractive[](#onfirstinteractive)

onFirstInteractive?: string

An event raised when the Viz object first becomes interactive. This is only raised once.

```
<tableau-viz id="tableauViz" "onFirstInteractive"="onFirstInteractiveHandler" /><tableau-authoring-viz id="tableauViz" onFirstInteractive="onFirstInteractiveHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onFirstInteractive](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#onfirstinteractive)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:496

### `Optional`onFirstVizSizeKnown[](#onfirstvizsizeknown)

onFirstVizSizeKnown?: string

An event raised when the size of the viz is known. You can use this event to perform tasks such as resizing the elements surrounding the Viz object once the object's size has been established.

```
<tableau-viz id="tableauViz" "onFirstVizSizeKnown"="onFirstVizSizeKnownHandler" /><tableau-authoring-viz id="tableauViz" onFirstVizSizeKnown="onFirstVizSizeKnownHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onFirstVizSizeKnown](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#onfirstvizsizeknown)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:487

### `Optional`onMarkSelectionChanged[](#onmarkselectionchanged)

onMarkSelectionChanged?: string

An event raised when the selected marks on a visualization have changed. You can use this event type with TableauViz objects.

```
<tableau-viz id="tableauViz" onMarkSelectionChanged="onMarkSelectionChangedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onMarkSelectionChanged](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#onmarkselectionchanged)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:598

### `Optional`onParameterChanged[](#onparameterchanged)

onParameterChanged?: string

An event raised when a parameter has had its value modified. You can use this event type with \[\[Parameter\]\] objects.

```
<tableau-viz id="tableauViz" onParameterChanged="onParameterChangedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onParameterChanged](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#onparameterchanged)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:606

### `Optional`onStoryPointSwitched[](#onstorypointswitched)

onStoryPointSwitched?: string

An event raised after a new story point becomes active.

```
<tableau-viz id="tableauViz" onStoryPointSwitched="onStoryPointSwitchedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onStoryPointSwitched](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#onstorypointswitched)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:671

### `Optional`onSummaryDataChanged[](#onsummarydatachanged)

onSummaryDataChanged?: string

An event raised when the summary data on a visualization have changed. You can use this event type with TableauViz objects.

```
<tableau-viz id="tableauViz" onSummaryDataChanged="onSummaryDataChangedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onSummaryDataChanged](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#onsummarydatachanged)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:679

### `Optional`onTabSwitched[](#ontabswitched)

onTabSwitched?: string

An event raised after a tab switch occurs (the active sheet has changed). Guarantees the viz object will be interactive after this.

```
<tableau-viz id="tableauViz" onTabSwitched="onTabSwitchedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onTabSwitched](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#ontabswitched)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:630

### `Optional`onToolbarStateChanged[](#ontoolbarstatechanged)

onToolbarStateChanged?: string

An event raised when a toolbar button or control becomes available or becomes unavailable.

```
<tableau-viz id="tableauViz" onToolbarStateChanged="onToolbarStateChangedHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onToolbarStateChanged](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#ontoolbarstatechanged)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:614

### `Optional`onUrlAction[](#onurlaction)

onUrlAction?: string

An event raised when a URL action occurs. See the [UrlActionEvent](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/UrlActionEvent.html) class.

```
<tableau-viz id="tableauViz" onUrlAction="onUrlActionHandler" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[onUrlAction](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#onurlaction)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:622

### `Optional`src[](#src)

src?: null | string

The viz src

Inherited from [WebComponentLocalSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/WebComponentLocalSettings.html).[src](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/WebComponentLocalSettings.html#src)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/WebComponentInterfaces.ts:8

### `Optional`suppressDefaultEditBehavior[](#suppressdefaulteditbehavior)

suppressDefaultEditBehavior?: boolean

Indicates whether the default edit behavior is suppressed. If not specified, defaults to false, meaning that the default edit behavior is not suppressed.

```
<tableau-viz id="tableauViz" suppress-default-edit-behavior><tableau-authoring-viz id="tableauViz" suppress-default-edit-behavior>
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[suppressDefaultEditBehavior](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#suppressdefaulteditbehavior)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:468

### `Optional`token[](#token)

token?: string

The token used for authorization

```
<tableau-viz id="tableauViz" token="some-token-containing-clientId" /><tableau-authoring-viz id="tableauViz" token="some-token-containing-clientId" /><tableau-ask-data id="tableauAskData" token="some-token-containing-clientId" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[token](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#token)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/WebComponentInterfaces.ts:37

### `Optional`toolbar[](#toolbar)

toolbar?: [Toolbar](https://help.tableau.com/current/api/embedding_api/en-us/reference/enums/Toolbar.html)

Specifies the position of the toolbar, if it is shown. The values can be Toolbar.Top, Toolbar.Bottom or Toolbar.Hidden. If not specified, defaults to Toolbar.Bottom.

```
<tableau-viz id="tableauViz"  toolbar="hidden" />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[toolbar](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#toolbar)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:533

### `Optional`touchOptimize[](#touchoptimize)

touchOptimize?: boolean

Indicates whether to touch optimize viz controls.

```
<tableau-viz id="tableauViz" touch-optimize /><tableau-authoring-viz id="tableauViz" touch-optimize />
```

Inherited from [VizSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html).[touchOptimize](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/VizSettings.html#touchoptimize)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:446

### `Optional`width[](#width)

width?: string | number

Represents width in pixels Can be any valid CSS size specifier. If not specified, defaults to the published width of the view.

Inherited from [WebComponentLocalSettings](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/WebComponentLocalSettings.html).[width](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/WebComponentLocalSettings.html#width)

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/WebComponentInterfaces.ts:14

### `Optional` `Readonly`workbook[](#workbook)

workbook?: [Workbook](https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/Workbook.html)

One Workbook is supported per visualization.

- Defined in packages/api-external-contract-js/src/ExternalContract/Embedding/VizInterfaces.ts:107

### Settings

Member Visibility

- Protected
- Inherited
- External

ThemeOSLightDark

### On This Page

Methods

[addEventListener](#addeventlistener)[addFilter](#addfilter)[displayDialogAsync](#displaydialogasync)[exportCrosstabAsync](#exportcrosstabasync)[exportDataAsync](#exportdataasync)[exportImageAsync](#exportimageasync)[exportPDFAsync](#exportpdfasync)[exportPowerPointAsync](#exportpowerpointasync)[getCurrentSrcAsync](#getcurrentsrcasync)[getVizQLDataServiceSessionInfo](#getvizqldataservicesessioninfo)[isAnalyticsAssistantAvailableAsync](#isanalyticsassistantavailableasync)[launchAnalyticsAssistantAsync](#launchanalyticsassistantasync)[pauseAutomaticUpdatesAsync](#pauseautomaticupdatesasync)[redoAsync](#redoasync)[refreshDataAsync](#refreshdataasync)[removeEventListener](#removeeventlistener)[resize](#resize)[resumeAutomaticUpdatesAsync](#resumeautomaticupdatesasync)[revertAllAsync](#revertallasync)[setAuthToken](#setauthtoken)[toggleAutomaticUpdatesAsync](#toggleautomaticupdatesasync)[undoAsync](#undoasync)

Properties

[automaticUpdatesArePaused](#automaticupdatesarepaused)[debug](#debug)[device](#device)[disableUrlActionsPopups](#disableurlactionspopups)[height](#height)[hideEditButton](#hideeditbutton)[hideEditInDesktopButton](#hideeditindesktopbutton)[hideTabs](#hidetabs)[iframeAttributeClass](#iframeattributeclass)[iframeAttributeLoading](#iframeattributeloading)[iframeAttributeStyle](#iframeattributestyle)[iframeAuth](#iframeauth)[instanceIdToClone](#instanceidtoclone)[onCustomMarkContextMenuEvent](#oncustommarkcontextmenuevent)[onCustomViewLoaded](#oncustomviewloaded)[onCustomViewRemoved](#oncustomviewremoved)[onCustomViewSaved](#oncustomviewsaved)[onCustomViewSetDefault](#oncustomviewsetdefault)[onEditButtonClicked](#oneditbuttonclicked)[onEditInDesktopButtonClicked](#oneditindesktopbuttonclicked)[onFilterChanged](#onfilterchanged)[onFirstInteractive](#onfirstinteractive)[onFirstVizSizeKnown](#onfirstvizsizeknown)[onMarkSelectionChanged](#onmarkselectionchanged)[onParameterChanged](#onparameterchanged)[onStoryPointSwitched](#onstorypointswitched)[onSummaryDataChanged](#onsummarydatachanged)[onTabSwitched](#ontabswitched)[onToolbarStateChanged](#ontoolbarstatechanged)[onUrlAction](#onurlaction)[src](#src)[suppressDefaultEditBehavior](#suppressdefaulteditbehavior)[token](#token)[toolbar](#toolbar)[touchOptimize](#touchoptimize)[width](#width)[workbook](#workbook)