# Visual Embed SDK changelog

> For the complete documentation index, see [llms.txt](https://developers.thoughtspot.com/docs/llms.txt)

Source: https://developers.thoughtspot.com/docs/embed-sdk-changelog

# Visual Embed SDK changelog

This page documents the changes introduced in each release of the Visual Embed SDK. For information about the REST API v2.0 changes, see the [REST API v2.0 changelog]({{navprefix}}/{{rest-apiv2-changelog}}).

## Version 1.52.x, September 2026

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_spotter_conversation_sharing_in_embedded_views" class="discrete">Spotter conversation sharing in embedded views</h5><div class="paragraph"><p>Embedding application users can now share a saved Spotter conversation with other users and groups directly from the embedded interface. Recipients can view the shared conversation in a read-only view. Conversation sharing is turned off by default in embedded views. To enable it, set <code>enableShareConversation</code> to <code>true</code> in the <code>spotterShareConversationConfig</code> object.</p></div><div class="dlist"><dl><dt class="hdlist1">Interface customization settings</dt><dd><p>The SDK also provides the following controls for conversation sharing:</p><div class="ulist"><ul><li><p><code>SpotterShareConversationConfig</code><br>Includes object properties for enabling conversation sharing, label and text overrides for the share button, share modal, recipient picker, and the read-only shared view. For more information, see <a href="{{navprefix}}/{{customize-spotter-sharing}}">Customize conversation sharing experience</a>.</p></li><li><p><code>sharedConversationId</code><br>Allows passing conversation ID to the SpotterEmbed when the sharing link is generated for the recipient users in the embedded app. For more information, see <a href="{{navprefix}}/{{customize-spotter-sharing}}#_customizing_conversation_sharing_link">Conversation sharing link</a></p></li></ul></div></dd><dt class="hdlist1">New action IDs</dt><dd><div class="ulist"><ul><li><p><code>Action.SpotterShareConversationButtonHeader</code> for <strong>Share</strong> button in the Spotter conversation header.</p></li><li><p><code>Action.SpotterShareConversationMenuItemSidebar</code> for <strong>Share</strong> menu action in the chat history panel in the sidebar.</p></li><li><p><code>Action.SpotterShareIncludeNewMessagesCheckbox</code> for the <code>include new messages since last shared version</code> checkbox in the share modal.</p></li><li><p><code>SpotterSharedConversationBannerDismissButton</code> for the dismiss button of the data access banner displayed in the shared conversation view.</p></li><li><p><code>Action.SpotterShareUpToCurrentInfo</code> for the share modal footer note.</p></li><li><p><code>Action.SpotterSharedConversationBanner</code> for the data access banner shown when a recipient opens a shared conversation.</p></li><li><p><code>Action.SpotterShareStaleInfoBannerDismissButton</code> for the banner that shows the message, "This data may have changed since the last time you had a chat."</p></li><li><p><code>Action.SpotterSharedConversationExitButton</code> for <strong>Exit</strong> button in the read-only view of the shared conversation.</p></li></ul></div></dd><dt class="hdlist1">New host events</dt><dd><div class="ulist"><ul><li><p><code>HostEvent.ShareSpotterConversation</code><br>Opens the Spotter share conversation modal for the given conversation ID.</p></li><li><p><code>HostEvent.ExitSpotterSharedConversation</code><br>Exits the read-only view of the shared conversation.</p></li><li><p><code>HostEvent.CloseSpotterShareConversation</code><br>Closes the Spotter share conversation modal.</p></li></ul></div></dd><dt class="hdlist1">New embed events</dt><dd><div class="ulist"><ul><li><p><code>EmbedEvent.SpotterConversationShared</code><br>Emitted when a Spotter conversation is shared with the intended recipients.</p></li><li><p><code>EmbedEvent.SpotterConversationShareRevoked</code><br>Emitted when access to a shared Spotter conversation is revoked.</p></li><li><p><code>EmbedEvent.SpotterSharedConversationViewed</code><br>Emitted when a recipient opens a shared Spotter conversation.</p></li><li><p><code>EmbedEvent.SpotterShareConversationButtonHeaderClicked</code><br>Emitted when the Share button in the conversation header is clicked.</p></li><li><p><code>EmbedEvent.SpotterShareConversationMenuItemSidebarClicked</code><br>Emitted when the Share action in the menu displayed for a chat in the chat history sidebar.</p></li><li><p><code>SpotterShareIncludeNewMessagesCheckboxToggled</code><br>Emitted when the user toggles the "include new messages since last shared version" checkbox in the share modal.</p></li><li><p><code>EmbedEvent.SpotterShareModalCancelButtonClicked</code><br>Emitted when the Cancel button in the share conversation modal is clicked.</p></li><li><p><code>EmbedEvent.SpotterShareStaleInfoBannerDismissed</code>+ Emitted when the user dismisses the banner that shows the text, "This data may have changed since the last time you had a chat."</p></li><li><p><code>EmbedEvent.SpotterSharedConversationExitButtonClicked</code><br>Emitted when a user exits the shared conversation read-only view.</p></li></ul></div></dd></dl></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_browser_history_management_in_embedded_application" class="discrete">Browser history management in embedded application</h5><div class="paragraph"><p>To override the browser history behavior for embedding application users, you can now set <code>overrideHistoryState</code> in the Visual Embed SDK. Use this setting in your embed when the in-app navigation between objects pushes multiple entries onto the host application’s browser history stack. When set to <code>true</code>, this feature prevents users from getting trapped in back-button loops inside the embedded iframe.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_customization_controls_for_collections_in_full_application_embedding" class="discrete">Customization controls for Collections in full application embedding</h5><div class="paragraph"><p>The <code>HomeLeftNavItem.Collections</code> enum value is now available in the Visual Embed SDK. Embed developers can include <strong>Collections</strong> as a selectable navigation option in the embedded left navigation panel for full application embeds. When enabled, end users of the embedded application can navigate to <strong>Collections</strong> from the left navigation panel.</p></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{full-app-customize}}">Customize full application embedding</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">MODIFIED</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_lazy_loading_defaults_for_liveboards" class="discrete">Lazy loading defaults for Liveboards</h5><div class="paragraph"><p>When <code>fullHeight</code> is enabled on <code>LiveboardEmbed</code> or <code>AppEmbed</code>, the following lazy-loading parameters now default to <code>true</code>:</p></div><div class="ulist"><ul><li><p><code>lazyLoadingForFullHeight</code><br>Enables lazy loading of visualizations when fullHeight is enabled.</p></li><li><p><code>enableScrollableContainerLazyLoading</code><br>Enables lazy loading for scrollable container elements.</p></li><li><p><code>lazyLoadingMargin</code><br>Sets the margin for lazy loading to <code>'500px 0px'</code>.</p></li></ul></div><div class="paragraph"><p>These defaults apply automatically. Any value you set explicitly, including <code>false</code>, overrides the default. If <code>fullHeight</code> is disabled or not specified, the behavior is not affected.</p></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{lazy-loading-fullheight}}">Full height and lazy loading options for Liveboards</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_pre_render_configuration_object" class="discrete">Pre-render configuration object</h5><div class="paragraph"><p>The SDK introduces the <code>PreRenderConfig</code> interface, which bundles the existing prerender settings such as <code>preRenderId</code>, <code>preRenderContainer</code>, and <code>doNotTrackPreRenderSize</code> into a single object.</p></div><div class="paragraph"><p>The existing individual <code>preRenderId</code>, <code>preRenderContainer</code>, and <code>doNotTrackPreRenderSize</code> properties at the top-level are deprecated in this version. Update your integration to use the new <code>preRenderConfig</code> property on <code>BaseViewConfig</code> instead of the individual top-level properties.</p></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{prerender}}">Pre-rendering ThoughtSpot embed components</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_css_customization" class="discrete">CSS customization</h5><div class="dlist"><dl><dt class="hdlist1">CSS variable for unsaved filter indicator</dt><dd><p>A new CSS variable <code>--ts-var-unsaved-filter-indicator-color</code> is available to customize the color of the "unsaved changes" indicator dot shown on filter and parameter chips.</p></dd><dt class="hdlist1">Insight tile CSS variables</dt><dd><p>New CSS variables are available to customize the Liveboard insight tile appearance:</p><div class="ulist"><ul><li><p><code>--ts-var-liveboard-insight-tile-background</code><br>Background color of the insight tile.</p></li><li><p><code>--ts-var-liveboard-insight-tile-icon-color</code><br>Color of the insight tile icon.</p></li><li><p><code>--ts-var-liveboard-insight-tile-success-color</code><br>Color used for positive/success indicators.</p></li><li><p><code>--ts-var-liveboard-insight-tile-failure-color</code><br>Color used for negative/failure indicators.</p></li></ul></div></dd></dl></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{css-customization}}">CSS customization framework</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"></td><td class="tableblock halign-left valign-top"></td></tr></tbody></table>

## Version 1.51.x, August 2026

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_liveboard_embedding" class="discrete">Liveboard embedding</h5><div class="paragraph"><p>The SDK includes the following new features and enhancements in Liveboard embedding.</p></div><div class="dlist"><dl><dt class="hdlist1"><code>liveboardGutter</code> embed config property</dt><dd><p>A new <code>liveboardGutter</code> property is available on <code>LiveboardViewConfig</code>. Use this property to set the gutter spacing between tiles on an embedded Liveboard. For more information, see <a href="{{navprefix}}/{{embed-pinboard}}#liveboard-gutter">Set Liveboard tile gutter</a></p></dd><dt class="hdlist1">12-column layout for Liveboard tile positioning</dt><dd><p>A new embed config property is available on <code>LiveboardViewConfig</code> to always use a 12-column grid layout for Liveboard tile positioning. When enabled, tile placement and sizing follow a fixed 12-column grid regardless of the Liveboard’s default layout settings. For more information, see <a href="{{navprefix}}/{{embed-pinboard}}#force-12col-layout">12-column layout in embedded Liveboards</a></p></dd><dt class="hdlist1">New host events for the Liveboard edit page</dt><dd><div class="ulist"><ul><li><p><code>HostEvent.OpenAddFilterModal</code><br>Opens the Add Filter modal in the Liveboard edit view. Trigger this event to let users add a filter without navigating the UI manually.</p></li><li><p><code>HostEvent.OpenAddParameterModal</code><br>Opens the Add Parameter modal in the Liveboard edit view. Trigger this event to let users add a parameter from a host application control.</p></li></ul></div></dd></dl></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{events-hostEvents}}#open-add-filter-parameter-modal">Host events</a>.</p></div><div class="dlist"><dl><dt class="hdlist1">CSS customization variables for Liveboard</dt><dd><p>These new CSS variables are available for Liveboard layout and header customization:</p><div class="ulist"><ul><li><p><code>--ts-var-liveboard-header-horizontal-margin</code><br>Sets the left and right margins of the Liveboard header. Set this to the same pixel value as <code>liveboardGutter</code> in <code>LiveboardViewConfig</code> to align the header with the tile grid.</p></li><li><p><code>--ts-var-liveboard-dual-column-breakpoint</code><br>Sets the container width threshold at which the Liveboard layout collapses from 12 columns to 2 columns.<br></p></li><li><p><code>--ts-var-liveboard-single-column-breakpoint</code><br>Sets the container width threshold at which the Liveboard layout collapses from 2 columns to a single column.<br></p></li></ul></div></dd></dl></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{customize-css-styles}}#liveboard-layout-vars">Liveboard layout CSS variables</a> and <a href="{{navprefix}}/{{customize-css-styles}}#_liveboard">Liveboard CSS variables</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_spotter_embedding" class="discrete">Spotter embedding</h5><div class="dlist"><dl><dt class="hdlist1">Spotter Analysts</dt><dd><p>The Visual Embed SDK introduces controls for the Spotter Analysts feature in embedded applications. The Analysts section in the Spotter sidebar is disabled by default in the embed mode. For more information, see <a href="{{navprefix}}/{{customize-spotter-analysts}}#_spotter_analysts">Spotter Analysts in embed view</a>.</p></dd><dt class="hdlist1">Starter prompts</dt><dd><p>If quick starter prompts are enabled and configured for data models on a ThoughtSpot instance, you can display these prompts in the embed using the <code>enableStarterPrompts</code> parameter. For more information, see <a href="{{navprefix}}/{{customize-spotter-chat-experience}}#_spotter_starter_prompts">Spotter quick starter prompts</a>.</p></dd></dl></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">MODIFIED</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_liveboard_embedding_2" class="discrete">Liveboard embedding</h5><div class="paragraph"><p>The following Liveboard embedding settings are set to <code>true</code> by default on all ThoughtSpot embedded instances:</p></div><div class="ulist"><ul><li><p><code>hideIrrelevantChipsInLiveboardTabs</code><br>Hides filters that are not relevant to the displayed visualization.</p></li><li><p><code>isLiveboardCompactHeaderEnabled</code><br>Enables compact header layout in embedded Liveboards.</p></li><li><p><code>coverAndFilterOptionInPDF</code><br>Enables the <strong>Include cover page</strong> and <strong>Include filter page(s)</strong> checkboxes in the Liveboard download modal.</p></li><li><p><code>isLiveboardMasterpiecesEnabled</code><br>Enables the <a href="{{navprefix}}/{{embed-pinboard}}#_liveboard_grouping_and_styling">Liveboard styling and grouping</a> feature.</p></li><li><p><code>isEnhancedFilterInteractivityEnabled</code><br>Enables interactive filter chips that allow users to add, update, or remove filters in an embedded Liveboard.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{embed-pinboard}}#common-customizations">Common customization options in Liveboard embedding</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_object_format_support_in_hostevent_navigate" class="discrete">Object format support in HostEvent.Navigate</h5><div class="paragraph"><p>The <code>HostEvent.Navigate</code> event now supports an object format in addition to the existing string path format. Use the object format to replace the current browser history entry instead of pushing a new entry.</p></div></div></td></tr></tbody></table>

## Version 1.50.x, July 2026

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_spotterviz_embed_customization" class="discrete">SpotterViz embed customization</h5><div class="paragraph"><p>The Visual Embed SDK 1.50.0 introduces the <code>SpotterVizConfig</code> interface and <code>SpotterVizStarterPrompt</code> interface to allow embed developers to customize the SpotterViz panel on embedded Liveboards and full-application embeds.</p></div><div class="paragraph"><p>A new <code>SpotterVizConfig</code> interface is available on <code>LiveboardViewConfig</code> and <code>AppViewConfig</code> for the <code>spotterViz</code> object. This object provides branding customization controls for customizing the SpotterViz panel experience. For more information, see <a href="{{navprefix}}/{{embed-spotterViz}}">SpotterViz in embedded Liveboards</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_home_page_customization_in_full_application_embedding" class="discrete">Home page customization in full application embedding</h5><div class="paragraph"><p>For full application embedding, ThoughtSpot provides a focused and streamlined home page experience. To enable this feature, use the <code>HomePage.Focused</code> option with the <code>homePage</code> attribute in the <code>discoveryExperience</code> object.</p></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{full-app-customize}}">Customize full application embedding</a>.</p></div></div></td></tr></tbody></table>

## Version 1.49.x, June 2026

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_visual_overrides_for_charts_and_tables" class="discrete">Visual overrides for charts and tables</h5><div class="paragraph"><p>The SDK introduces the <code>visualOverrides</code> object in <code>SearchViewConfig</code> and <code>AppViewConfig</code>, enabling embed developers to apply chart and table display customizations to the new answers from an embedded Search data interface at initialization time.</p></div><div class="paragraph"><p>The <code>visualOverrides</code> object provides the following customization controls to modify the chart and table display:</p></div><div class="ulist"><ul><li><p><code>legend</code> to control legend visibility, position, and color palette of charts.</p></li><li><p><code>dataLabel</code> attribute for data labels and per-column label filters.</p></li><li><p><code>display</code> attributes such as regression line overlay and grid line visibility in charts, and table themes and content density in tables.</p></li><li><p><code>axis</code> property for axis name and label visibility and fixed y-axis range.</p></li><li><p><code>columns</code> property for per-column series color and conditional formatting rules in charts, and column visibility, text wrapping, conditional formatting, and column summary in tables.</p></li><li><p><code>updateMaskPaths</code> property for partial updates.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{viz-overrides}}">Visualization overrides</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_liveboard_browser_cache_refresh" class="discrete">Liveboard browser cache refresh</h5><div class="paragraph"><p>For embedded Liveboards, the SDK provides <code>enableLiveboardDataCache</code> to clear browser cache and fetch new data for the visualizations on the Liveboard.</p></div><div class="paragraph"><p>The SDK also provides the following events and action ID to programmatically trigger cache refresh and control the visibility of the <strong>Refresh</strong> button.</p></div><div class="ulist"><ul><li><p><code>EmbedEvent.RefreshLiveboardBrowserCache</code><br>Emitted when the Liveboard browser cache is refreshed.</p></li><li><p><code>HostEvent.RefreshLiveboardBrowserCache</code><br>Trigger a manual cache refresh from the host application.</p></li><li><p><code>Action.RefreshLiveboardBrowserCache</code><br>Action ID to show or hide the cache refresh button.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{embed-pinboard}}#liveboard-data-cache">Enable Liveboard refresh</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_spotter_file_upload" class="discrete">Spotter file upload</h5><div class="paragraph"><p>The SDK introduces the following configuration parameters in <code>SpotterChatConfig</code> object to enable and control file uploads in the embedded Spotter chat interface.</p></div><div class="ulist"><ul><li><p><code>spotterFileUploadEnabled</code><br>When set to <code>true</code>, enables the file upload feature in the Spotter chat panel.</p></li><li><p><code>spotterFileUploadFileTypes</code><br>Restricts the file types allowed for upload in the Spotter chat panel.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{embed-spotter}}#fileUpload">Allowing file uploads in Spotter chats</a>.</p></div></div></td></tr></tbody></table>

## Version 1.48.x, May 2026

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_liveboard_embedding_3" class="discrete">Liveboard embedding</h5><div class="paragraph"><p>The SDK includes the following new features and enhancements in Liveboard embedding.</p></div><div class="dlist"><dl><dt class="hdlist1">Continuous Liveboard layout in PDF downloads <sup class="beta betaBackground">Beta</sup></dt><dd><p>When set to <code>true</code>, the <code>isContinuousLiveboardPDFEnabled</code> enables the Liveboard tab to render on a single page that matches the exact UI layout you see in ThoughtSpot. This update addresses the issue where visualizations for PDF downloads were split across multiple A4 pages regardless of how they appear on screen. This feature is in beta and can be enabled by setting <code>isContinuousLiveboardPDFEnabled</code> to <code>true</code>.</p><div class="dlist"><dl><dt class="hdlist1">New events and action IDs</dt><dd><div class="ulist"><ul><li><p><code>EmbedEvent.DownloadLiveboardAsContinuousPDF</code><br>Emits when the download action is triggered.</p></li><li><p><code>HostEvent.DownloadLiveboardAsContinuousPDF</code><br>Programmatically triggers the download action to export the PDF with a continuous Liveboard layout.</p></li><li><p><code>Action.DownloadLiveboardAsContinuousPDF</code><br>Action ID to control the visibility of download action that exports continuous PDFs.</p></li></ul></div></dd></dl></div></dd><dt class="hdlist1">Liveboard download actions</dt><dd><p>The following action IDs are introduced in the SDK for the download buttons at the Liveboard level:</p><div class="ulist"><ul><li><p><code>Action.DownloadLiveboard</code><br></p></li><li><p><code>Action.DownloadLiveboardAsXlsx</code><br></p></li><li><p><code>Action.DownloadLiveboardAsCsv</code></p></li></ul></div></dd><dt class="hdlist1">Test email for Liveboard scheduled jobs</dt><dd><p>The SDK introduces the <code>isSendNowLiveboardSchedulingEnabled</code> to enable the <strong>Send now</strong> option for the Liveboard scheduled jobs. This option allows Liveboard users to send a test email notification to either themselves or the intended recipients of the Liveboard scheduled alerts.</p><div class="dlist"><dl><dt class="hdlist1">New events and action IDs</dt><dd><div class="ulist"><ul><li><p><code>EmbedEvent.SendTestScheduleEmail</code><br>Emits when <strong>Send now</strong> button is clicked.</p></li><li><p><code>HostEvent.SendTestScheduleEmail</code><br>Programmatically triggers the Send now action to send a test email notification for a Liveboard scheduled job.</p></li><li><p><code>Action.SendTestScheduleEmail</code><br>Action ID to disable, show, or hide the <strong>Send now</strong> button on the Liveboard schedule page.</p></li></ul></div></dd></dl></div></dd></dl></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_spotter_embedding_2" class="discrete">Spotter embedding</h5><div class="paragraph"><p>The SDK introduces the following action IDs to control the visibility of specific UI components in chat panel of the embedded Spotter interface:</p></div><div class="ulist"><ul><li><p><code>Action.SpotterChatConnectorResources</code><br>For the connector resources section in the Spotter chat interface.</p></li><li><p><code>Action.SpotterChatConnectors</code><br>For the connectors panel section in the Spotter chat interface.</p></li><li><p><code>Action.SpotterChatModeSwitcher</code><br>For the mode switcher in the Spotter chat interface.</p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_event_handling" class="discrete">Event handling</h5><div class="paragraph"><p>Note the following changes:</p></div><div class="dlist"><dl><dt class="hdlist1">EmbedEvent</dt><dd><div class="ulist"><ul><li><p><code>EmbedEvent.Subscribed</code><br>The SDK introduces the <code>EmbedEvent.Subscribed</code> to emit an event when a HostEvent listener is registered. You can use this event to dispatch host events during the initial load without race conditions. This is particularly useful for Spotter, where host events such as <code>HostEvent.ResetSpotterConversation</code> may be triggered immediately after load.</p></li><li><p><code>EmbedEvent.Error</code><br>The <code>EmbedEvent.Error</code> now fires on HostEvent payload validation failures.</p></li></ul></div></dd><dt class="hdlist1">HostEvent</dt><dd><div class="ulist"><ul><li><p><code>HostEvent.GetExportRequestForCurrentPinboard</code> <span class="version-badge breaking">Breaking</span><br>The response payload of the <code>GetExportRequestForCurrentPinboard</code> passthrough host event has been updated to include a <code>type</code> discriminator field, making it consistent with the shape of other host event responses. It now returns <code>{ data: { v2Content }, type }</code> instead of <code>{ v2Content }</code> directly. This enhancement introduces a breaking change for any code that reads <code>result.v2Content</code> directly. Update your integration workflows to use <code>result.data.v2Content</code>.</p></li></ul></div></dd></dl></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><h5 id="_personalized_view_selection_via_host_event" class="discrete">Personalized View selection via host event</h5><div class="ulist"><ul><li><p><code>EmbedEvent.ChangePersonalizedView</code><br>Emits when a user selects a different Personalized View on an embedded Liveboard, or resets to the default view. For more information, see <a href="{{navprefix}}/{{EmbedEvent}}#_changepersonalizedview">EmbedEvent reference documentation</a>.</p></li><li><p><code>HostEvent.SelectPersonalizedView</code><br>The SDK introduces <code>HostEvent.SelectPersonalizedView</code> to programmatically switch the active Personalized View on an embedded Liveboard from the host application. For more information, see <a href="{{navprefix}}/{{}}">HostEvent reference documentation</a>.</p><div class="dlist"><dl><dt class="hdlist1">⚠️Deprecated events and action IDs️</dt><dd><p>The following events are deprecated and replaced with new event IDs.</p></dd></dl></div></li><li><p><code>EmbedEvent.UpdatePersonalisedView</code>. Use <code>EmbedEvent.UpdatePersonalizedView</code>.</p></li><li><p><code>EmbedEvent.SavePersonalisedView</code>. Use <code>EmbedEvent.SavePersonalizedView</code>.</p></li><li><p><code>EmbedEvent.DeletePersonalisedView</code>. Use <code>EmbedEvent.DeletePersonalizedView</code>.</p></li><li><p><code>HostEvent.ResetLiveboardPersonalisedView</code>. Use <code>HostEvent.ResetLiveboardPersonalizedView</code>.</p></li><li><p><code>Action.PersonalisedViewsDropdown</code>. Use <code>Action.PersonalizedViewsDropdown</code>.</p></li><li><p><code>Action.OrganiseFavourites</code>. Use <code>Action.OrganizeFavorites</code>.</p></li></ul></div></div></td></tr></tbody></table>

## Version 1.47.x, April 2026

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Spotter chat history sidebar customization</strong></p></div><div class="paragraph"><p>The SDK introduces the <code>SpotterSidebarViewConfig</code> interface and the <code>spotterSidebarConfig</code> object with configuration controls to customize the appearance and contents of the chat history panel. Developers can use the following properties in the <code>spotterSidebarConfig</code> object to enable or disable chat history panel and customize the contents of the sidebar when enabled:</p></div><div class="ulist"><ul><li><p><code>enablePastConversationsSidebar</code><br>Controls the visibility of the past conversations sidebar panel. The chat history panel is disabled by default in embed view. When this property in <code>spotterSidebarConfig</code> is specified, it takes precedence over the standalone <code>enablePastConversationsSidebar</code> setting, which is deprecated from v1.47.0.</p></li><li><p><code>spotterSidebarTitle</code><br>Allows adding custom title text for the sidebar header.</p></li><li><p><code>spotterSidebarDefaultExpanded</code><br>Sets the default state of the sidebar to expanded or collapsed view.</p></li><li><p><code>spotterChatRenameLabel</code><br>Allows setting a custom label for the <strong>Rename</strong> action in the conversation edit menu.</p></li><li><p><code>spotterChatDeleteLabel</code><br>Allows setting a custom label for the <strong>Delete</strong> action in the conversation edit menu.</p></li><li><p><code>spotterDeleteConversationModalTitle</code><br>Allows editing the title text of the chat delete confirmation modal.</p></li><li><p><code>spotterPastConversationAlertMessage</code><br>Sets a custom message text for the past conversation banner alert. Defaults to the translated alert message.</p></li><li><p><code>spotterBestPracticesLabel</code><br>Allows customizing the label for the best practices button in the sidebar footer.</p></li><li><p><code>spotterDocumentationUrl</code><br>The best practices documentation link shown in the sidebar footer. You can customize the link by specifying the full URL.</p></li><li><p><code>spotterConversationsBatchSize</code><br>Sets the number of conversations to fetch per batch when loading conversation history. Default is <code>30</code>.</p></li><li><p><code>spotterNewChatButtonTitle</code><br>Allows customizing the title text for the <strong>New chat</strong> button in the sidebar.</p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag redBackground">DEPRECATED</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Standalone <code>enablePastConversationsSidebar</code> attribute in Spotter embed</strong></p></div><div class="paragraph"><p>The standalone <code>enablePastConversationsSidebar</code> property on <code>SpotterEmbedViewConfig</code> and <code>AppViewConfig</code> is deprecated from SDK 1.47.0 and ThoughtSpot 26.4.0.cl.</p></div><div class="paragraph"><p>Use <code>enablePastConversationsSidebar</code> in the <code>spotterSidebarConfig</code> instead. When both are defined, the property in the <code>spotterSidebarConfig</code> object takes precedence.</p></div><div class="listingblock"><div class="content"><pre class="highlight"><code class="language-javascript" data-lang="javascript">enablePastConversationsSidebar: false,

spotterSidebarConfig: {
    enablePastConversationsSidebar: true,
    //... other config properties
}</code></pre></div></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Spotter chat UI branding</strong></p></div><div class="paragraph"><p>The SDK introduces the <code>SpotterChatViewConfig</code> interface for customizing branding in Spotter tool response cards. You can pass these parameters as the <code>spotterChatConfig</code> object properties in <code>SpotterEmbed</code>, <code>AppEmbed</code>, or <code>LiveboardEmbed</code> where Spotter interface is used.</p></div><div class="ulist"><ul><li><p><code>hideToolResponseCardBranding</code><br>When set to <code>true</code>, hides the ThoughtSpot logo and icon in tool response cards. The branding label prefix is controlled separately via <code>toolResponseCardBrandingLabel</code>. Default value is <code>false</code>.</p></li><li><p><code>toolResponseCardBrandingLabel</code><br>Custom label to replace the <code>ThoughtSpot</code> prefix in tool response cards. Set to an empty string (<code>''</code>) to hide the prefix entirely.</p></li></ul></div><blockquote><p><strong>NOTE:</strong> These settings do not affect the external MCP tool branding.</p></blockquote></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Liveboard embed enhancements</strong></p></div><div class="dlist"><dl><dt class="hdlist1">Personalized Liveboard view</dt><dd><p>The <code>personalizedViewId</code> property allows embedding a saved personalized view of a Liveboard. A personalized view is a saved configuration that includes specific filter selections and changes applied by a user. To embed a personalized view of Liveboard, specify the GUID of the saved personalized view to load along with <code>liveboardId</code>.</p></dd><dt class="hdlist1">Centralized Liveboard filter setting</dt><dd><p>When set to <code>true</code>, the <code>isCentralizedLiveboardFilterUXEnabled</code> enables displaying a unified modal to manage and update multiple filters at once, replacing the older individual filter interactions. This feature is disabled by default on ThoughtSpot Embedded instances.</p></dd></dl></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Option to include current period in rolling date filters</strong></p></div><div class="paragraph"><p>If the current period inclusion in rolling date filters feature is enabled on your instance, the rolling date filters options such as <strong>Last &lt;N&gt; &lt;period&gt;</strong> and <strong>Next &lt;N&gt; &lt;period&gt;</strong> for the Liveboards and Answers in the embed view will allow you to include current period. For example, when you define a date range such as "Last 2 months", the date filter interface displays the <strong>Include this month</strong> checkbox. To disable this feature, use the <code>isThisPeriodInDateFiltersEnabled</code> setting. To hide, show, or disable this option in the embed view, use the action ID, <code>Action.IncludeCurrentPeriod</code>.</p></div></div></td></tr></tbody></table>

## Version 1.46.x, March 2026

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Host events with page context framework</strong></p></div><div class="paragraph"><p>The Visual Embed SDK introduces the HostEvent V2 framework for improved handling and execution of host events in embedded ThoughtSpot experiences with multi-layer UI interactions. The v2 framework supports the page context feature, which tracks the top-most active layer in the user’s current context. Developers can use this feature to route events based on the user’s current context or set a specific target context for precise and predictable handling of host events.</p></div><div class="ulist"><ul><li><p>To enable this feature, set <code>useHostEventsV2</code> to <code>true</code>.</p></li><li><p>To retrieve the current context, use <code>getCurrentContext()</code>.</p></li><li><p>To set a target context for a host event, use <a href="{{navprefix}}/{{ContextType}}">ContextType</a>.</p></li></ul></div><div class="paragraph"><p>For more information, refer to the <a href="{{navprefix}}/{{events-context-aware-routing}}">Host events documentation</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag redBackground">DEPRECATED</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>dataPanelV2</strong></p></div><div class="paragraph"><p>The <code>dataPanelV2</code> parameter is deprecated and can no longer be used to switch between the classic and new data panel experience. By default, the new data panel v2 experience is enabled on all ThoughtSpot embedded instances.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Spotter experience</strong> The SDK includes the following parameters, action IDs, and events to customize the Spotter embed experience.</p></div><div class="dlist"><dl><dt class="hdlist1">Chat history sidebar customization</dt><dd><div class="ulist"><ul><li><p>Action IDs for customizing the visibility and status of actions in the embedded Spotter interface:</p><div class="ulist"><ul><li><p><code>Action.DataModelInstructions</code> for the data model instructions icon.</p></li><li><p><code>Action.SpotterSidebarHeader</code> for the chat history sidebar header</p></li><li><p><code>Action.SpotterSidebarFooter</code> for the chat history sidebar footer</p></li><li><p><code>Action.SpotterSidebarToggle</code> for the chat history toggle that expands or collapses the sidebar.</p></li><li><p><code>Action.SpotterNewChat</code> for the new chat icon in the chat history sidebar.</p></li><li><p><code>Action.SpotterPastChatBanner</code> for the banner in the chat history sidebar.</p></li><li><p><code>Action.SpotterChatMenu</code> for the chat menu component in the chat history sidebar.</p></li><li><p><code>Action.SpotterChatRename</code> for <strong>Rename</strong> action in the chat menu of a saved chat.</p></li><li><p><code>Action.SpotterChatDelete</code> for <strong>Delete</strong> action in the chat menu of a saved chat.</p></li></ul></div></li></ul></div></dd><dt class="hdlist1">Events</dt><dd><div class="ulist"><ul><li><p><code>HostEvent.DataModelInstructions</code><br>Opens the Data Model instructions modal.</p></li><li><p><code>EmbedEvent.DataModelInstructions</code><br>Is emitted when a user clicks the Data Model instructions icon in the Spotter interface.</p></li><li><p><code>EmbedEvent.SpotterConversationRenamed</code><br>Is emitted when a user renames a saved chat.</p></li><li><p><code>EmbedEvent.SpotterConversationDeleted</code><br>Is emitted when a saved chat is deleted.</p></li><li><p><code>EmbedEvent.SpotterConversationSelected</code><br>Is emitted when a saved chat is selected in the chat history sidebar.</p></li></ul></div></dd></dl></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><p class="tableblock"><code>enableLinkOverridesV2</code><br></p><p class="tableblock">Use this configuration setting to override ThoughtSpot URLs on hover or when opening in a new tab. This is recommended over the earlier <code>linkOverride</code> flag for a better user experience.</p></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Liveboard experience enhancements</strong></p></div><div class="ulist"><ul><li><p>The <code>isLiveboardXLSXCSVDownloadEnabled</code> attribute adds XLSX and CSV to the available Liveboard download formats.</p></li><li><p>The <code>isGranularXLSXCSVSchedulesEnabled</code> attribute allows you to include the entire Liveboard, specific visualizations, or only tables and pivot tables in the XLSX and CSV schedules.</p></li></ul></div></div></td></tr></tbody></table>

## Version 1.45.0, February 2026

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Spotter enhancements</strong></p></div><div class="paragraph"><p>You can now embed the Spotter 3 experience in your application and use features such as Auto mode for automatic data model selection, chat history, and a new chat prompt interface.</p></div><div class="ulist"><ul><li><p>To enable the new chat prompt interface, set <code>updatedSpotterChatPrompt</code> to <code>true</code>.</p></li><li><p>To use Auto mode, set the <code>worksheetId</code> to <code>auto_mode</code>.</p></li><li><p>To enable Chat history, set <code>enablePastConversationsSidebar</code> to <code>true</code>.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{embed-spotter}}">Embedding Spotter</a> and <a href="{{navprefix}}/{{embed-ai-analytics}}#_feature_status_and_availability_in_embed_mode">Features available with Spotter 3 experience</a>.</p></div><div class="dlist"><dl><dt class="hdlist1">Events</dt><dd><div class="ulist"><ul><li><p><code>EmbedEvent.AddToCoaching</code> for the <strong>Add to Coaching</strong> workflow in a Spotter conversation session</p></li><li><p><code>HostEvent.AddToCoaching</code> to trigger the <strong>Add to Coaching</strong> action in a Spotter conversation session.</p></li><li><p><code>HostEvent.StartNewSpotterConversation</code> to trigger the action to start a new chat session with Spotter.</p></li></ul></div></dd></dl></div><blockquote><p><strong>NOTE:</strong> On Spotter embed deployments running version 26.2.0.cl or later, the Add to Coaching feature is enabled by default. To disable or hide the Add to Coaching button, use the InConversationTraining action ID.</p></blockquote></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Liveboard experience enhancements</strong><br></p></div><div class="dlist"><dl><dt class="hdlist1">Styling and grouping</dt><dd><div class="ulist"><ul><li><p>The <code>isLiveboardStylingAndGrouping</code> attribute, used to enable the Liveboard styling and grouping feature, is now replaced with <code>isLiveboardMasterpiecesEnabled</code>. While your existing configuration with the deprecated <code>isLiveboardStylingAndGrouping</code> attribute continues to work, we recommend switching to the new configuration setting.</p></li><li><p>The following action IDs are now available to show, disable, or hide the grouping menu actions on a Liveboard:</p><div class="ulist"><ul><li><p><code>Action.MoveToGroup</code> for the <strong>Move to Group</strong> menu action.</p></li><li><p><code>Action.MoveOutOfGroup</code> for the <strong>Move out of Group</strong> menu action.</p></li><li><p><code>Action.CreateGroup</code> for the <strong>Create Group</strong> menu action.</p></li><li><p><code>Action.UngroupLiveboardGroup</code> for the <strong>Ungroup Liveboard Group</strong> menu action.</p></li></ul></div></li></ul></div></dd><dt class="hdlist1">Filter chip masking</dt><dd><p>The <code>showMaskedFilterChip</code> boolean parameter is now available to control the visibility of masked filter chips on a Liveboard. When set to <code>true</code>, if a Liveboard is shared with a user who has restricted access due to column-level security, the filter chip corresponding to those inaccessible columns will be displayed as masked to that user. When set to <code>false</code>, the filter chip for inaccessible columns will not be visible to the user.</p><div class="paragraph"><p>For more information, see <a href="https://docs.thoughtspot.com/cloud/latest/security-data-object#csr-liveboard">Column security rules on Liveboards</a>.</p></div><div class="paragraph"><p>The <code>showMaskedFilterChip</code> setting is also available in full application embedding.</p></div></dd></dl></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Publishing objects</strong></p></div><div class="paragraph"><p>The following action IDs are available for the data publishing menu actions in the <strong>Data workspace</strong> page:</p></div><div class="ulist"><ul><li><p><code>Action.Publish</code> for <strong>Publish</strong></p></li><li><p><code>Action.ManagePublishing</code> for <strong>Manage publishing</strong></p></li><li><p><code>Action.Unpublish</code> for <strong>Unpublish</strong></p></li><li><p><code>Action.Parameterize</code> for <strong>Parameterize</strong></p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Error handling improvements</strong></p></div><div class="paragraph"><p>To handle errors in the embedding workflows, the SDK includes the following features:</p></div><div class="ulist"><ul><li><p><code>ErrorDetailsTypes</code> enum for categorizing error types, such as <code>API</code>, <code>VALIDATION_ERROR</code>, and <code>NETWORK</code>.</p></li><li><p><code>EmbedErrorCodes</code> enum with specific error codes for programmatic error handling.</p></li><li><p><code>EmbedErrorDetailsEvent</code> interface for structured error event handling.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="https://developers.thoughtspot.com/docs/Enumeration_EmbedErrorCodes">EmbedErrorCodes</a> and <a href="https://developers.thoughtspot.com/docs/Enumeration_ErrorDetailsTypes">ErrorDetailsTypes</a>.</p></div></div></td></tr></tbody></table>

## Version 1.44.x, January 2026

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag redBackground">DEPRECATED</span></p></td><td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Use <code>minimumHeight</code> instead of <code>defaultHeight</code></strong><br></p><p class="tableblock">The <code>defaultHeight</code> parameter is deprecated in Visual Embed SDK v1.44.2 and later. To set the minimum height of the embed container for ThoughtSpot components such as a Liveboard, use the <code>minimumHeight</code> attribute instead.</p></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Intercepting API calls</strong><br>The SDK provides the following attributes to intercept API calls and handle interception via events and custom workflows:</p></div><div class="ulist"><ul><li><p><code>interceptUrls</code><br>Allows configuring which API calls to intercept.</p></li><li><p><code>interceptTimeout</code><br>Sets the timeout duration for handling interception.</p></li><li><p><code>isOnBeforeGetVizDataInterceptEnabled</code><br>When set to true, it enables use of <code>EmbedEvent.OnBeforeGetVizDataIntercept</code> to emit and intercept search execution calls initiated by users and implement custom logic or workflows to allow or restrict search execution.</p></li><li><p><code>EmbedEvent.ApiIntercept</code><br>Emits when an API call matching the conditions defined in <code>interceptUrls</code> is detected.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{api-intercept}}">Intercept API calls and search requests</a>.</p></div></div></td></tr></tbody></table>

## Version 1.43.0, November 2025

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Code-based custom actions</strong></p></div><div class="paragraph"><p>The following enumerations are available for code-based custom actions:</p></div><div class="ulist"><ul><li><p><code>CustomActionTarget</code><br>To define the target object for the custom action, such as on a Liveboard, visualization, Answer, or in Spotter.</p></li><li><p><code>CustomActionsPosition</code><br>To define the position of the custom action in the target object, such as primary menu, <strong>More</strong> options menu <span class="image"><img src="/docs/doc-images/images/icon-more-10px.png" alt="the more options menu"></span>, or the contextual menu.</p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Attribute to set Parameter chip visibility during overrides</strong><br>The <code>HostEvent.UpdateParameters</code> event now supports configuring the <code>isVisibleToUser</code> attribute to show or hide the Parameter chips after an override. For more information, see <a href="{{navprefix}}/{{runtime-parameters}}#_show_or_hide_parameter_chips_in_embedded_sessions">Show or hide Parameter chips in embedded sessions</a>.</p></td></tr></tbody></table>

## Version 1.42.0, October 2025

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Runtime overrides in Spotter embed</strong></p></div><div class="paragraph"><p>The Visual Embed SDK now supports runtime overrides in Spotter embed.</p></div><div class="ulist"><ul><li><p>To apply runtime filters, use the <code>runtimeFilters</code> object</p></li><li><p>To apply runtime Parameters, use the <code>runtimeParameters</code> object.</p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>PNG images in Liveboard schedule notifications</strong><br>To enable embedding PNG images of Liveboards in scheduled job notifications sent to subscribers, the SDK provides the <code>isPNGInScheduledEmailsEnabled</code> boolean parameter. When set to true, scheduled emails will include a PNG image of the Liveboard.</p></div><div class="paragraph"><p>The SDK also provides the following action IDs:</p></div><div class="ulist"><ul><li><p><code>Action.PngScreenshotInEmail</code><br>Adds the option to include a PNG screenshot in the notification email body when scheduling emails in ThoughtSpot.</p></li><li><p><code>Action.RemoveAttachment</code><br>Allows the user to remove an attachment from the email configuration in the schedule email dialog.</p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Spotter embed</strong></p></div><div class="dlist"><dl><dt class="hdlist1">Action IDs</dt><dd><p>The following action IDs are available for Spotter embedding and are currently supported only in the <code>hiddenActions</code> array:</p><div class="ulist"><ul><li><p><code>Action.SpotterWarningsBanner</code><br>Action ID to control the visibility of the Spotter warnings banner in the UI. This banner displays general warnings or informational messages related to Spotter results or queries.</p></li><li><p><code>Action.SpotterWarningsOnTokens</code><br>Action ID to control the visibility of warning indicators on individual Spotter tokens parsed from a Spotter query.</p></li><li><p><code>Action.SpotterTokenQuickEdit</code><br>Action ID to enable or disable the <a href="https://docs.thoughtspot.com/cloud/latest/spotter-getting-started#quick-edits" target="_blank" rel="noopener">quick edit functionality</a> for Spotter tokens.</p></li></ul></div></dd></dl></div></div></td></tr></tbody></table>

## Version 1.41.0, September 2025

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>React component for Spotter Agent embed</strong></p></div><div class="paragraph"><p>The Visual Embed SDK now supports embedding Spotter Agent feature without a body or Spotter interface in a React app. For ease of implementation, the SDK also provides a custom React hook, <code>useSpotterAgent</code>.</p></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{embed-ts-react-app}}#_embed_spotter_agent_in_your_own_app">Spotter Agent embedding in a React app</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Event handlers for Spotter embed</strong></p></div><div class="paragraph"><p>The following event handlers are now available for Spotter embed:</p></div><div class="ulist"><ul><li><p><code>EmbedEvent.SpotterInit</code><br>Fires when Spotter embed component rendering is initialized.</p></li><li><p><code>EmbedEvent.QueryChanged</code><br>Fires when the Spotter query is updated by the user.</p></li><li><p><code>HostEvent.AskSpotter</code><br>Triggers <strong>Ask Spotter</strong> action for visualizations.</p></li><li><p><code>HostEvent.GetParameters</code><br>Triggers the action to fetch runtime Parameters applied on a visualization.</p></li><li><p><code>HostEvent.UpdateParameters</code><br>Triggers the action to update runtime Parameters for a Spotter-generated Answer.</p></li><li><p><code>HostEvent.GetTML</code><br>Triggers the action to get TML representation of a Spotter-generated Answer.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{EmbedEvent}}">EmbedEvent</a> and <a href="{{navprefix}}/{{HostEvent}}">HostEvent</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Event handlers for Spotter Agent embed</strong></p></div><div class="paragraph"><p>You can now use the following host events in Spotter Agent embedding:</p></div><div class="ulist"><ul><li><p><code>HostEvent.DownloadAsCsv</code><br>Triggers the action to download a Spotter-generated Answer in CSV format.</p></li><li><p><code>HostEvent.DownloadAsPng</code><br>Triggers the action to download a Spotter-generated Answer in PNG format.</p></li><li><p><code>HostEvent.DownloadAsXlsx</code><br>Triggers the action to download a Spotter-generated Answer in XLSX format.</p></li><li><p><code>HostEvent.DownloadAsPdf</code><br>Triggers the action to download the PDF version of a Spotter-generated Answer.</p></li><li><p><code>HostEvent.Pin</code><br>Triggers the action to add a Spotter-generated Answer to a Liveboard.</p></li><li><p><code>HostEvent.Save</code><br>Triggers the <strong>Save</strong> action for a Spotter-generated Answer.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{HostEvent}}">HostEvent</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Lazy loading of visualizations on an embedded Liveboard</strong></p></div><div class="paragraph"><p>You can now use the <code>lazyLoadingForFullHeight</code> parameter with the <code>fullHeight</code> to progressively load visualizations on an embedded Liveboard. When both these attributes are enabled, only the visualizations in the current viewport are loaded initially, while the other visualizations load as the user scrolls the Liveboard page.</p></div><div class="paragraph"><p>You can also set the margin property for lazy loading to define when the visualization should load.</p></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{lazy-loading-fullheight}}">Lazy loading of visualizations in an embedded Liveboard</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Full application embed</strong><br></p></div><div class="paragraph"><p>You can now enable the persona-based left navigation panel and home page experience on your ThoughtSpot instance. This feature is disabled by default on ThoughtSpot instances and is available for Early Access. When it’s enabled on your ThoughtSpot instance, you can roll out the new experience on embedding applications by configuring the <a href="{{navprefix}}/{{AppViewConfig}}#_discoveryexperience"><code>discoveryExperience</code></a> attribute.</p></div><div class="paragraph"><p>When enabled, the left navigation panel organizes the application menu into persona-based contextual sections. For example, the <strong>Insights</strong> icon for business users, the <strong>Data Workspace</strong> icon for Analysts and Data engineers, and the <strong>Develop</strong> icon for developers. Your application users can navigate to each option using the tabs in the left navigation panel. The new interface also provides a slider to allow users to view or hide the left navigation panel.</p></div></div></td></tr></tbody></table>

## Version 1.40.0, July 2025

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Fullscreen presentation mode controls for embedded Liveboards and visualizations</strong><br>Developers can now control whether a visualization or Liveboard can be presented in full screen mode using the <code>disableFullscreenPresentation</code> attribute. By default, the full screen mode is disabled on embedded Liveboards and visualizations.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>PDF download settings</strong><br>Developers can now control the display of <strong>Include cover page</strong> and <strong>Include filter page(s)</strong> options on the Download PDF dialog for Liveboards. The <strong>Include cover page</strong> and <strong>Include filter page(s)</strong> options are disabled by default on ThoughtSpot instances. When this feature is enabled, developers can use the <code>coverAndFilterOptionInPDF</code> attribute to show or hide these options for the Liveboard users in their embedding app.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Parameter for overriding a default primary action</strong><br></p></div><div class="paragraph"><p>If Spotter is enabled on your instance, the <strong>Spotter</strong> button appears by default as the primary action on embedded Liveboard charts; if Spotter is not enabled, the <strong>Explore</strong> button is set as the primary action. If you want to replace the primary action with a different action, you can now use the <code>primaryAction</code> attribute.</p></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{embed-actions}}#_override_default_primary_actions">Override default primary action</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Full application embed experience enhancements</strong><br></p></div><div class="paragraph"><p>The SDK now includes the <code>hideObjectSearch</code> property, which allows developers to hide the object search button in the navigation bar when embedding the full application.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Host events</strong><br></p></div><div class="paragraph"><p>In this version, the SDK introduces the following host event handlers:</p></div><div class="ulist"><ul><li><p><code>HostEvent.ExitPresentMode</code><br>Triggers the exit action that allows users to exit the Liveboard or visualization present mode.</p></li><li><p><code>HostEvent.SpotterSearch</code><br>Triggers a search operation for the specified query string in Spotter embed.</p></li><li><p><code>HostEvent.PreviewSpotterData</code><br>Triggers the <strong>Preview data</strong> action that shows the data used for Spotter conversations.</p></li><li><p><code>HostEvent.ResetSpotterConversation</code><br>Triggers the <strong>Reset</strong> action to reset a Spotter conversation.</p></li><li><p><code>HostEvent.EditLastPrompt</code><br>Triggers the edit prompt action.</p></li><li><p><code>HostEvent.DeleteLastPrompt</code><br>Triggers the delete prompt action.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{HostEvent}}">HostEvent</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Events support for Spotter embed</strong></p></div><div class="paragraph"><p>You can now use the following host events in Spotter embed:</p></div><div class="ulist"><ul><li><p><code>HostEvent.DownloadAsCsv</code></p></li><li><p><code>HostEvent.DownloadAsPng</code></p></li><li><p><code>HostEvent.DownloadAsXlsx</code></p></li><li><p><code>HostEvent.Edit</code></p></li><li><p><code>HostEvent.MakeACopy</code></p></li><li><p><code>HostEvent.Pin</code></p></li><li><p><code>HostEvent.Save</code></p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{HostEvent}}">HostEvent</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Lazy loading with full height</strong></p></div><div class="paragraph"><p>The SDK introduces <code>lazyLoadingForFullHeight</code> parameter, which enables progressive loading of visualizations on an embedded Liveboard. This parameter works in conjunction with the <code>fullHeight</code> attribute. When both these attributes are enabled, only the visualizations in the current viewport are loaded initially, while the other visualizations load as the user scrolls the Liveboard page.</p></div><blockquote><p><strong>NOTE:</strong> To use these attributes effectively in embedded applications, your ThoughtSpot instance must be upgraded to version 10.12.0.cl or later.</p></blockquote></div></td></tr></tbody></table>

## Version 1.39.0, July 2025

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Spotter embed components with new names</strong><br>The following Spotter embed components are now deprecated and replaced with new components in the SDK and Visual Embed Playground:</p></div><div class="ulist"><ul><li><p><code>ConversationEmbed</code><br>Replaced with <code>SpotterEmbed</code></p></li><li><p><code>ConversationViewConfig</code><br>Replaced with <code>SpotterEmbedViewConfig</code></p></li><li><p><code>BodylessConversation</code><br>Replaced with <code>SpotterAgentEmbed</code></p></li><li><p><code>BodylessConversationViewConfig</code><br>Replaced with <code>SpotterAgentEmbedViewConfig</code></p></li></ul></div><div class="paragraph"><p>The deprecated components with old names in the existing Spotter embed implementations will continue to function until further notice. For code samples with new component names, see <a href="{{navprefix}}/{{embed-spotter}}">Spotter embed documentation</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Action ID for Spotter in-conversation training</strong><br>For ThoughtSpot instances that have the new Spotter in-conversation training workflow enabled, the SDK provides the action ID <code>Action.InConversationTraining</code> to manage the visibility of the <strong>Add to Coaching</strong> button on Answers generated from Spotter prompts.</p></div><blockquote><p><strong>NOTE:</strong> The Add to Coaching feature is currently in beta and is turned off by default on embed deployments. To enable this feature on your instance, contact ThoughtSpot Support.</p></blockquote></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Events support for Spotter embed</strong></p></div><div class="dlist"><dl><dt class="hdlist1">New embed events</dt><dd><div class="ulist"><ul><li><p><code>EmbedEvent.ExitPresentMode</code><br>Emits when a user exits the Liveboard or visualization presentation mode.</p></li><li><p><code>EmbedEvent.LastPromptDeleted</code><br>Emits when a query prompt in Spotter embed is deleted.</p></li><li><p><code>EmbedEvent.LastPromptEdited</code><br>Emits when a query prompt in Spotter embed is edited.</p></li><li><p><code>EmbedEvent.ResetSpotterConversation</code><br>Emits when a Spotter query is reset.</p></li><li><p><code>EmbedEvent.PreviewSpotterData</code><br>Emits when a user clicks the Preview data button in the Spotter conversation panel.</p></li><li><p><code>EmbedEvent.SpotterQueryTriggered</code> Emits when a Spotter query is triggered.</p></li></ul></div></dd></dl></div><div class="paragraph"><p>The following embed events are also supported in Spotter embed:</p></div><div class="ulist"><ul><li><p><code>EmbedEvent.AddRemoveColumns</code></p></li><li><p><code>EmbedEvent.AnswerChartSwitcher</code></p></li><li><p><code>EmbedEvent.AuthExpire</code></p></li><li><p><code>EmbedEvent.AuthInit</code></p></li><li><p><code>EmbedEvent.CopyToClipboard</code></p></li><li><p><code>EmbedEvent.CustomAction</code></p></li><li><p><code>EmbedEvent.Data</code></p></li><li><p><code>EmbedEvent.DataSourceSelected</code></p></li><li><p><code>EmbedEvent.DialogClose</code></p></li><li><p><code>EmbedEvent.DialogOpen</code></p></li><li><p><code>EmbedEvent.Download</code></p></li><li><p><code>EmbedEvent.DownloadAsCsv</code></p></li><li><p><code>EmbedEvent.DownloadAsPng</code></p></li><li><p><code>EmbedEvent.DownloadAsXlsx</code></p></li><li><p><code>EmbedEvent.DrillDown</code></p></li><li><p><code>EmbedEvent.DrillExclude</code></p></li><li><p><code>EmbedEvent.DrillInclude</code></p></li><li><p><code>EmbedEvent.Edit</code></p></li><li><p><code>EmbedEvent.Error</code></p></li><li><p><code>EmbedEvent.Load</code></p></li><li><p><code>EmbedEvent.Pin</code></p></li><li><p><code>EmbedEvent.Save</code></p></li><li><p><code>EmbedEvent.TableVizRendered</code></p></li><li><p><code>EmbedEvent.VizPointClick</code></p></li><li><p><code>EmbedEvent.VizPointDoubleClick</code></p></li><li><p><code>EmbedEvent.VizPointRightClick</code></p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{EmbedEvent}}">EmbedEvent</a>.</p></div></div></td></tr></tbody></table>

## Version 1.38.0, June 2025

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>String IDs for text customization</strong><br>Developers can now customize a specific occurrence of a visible text string in the ThoughtSpot UI using the <code>stringIDs</code> object in the customization interface.</p></div><div class="paragraph"><p>To locate the string IDs, SDK provides the <code>exposeTranslationIds</code> attribute. By setting <code>exposeTranslationIds</code> to <code>true</code> in the Playground, you can find the string ID of the UI text and use it in your customization code.</p></div><div class="paragraph"><p>Additionally, the SDK provides the <code>StringIDsUrl</code> attribute to allow using a JSON file with string IDs and custom strings to override the visible text in the UI.</p></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{customize-text-strings}}">Customize text strings</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p><strong>Hide columns on list pages</strong><br></p></div><div class="paragraph"><p>In full app embedding, you can now hide the following columns on the <strong>Liveboards</strong> and <strong>Answers</strong> listing pages using the <code>hiddenListColumns</code> array:</p></div><div class="ulist"><ul><li><p><strong>Author</strong><br><code>hiddenListColumns: [ListPageColumns.Author]</code></p></li><li><p><strong>Favorite</strong><br><code>hiddenListColumns: [ListPageColumns.Favourite]</code></p></li><li><p><strong>Last modified</strong><br><code>hiddenListColumns: [ListPageColumns.DateSort]</code></p></li><li><p><strong>Tags</strong><br><code>hiddenListColumns: [ListPageColumns.Tags]</code></p></li><li><p><strong>Share</strong><br><code>hiddenListColumns: [ListPageColumns.Share]</code><br></p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{full-app-customize}}#_hide_columns_on_list_pages_new_experience">Customize full application embed</a>.</p></div></div></td></tr></tbody></table>

## Version 1.37.0, April 2025

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>The SDK now provides the <code>customVariablesForThirdPartyTools</code> setting to pass custom variables when integrating third-party tools and running custom scripts in your embed. Developers can define this object in the <strong>init()</strong> function and add variables as key-value pairs. This feature is available only if third-party integration is enabled on your instance and the script hosting domain URL is added to the CSP allowlist.</p></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{3rd-party-script}}">Integrate third-party tools and allow custom scripts</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>You can now exclude search token string from the application URL by setting <code>excludeSearchTokenStringFromURL</code> to <code>true</code> in your embed with ThoughtSpot token-based Search or Search bar.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>This version of the SDK supports the following embed and host events:</p></div><div class="dlist"><dl><dt class="hdlist1">Embed Events</dt><dd><div class="ulist"><ul><li><p><code>EmbedEvent.TableVizRendered</code><br>Emits when a table visualization is rendered in the ThoughtSpot embedded app. You can also use this event as a hook to trigger host events such as <code>HostEvent.TransformTableVizData</code> on the table visualization. For more information, see the <a href="https://developers.thoughtspot.com/docs/Enumeration_EmbedEvent#_tablevizrendered">SDK reference documentation</a>.</p></li><li><p><code>EmbedEvent.CreateLiveboard</code><br>Emits when a Liveboard is created.</p></li></ul></div></dd><dt class="hdlist1">Host Events</dt><dd><div class="ulist"><ul><li><p><code>HostEvent.TransformTableVizData</code><br>Triggers the table visualization re-render with the updated data. You can use this event in conjunction with <code>EmbedEvent.TableVizRendered</code> to apply the modifications to table visualization payload.</p></li><li><p><code>HostEvent.Remove</code><br>Triggers the <strong>Delete</strong> action on a Liveboard.</p></li></ul></div></dd></dl></div></div></td></tr></tbody></table>

## Version 1.36.0, February 2025

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>The following HostEvents now allow custom parameters to set object properties programmatically:</p></div><div class="ulist"><ul><li><p><code>HostEvent.SaveAnswer</code><br>Allows adding <code>name</code> and <code>description</code> text strings. When these parameters are defined, the event triggers the Save action to save the Answer with the predefined properties without opening the <strong>Describe your Answer</strong> modal.</p></li><li><p><code>HostEvent.Pin</code><br>Allows adding custom properties for visualization ID, name, and description, Liveboard ID, and Tab ID. When these parameters are defined, the event triggers an action to pin the Answer to the Liveboard specified in the code, without opening the <strong>Pin</strong> modal.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{events-hostEvents}}#hostEventParameterization">Host Events</a> documentation.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="dlist"><dl><dt class="hdlist1">New configuration attributes</dt><dd><div class="ulist"><ul><li><p><code>disableSourceSelection</code><br>Disables data source selection panel for embed users when set to <code>true</code>.</p></li><li><p><code>hideSourceSelection</code><br>Hides data source selection panel when set to <code>true</code></p></li><li><p><code>locale</code><br>Sets the <a href="{{navprefix}}/{{locale-setting}}">locale and regional settings</a> for the Spotter interface.</p></li><li><p><code>showSpotterLimitations</code><br>Shows functional limitations of Spotter when set to <code>true</code></p></li><li><p><code>hideSampleQuestions</code><br>Hides sample questions that appear on the default Spotter page.</p></li></ul></div></dd><dt class="hdlist1">Action IDs for menu customization</dt><dd><p>Use the following action IDs in the <code>disabledActions</code>, <code>visibleActions</code>, or <code>hiddenActions</code> array to disable, show, or hide menu actions and elements in the embedded Spotter interface:</p><div class="ulist"><ul><li><p><code>Action.PreviewDataSpotter</code><br>The <strong>Preview data</strong> button on the Spotter conversation panel.</p></li><li><p><code>Action.ResetSpotterChat</code><br>The <strong>Reset</strong> button on the Spotter conversation panel.</p></li><li><p><code>Action.SpotterFeedback</code><br>The feedback widget on Spotter-generated charts.</p></li><li><p><code>Action.EditPreviousPrompt</code><br>The edit icon on the prompt panel. The Prompt panel appears after Spotter generates a response to a user query.</p></li><li><p><code>Action.DeletePreviousPrompt</code><br>The delete icon on the prompt panel.</p></li></ul></div></dd></dl></div><div class="dlist"><dl><dt class="hdlist1">CSS variables</dt><dd><p>The following new CSS variables are available for Spotter interface customization:</p><div class="ulist"><ul><li><p><code>--ts-var-spotter-input-background</code></p></li><li><p><code>--ts-var-spotter-prompt-background</code></p></li></ul></div></dd></dl></div><div class="paragraph"><p>For more information about Spotter customization, see <a href="{{navprefix}}/{{embed-spotter}}#SpotterCSS">Customize styles</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="dlist"><dl><dt class="hdlist1">Configuration attributes</dt><dd><div class="ulist"><ul><li><p><code>hideIrrelevantChipsInLiveboardTabs</code><br>Hides filter chips on a Liveboard when set to <code>true</code>.</p></li><li><p><code>isLiveboardCompactHeaderEnabled</code><br>Enables the compact Liveboard header feature when set to <code>true</code>.</p></li></ul></div></dd><dt class="hdlist1">Action IDs</dt><dd><p>Use the following action IDs in the <code>disabledActions</code>, <code>visibleActions</code>, or <code>hiddenActions</code> array to disable, show, or hide menu actions on an embedded Liveboard:</p><div class="ulist"><ul><li><p><code>Action.DisableChipReorder</code><br>ID for the action that disables filter chip reordering.</p></li><li><p><code>Action.ChangeFilterVisibilityInTab</code></p></li></ul></div></dd></dl></div></div></td></tr></tbody></table>

## Version 1.35.0, December 2024

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>The SDK now provides the <code>isUnifiedSearchExperienceEnabled</code> setting to customize the Search experience on ThoughtSpot Home page for embedding application users:</p></div><div class="ulist"><ul><li><p>When set to <code>true</code>, the split search experience is disabled and the Search bar on the Home page functions as Natural Language Search interface</p></li><li><p>When set to <code>false</code>, the split search experience is enabled and object Search is set as the default Home page search experience.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{full-app-customize}}#_search_components">Search interface on the Home page in full application embedding</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>The <code>overrideOrgId</code> parameter in the SDK provides the ability to override Org context for embedding application users. This parameter allows users authenticated to an Org to temporarily view content from another Org. Before specifying the Org ID for override, make sure the Per Org URL feature is enabled on your ThoughtSpot instance. To enable Per Org URL on your instance, contact ThoughtSpot Support.</p></div></div></td></tr></tbody></table>

## Version 1.34.0, November 2024

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>You can now embed the following ThoughtSpot Spotter components in your app:</p></div><div class="ulist"><ul><li><p><code>SpotterEmbed</code><br>Embeds Spotter conversation interface in your app</p></li><li><p><code>SpotterAgentEmbed</code><br>Creates a conversation component without the body, which can be integrated into chatbots or other conversational apps.</p></li></ul></div><div class="paragraph"><p>For more information, see <a href="{{navprefix}}/{{embed-spotter}}">Embed Spotter</a> and <a href="{{navprefix}}/{{spotter-in-custom-chatbot}}">Integrate Spotter into your chatbot</a>.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>The following parameters and enumerations are available for customizing Liveboard experience:</p></div><div class="ulist"><ul><li><p><code>showLiveboardVerifiedBadge</code><br>Shows or hides the Liveboard verified badge. Available if the Liveboard compact header feature is enabled.</p></li><li><p><code>showLiveboardReverifyBanner</code><br>Shows or hides the re-verify banner. Available if the Liveboard compact header feature is enabled.</p></li><li><p><code>Action.KPIAnalysisCTA</code><br>Action ID to show, hide, or disable the <strong>Analyze CTA</strong> action on a KPI chart.</p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><p class="tableblock">You can now use the <code>HostEvent.GetIframeUrl</code> to get the iframe src URL from the Visual Embed Playground. If you are embedding ThoughtSpot in apps like Salesforce and Sharepoint without the SDK, use this event to generate the iframe URL.</p></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>The following parameters are available for customizing Search experience:</p></div><div class="ulist"><ul><li><p><code>collapseDataPanel</code> Minimizes the data panel view. Users can click the data panel header any time to expand the panel.</p></li><li><p><code>collapseSearchBar</code> Sets the initial state of the search bar when embedding a saved Answer.</p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>The following settings are available for customizing the new home page and navigation experience in full app embedding:</p></div><div class="ulist"><ul><li><p><code>HomeLeftNavItem.LiveboardSchedules</code><br>The Liveboard schedules menu on the left navigation panel.</p><div class="dlist"><dl><dt class="hdlist1">Action enumerations</dt></dl></div></li><li><p><code>Action.EditScheduleHomepage</code><br>To show, disable, or hide the <strong>Edit</strong> action on the <strong>Liveboard schedules</strong> page</p></li><li><p><code>Action.PauseScheduleHomepage</code><br>To show, disable, or hide the <strong>Pause</strong> action on the <strong>Liveboard schedules</strong> page</p></li><li><p><code>Action.ViewScheduleRunHomepage</code><br>To show, disable, or hide the <strong>View run history</strong> action on the <strong>Liveboard schedules</strong> page</p></li><li><p><code>Action.DeleteScheduleHomepage</code><br>To show, disable, or hide the <strong>Delete</strong> action on the <strong>Liveboard schedules</strong> page</p></li><li><p><code>Action.UnsubscribeScheduleHomepage</code><br>To show, disable, or hide the <strong>Unsubscribe</strong> action on the <strong>Liveboard schedules</strong> page</p></li></ul></div></div></td></tr></tbody></table>

## Version 1.33.x, October 2024

<table class="tableblock frame-all grid-all stretch"><colgroup><col style="width: 20%;"> <col style="width: 80%;"></colgroup><tbody><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>You can now customize the search experience for the embedded ThoughtSpot <strong>Home</strong> page using <code>homePageSearchBarMode</code>. By default, the <strong>Home</strong> page includes the Object Search bar, which allows finding popular Liveboards and Answers.</p></div><div class="paragraph"><p>You can set the <code>homePageSearchBarMode</code> property to one of the following options:</p></div><div class="ulist"><ul><li><p><code>aiAnswer</code><br>Displays the search bar for Natural Language Search.</p></li><li><p><code>none</code> Hides the Search bar on the <strong>Home</strong> page. Note that it only hides the Search bar on the <strong>Home</strong> page and doesn’t affect the Object Search bar visibility on the top navigation bar.</p></li><li><p><code>objectSearch</code> (default)<br>Displays Object Search bar on the <strong>Home</strong> page.</p></li></ul></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>The SDK now allows you to set the focus on the Search bar or outside the Search bar when rendering the embedded Search page. Use the <code>focusSearchBarOnRender</code> property to set the position of the cursor focus.</p></div></div></td></tr><tr><td class="tableblock halign-left valign-top"><p class="tableblock"><span class="tag greenBackground">NEW</span></p></td><td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"><p>The SDK includes the following Event and Action enumeration members:</p></div><div class="dlist"><dl><dt class="hdlist1">Events</dt><dd><div class="ulist"><ul><li><p><code>EmbedEvent.OnBeforeGetVizDataIntercept</code><br>Developers can emit this event to intercept search execution, allow or restrict certain queries, and show an error message with custom text for restricted queries. To allow the embedded page to emit this event, you must set the <code>isOnBeforeGetVizDataInterceptEnabled</code> attribute to <code>true</code>.</p></li><li><p><code>EmbedEvent.ParameterChanged</code><br>Emitted when a Parameter is changed on a saved Answer or Liveboard.</p></li></ul></div></dd><dt class="hdlist1">Actions</dt><dd><div class="ulist"><ul><li><p><code>Action.ManageTags</code><br>Use this action enumeration to disable, show, or hide the <strong>Manage tags</strong> button on the Liveboards and Answers pages.</p></li></ul></div></dd></dl></div></div></td></tr></tbody></table>

## Version 1.32.x, August 2024


---

> **Content truncated.** This page exceeds the inline size limit. View the complete documentation at [https://developers.thoughtspot.com/docs/embed-sdk-changelog](https://developers.thoughtspot.com/docs/embed-sdk-changelog)
