SearchViewConfig

SearchViewConfig

The configuration attributes for the embedded search view.

PropertiesπŸ”—

additionalFlagsπŸ”—

additionalFlags: {[key: string ] : string | number | boolean}

Optional

This is an object (key/val) of override flags which will be applied to the internal embedded object. This can be used to add any URL flag. If the same flags are passed in init, they will be overridden by the values here. Warning: This option is for advanced use only and is used internally to control embed behavior in non-regular ways. We do not publish the list of supported keys and values associated with each.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Index Signature Parameters

Version : SDK: 1.9.0 | ThoughtSpot: 8.1.0.cl, 8.4.1.sw

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
  additionalFlags: {
       flag1: 'value1',
       flag2: 'value2'
    },
});

answerIdπŸ”—

answerId: string

Optional

The GUID of a saved answer to load initially.

Supported embed types: SearchEmbed

Version : SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw

const embed = new SearchEmbed('#tsEmbed', {
   ... // other embed view config
   answerId:'sed-1234',
})

collapseDataPanelπŸ”—

collapseDataPanel: boolean

Optional

If set to true, the data panel is collapsed on load, but can be expanded manually.

Supported embed types: SearchEmbed

Version : SDK: 1.34.0 | ThoughtSpot: 10.3.0.cl

const embed = new SearchEmbed('#tsEmbed', {
   ... // other embed view config
   collapseDataPanel:true,
})

collapseDataSourcesπŸ”—

collapseDataSources: boolean

Optional

If set to true, the data sources panel is collapsed on load, but can be expanded manually.

Supported embed types: SearchEmbed

Version : SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw

const embed = new SearchEmbed('#tsEmbed', {
   ... // other embed view config
   collapseDataSources:true,
})

collapseSearchBarπŸ”—

collapseSearchBar: boolean

Optional

To set the initial state of the search bar in case of saved Answers.

Supported embed types: SageEmbed, AppEmbed, SearchBarEmbed

Version : SDK: 1.34.0 | ThoughtSpot: 10.3.0.cl

default : true

// Replace <EmbedComponent> with embed component name. For example, SageEmbed, AppEmbed, or SearchBarEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
  collapseSearchBar: true,
});

collapseSearchBarInitiallyπŸ”—

collapseSearchBarInitially: boolean

Optional

To set the initial state of the search bar in case of saved-answers.

Version : SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl

Deprecated : Use {@link collapseSearchBar} instead

default : false

contextMenuTriggerπŸ”—

contextMenuTrigger: ContextMenuTriggerOptions

Optional

flag to set ContextMenu Trigger to either left or right click.

Supported embed types: AppEmbed, SageEmbed, SearchEmbed

Version : SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SageEmbed, or SearchEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   contextMenuTrigger:ContextMenuTriggerOptions.LEFT_CLICK || RIGHT_CLICK,
})

customActionsπŸ”—

customActions: CustomAction[]

Optional

Custom Actions allows users to define interactive UI actions (like buttons or menu items) that appear in ThoughtSpot’s visualizations, answers, and Liveboards. These actions enable users to trigger custom workflows β€” such as navigating to an external app, calling an API, or opening a modal β€” based on the data context of what they clicked can be used to trigger custom logic when the action is clicked.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterEmbed

Version : SDK: 1.43.0 | ThoughtSpot: 10.14.0.cl

import {
  CustomActionPayload,
  CustomActionsPosition,
  CustomActionTarget,
} from '@thoughtspot/visual-embed-sdk';
// Use supported embed types such as AppEmbed or LiveboardEmbed
const embed = new LiveboardEmbed('#tsEmbed', {
  ... // other embed config options
  customActions: [
    {
      // Unique identifier for the custom action
      id: 'my-custom-action',

      // Display name shown to users in the UI
      name: 'My Custom Action',

      // Where the action appears in the UI
      // PRIMARY: Shows as a primary button (e.g., in the toolbar)
      // MENU: Shows in the "More" menu (three dots menu)
      // CONTEXTMENU: Shows in the right-click context menu
      position: CustomActionsPosition.PRIMARY,

      // What type of content this action applies to
      // ANSWER: Available on answer pages
      target: CustomActionTarget.ANSWER,

      // Optional: Restrict where this action appears based on data models
      // dataModelIds: {
      //     // Restrict to specific data models
      //     modelIds: ['model-id-1', 'model-id-2'],
      //     // Restrict to specific columns within models
      //     modelColumnNames: ['model-id::column-name']
      // },

      // Optional: Restrict where this action appears based on metadata
      // metadataIds: {
      //     // Restrict to specific answers
      //     answerIds: ['answer-id-1', 'answer-id-2'],
      // },
      //     // Restrict to specific groups (for group-based access control)
      //     groupIds: ['group-id-1', 'group-id-2'],
      //     // Restrict to specific organizations (for multi-org deployments)
      //     orgIds: ['org-id-1', 'org-id-2'],
    }
  ],
})

// to trigger a custom flow on custom action click listen to Custom action embed event
embed.on(EmbedEvent.CustomAction, (payload: CustomActionPayload) => {
  console.log('Custom Action event:', payload);
})
import {
  CustomActionsPosition,
  CustomActionTarget,
} from '@thoughtspot/visual-embed-sdk';
const embed = new LiveboardEmbed('#tsEmbed', {
  ... // other embed config options
  customActions: [
    {
      // Unique identifier for the custom action
      id: 'my-custom-action',

      // Display name shown to users in the UI
      name: 'My Custom Action',

      // Where the action appears in the UI
      // MENU: Shows in the "More" menu (three dots menu)
      // CONTEXTMENU: Shows in the right-click context menu
      position: CustomActionsPosition.MENU,

      // What type of content this action applies to
      // SPOTTER: Available in Spotter (AI-powered search)
      target: CustomActionTarget.SPOTTER,

      // Optional: Restrict where this action appears based on data models
      // dataModelIds: {
      //     // Restrict to specific data models
      //     modelIds: ['model-id-1', 'model-id-2'],
      // },
      //     // Restrict to specific groups (for group-based access control)
      //     groupIds: ['group-id-1'],
      //     // Restrict to specific organizations (for multi-org deployments)
      //     orgIds: ['org-id-1'],
    }
  ],
})
import {
  CustomActionsPosition,
  CustomActionTarget,
} from '@thoughtspot/visual-embed-sdk';
const embed = new LiveboardEmbed('#tsEmbed', {
  ... // other embed config options
  customActions: [
    {
      // Unique identifier for the custom action
      id: 'my-liveboard-custom-action',

      // Display name shown to users in the UI
      name: 'My Liveboard Custom Action',

      // Where the action appears in the UI
      // PRIMARY: Shows as a primary button (e.g., in the toolbar)
      // MENU: Shows in the "More" menu (three dots menu)
      position: CustomActionsPosition.PRIMARY,

      // What type of content this action applies to
      // LIVEBOARD: Available on liveboard pages
      target: CustomActionTarget.LIVEBOARD,

      // Optional: Restrict where this action appears based on metadata
      // metadataIds: {
      //     // Restrict to specific liveboards
      //     liveboardIds: ['liveboard-id-1', 'liveboard-id-2'],
      // },
      //     // Restrict to specific groups (for group-based access control)
      //     groupIds: ['group-id-1', 'group-id-2'],
      //     // Restrict to specific organizations (for multi-org deployments)
      //     orgIds: ['org-id-1', 'org-id-2'],
    },
    {
      // Unique identifier for the custom action
      id: 'my-viz-custom-action',

      // Display name shown to users in the UI
      name: 'My Viz Custom Action',

      // Where the action appears in the UI
      // PRIMARY: Shows as a primary button (e.g., in the toolbar)
      // MENU: Shows in the "More" menu (three dots menu)
      // CONTEXTMENU: Shows in the right-click context menu
      position: CustomActionsPosition.PRIMARY,

      // What type of content this action applies to
      // VIZ: Available on individual visualizations
      target: CustomActionTarget.VIZ,

      // Optional: Restrict where this action appears based on metadata
      // metadataIds: {
      //     // Restrict to specific answers
      //     answerIds: ['answer-id-1', 'answer-id-2'],
      //     // Restrict to specific liveboard. If liveboardId is
      //     // passed, custom actions will appear on all vizzes of liveboard
      //     liveboardIds: ['liveboard-id-1'],
      //     // Restrict to specific vizIds
      //     vizIds: ['viz-id-1']
      // },
      // dataModelIds: {
      //     // Restrict to specific data models
      //     modelIds: ['model-id-1', 'model-id-2'],
      //     // Restrict to specific columns within models
      //     modelColumnNames: ['model-id::column-name']
      // },
      //     // Restrict to specific groups (for group-based access control)
      //     groupIds: ['group-id-1', 'group-id-2'],
      //     // Restrict to specific organizations (for multi-org deployments)
      //     orgIds: ['org-id-1', 'org-id-2'],
    }
  ],
})

customizationsπŸ”—

customizations: CustomisationsInterface

Optional

Dynamic CSSUrl and customCSS to be injected in the loaded application. You would also need to set style-src in the CSP settings.

Version : SDK: 1.17.2 | ThoughtSpot: 8.4.1.sw, 8.4.0.cl

default : ''

dataPanelCustomGroupsAccordionInitialStateπŸ”—

dataPanelCustomGroupsAccordionInitialState: DataPanelCustomColumnGroupsAccordionState

Optional

This controls the initial behaviour of custom column groups accordion. It takes DataPanelCustomColumnGroupsAccordionState enum values as input. List of different enum values:- - EXPAND_ALL: Expand all the accordion initially in data panel v2. - COLLAPSE_ALL: Collapse all the accordions initially in data panel v2. - EXPAND_FIRST: Expand the first accordion and collapse the rest.

Supported embed types: SearchEmbed

Version : SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl

default : DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL

const embed = new SearchEmbed('#tsEmbed', {
  ... // other embed view config
  dataPanelCustomGroupsAccordionInitialState:
     DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL,
});

dataPanelV2πŸ”—

dataPanelV2: boolean

Optional

Flag to control Data panel experience

Supported embed types: SageEmbed, AppEmbed, SearchBarEmbed, LiveboardEmbed, SearchEmbed

Deprecated : from SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl

default : true

// Replace <EmbedComponent> with embed component name. For example, SageEmbed, AppEmbed, or SearchBarEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   dataPanelV2: true,
})

dataSourceπŸ”—

dataSource: string

Optional

The data source GUID to set on load.

Supported embed types: SearchEmbed

Version : SDK: 1.19.0

const embed = new SearchEmbed('#tsEmbed', {
   ... // other embed view config
   dataSource:'id-234',
})

dataSourcesπŸ”—

dataSources: string[]

Optional

The array of data source GUIDs to set on load. Only a single data source is supported currently. Use SearchViewConfig.dataSource instead.

Deprecated : Use dataSource instead.Supported embed types: SearchEmbed

const embed = new SearchEmbed('#tsEmbed', {
   ... // other embed view config
   dataSources:['id-234','id-456'],
})

disableRedirectionLinksInNewTabπŸ”—

disableRedirectionLinksInNewTab: boolean

Optional

This flag can be used to disable links inside the embedded app, and disable redirection of links in a new tab.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.32.1 | ThoughtSpot: 10.3.0.cl

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
  ... // other embed view config
  disableRedirectionLinksInNewTab: true,
});

disabledActionReasonπŸ”—

disabledActionReason: string

Optional

The tooltip to display for disabled actions.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   disabledActions: [Action.Download, Action.Save],
   disabledActionReason: "Reason for disabling",
});

disabledActionsπŸ”—

disabledActions: Action[]

Optional

The list of actions to disable from the primary menu, more menu (…​), and the contextual menu. These actions will be disabled for the user. Use this to disable actions.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   disabledActions: [Action.Download, Action.Save],
});

doNotTrackPreRenderSizeπŸ”—

doNotTrackPreRenderSize: boolean

Optional

Determines if the PreRender component should dynamically track the size of its embedding element and adjust its own size accordingly. Enabling this option allows the PreRender component to automatically adapt its dimensions based on changes to the size of the embedding element.

Version : SDK: 1.24.0 | ThoughtSpot: 9.4.0.cl, 9.4.0.sw

default : false

// Disable tracking PreRender size in the configuration
const config = {
  doNotTrackPreRenderSize: true,
};

// Instantiate an object with the configuration
const myComponent = new MyComponent(config);

enableCustomColumnGroupsπŸ”—

enableCustomColumnGroups: boolean

Optional

To enable custom column groups in data panel v2

Supported embed types: SageEmbed, SearchBarEmbed, LiveboardEmbed, SearchEmbed

Version : SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl, 10.1.0.sw

default : false

// Replace <EmbedComponent> with embed component name. For example, SageEmbed, SearchBarEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
  ... // other embed view config
  enableCustomColumnGroups: true,
});

enableLinkOverridesV2πŸ”—

enableLinkOverridesV2: boolean

Optional

Enables the V2 link override mechanism with improved handling. When enabled, navigation links within the embedded ThoughtSpot app are intercepted and routed through the SDK via the EmbedEvent.DialogOpen event.

The SDK automatically sends SpotterEmbedViewConfig.linkOverride alongside this flag for backward compatibility with older ThoughtSpot versions.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.46.0 | ThoughtSpot: 26.2.0.cl

const embed = new LiveboardEmbed('#tsEmbed', {
   ... // other embed view config
   enableLinkOverridesV2: true,
});

embed.on(EmbedEvent.DialogOpen, (payload) => {
   console.log('Link clicked:', payload);
});

enableSearchAssistπŸ”—

enableSearchAssist: boolean

Optional

If set to true, the Search Assist feature is enabled.

Supported embed types: SearchEmbed

Version : SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1-sw

const embed = new SearchEmbed('#tsEmbed', {
   ... // other embed view config
   enableSearchAssist:true,
})

enableV2Shell_experimentalπŸ”—

enableV2Shell_experimental: boolean

Optional

Enable the V2 shell. This can provide performance benefits due to a lighter-weight shell.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.31.2 | ThoughtSpot: 10.0.0.cl

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
  enableV2Shell_experimental: true,
});

excludeRuntimeFiltersfromURLπŸ”—

excludeRuntimeFiltersfromURL: boolean

Optional

Boolean to exclude runtimeFilters in the URL By default it is true, this flag removes runtime filters from the URL (default behavior from SDK 1.45.0). when set to false, runtime filters will be included in the URL (default behavior before SDK 1.45.0).

Irrespective of this flag, runtime filters ( if passed ) will be applied to the embedded view.

Version : SDK: 1.24.0 | ThoughtSpot: 9.5.0.cl

default : true

excludeRuntimeParametersfromURLπŸ”—

excludeRuntimeParametersfromURL: boolean

Optional

Boolean to exclude runtimeParameters from the URL when set to true, this flag removes runtime parameters from the URL (default behavior from SDK 1.45.0). when set to false, runtime parameters will be included in the URL (default behavior before SDK 1.45.0).

Irrespective of this flag, runtime parameters (if passed) will be applied to the embedded view.

Version : SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl

default : true

excludeSearchTokenStringFromURLπŸ”—

excludeSearchTokenStringFromURL: boolean

Optional

Exclude the search token string from the URL. If set to true, the search token string is not appended to the URL.

Supported embed types: SearchEmbed

Version : SDK: 1.35.7 | ThoughtSpot: 10.8.0.cl

const embed = new SearchEmbed('#tsEmbed', {
 searchOptions: {
   searchTokenString: '[quantity purchased] [region]',
   executeSearch: true,
 },
 excludeSearchTokenStringFromURL: true,
});

exposeTranslationIDsπŸ”—

exposeTranslationIDs: boolean

Optional

This flag can be used to expose translation IDs on the embedded app.

Version : SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl

default : false

focusSearchBarOnRenderπŸ”—

focusSearchBarOnRender: boolean

Optional

Flag to remove focus from search bar initially when user lands on search embed page.

Supported embed types: SearchEmbed

Version : SDK: 1.32.0 | ThoughtSpot: 10.3.0.cl

default : true

const embed = new SearchEmbed('#tsEmbed', {
 ... // other embed view config
focusSearchBarOnRender: false,
});

forceTableπŸ”—

forceTable: boolean

Optional

If set to true, the tabular view is set as the default format for presenting search data.

Supported embed types: SearchEmbed

Version : SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw

const embed = new SearchEmbed('#tsEmbed', {
   ... // other embed view config
   forceTable:true,
})

frameParamsπŸ”—

frameParams: FrameParams

Optional

The width and height dimensions to render an embedded object inside your app. Specify the values in pixels or percentage.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   frameParams: {
       width: '500px' | '50%',
       height: '400px' | '60%',
   },
})

hiddenActionsπŸ”—

hiddenActions: Action[]

Optional

The list of actions to hide from the embedded view. These actions will be hidden from the user. Use this to hide an action.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   hiddenActions: [Action.Download, Action.Export],
});

hideDataSourcesπŸ”—

hideDataSources: boolean

Optional

Show or hide the data sources panel.

Supported embed types: SearchEmbed

Version : SDK: 1.2.0 | ThoughtSpot: 9.1.0.sw

const embed = new SearchEmbed('#tsEmbed', {
   ... // other embed view config
   hideDataSources:true,
})

hideResultsπŸ”—

hideResults: boolean

Optional

Show or hide the charts and tables in search answers. This attribute can be used to create a custom visualization using raw answer data.

Supported embed types: SearchEmbed

Version : SDK: 1.2.0 | ThoughtSpot: 9.1.0.sw

const embed = new SearchEmbed('#tsEmbed', {
   ... // other embed view config
   hideResults:true,
})

hideSearchBarπŸ”—

hideSearchBar: boolean

Optional

If set to true, the search page will render without the Search Bar The chart/table should still be visible.

Supported embed types: SearchEmbed

Version : SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.5.0.sw

const embed = new SearchEmbed('#tsEmbed', {
   ... // other embed view config
   hideSearchBar:true,
})

insertAsSiblingπŸ”—

insertAsSibling: boolean

Optional

Insert as a sibling of the target container, instead of appending to a child inside it.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.2.0 | ThoughtSpot: 9.0.0.cl, 9.0.0.sw

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   insertAsSibling:true,
})

interceptTimeoutπŸ”—

interceptTimeout: number

Optional

The timeout for the intercept, default is 30000ms the api will error out if the timeout is reached

Version : SDK: 1.43.0 | ThoughtSpot: 10.15.0.cl

const embed = new LiveboardEmbed('#embed', {
  ...viewConfig,
  enableApiIntercept: true,
  interceptUrls: [InterceptedApiType.ALL],
  interceptTimeout: 1000,
})

interceptUrlsπŸ”—

interceptUrls: string[]

Optional

This allows to intercept the urls passed, once intercepted the api will only run based on the response from the responder of ApiIntercept event.

Version : SDK: 1.43.0 | ThoughtSpot: 10.15.0.cl

const embed = new LiveboardEmbed('#embed', {
  ...viewConfig,
  enableApiIntercept: true,
  interceptUrls: [InterceptedApiType.DATA],
})

isOnBeforeGetVizDataInterceptEnabledπŸ”—

isOnBeforeGetVizDataInterceptEnabled: boolean

Optional

Flag that allows using EmbedEvent.OnBeforeGetVizDataIntercept.

Can be used for Search and App Embed from SDK 1.29.0

Version : SDK: 1.43.0 | ThoughtSpot: 10.15.0.cl

isThisPeriodInDateFiltersEnabledπŸ”—

isThisPeriodInDateFiltersEnabled: boolean

Optional

To enable Include current period checkbox for date filters. Controls the visibility of the option to include the current time period in filter results.

Supported embed types: AppEmbed, SearchBarEmbed, LiveboardEmbed, SearchEmbed

Version : SDK: 1.45.0 | ThoughtSpot: 26.4.0.cl

const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   isThisPeriodInDateFiltersEnabled: true,
})

linkOverrideπŸ”—

linkOverride: boolean

Optional

Flag to override the Open Link in New Tab context menu option.

For improved link override handling, use SpotterEmbedViewConfig.enableLinkOverridesV2 instead.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl

const embed = new LiveboardEmbed('#tsEmbed', {
   ... // other embed view config
   linkOverride: true,
})

localeπŸ”—

locale: string

Optional

The locale settings to apply to the embedded view.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.9.4 | ThoughtSpot: 8.1.0.cl, 8.4.1.sw

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   locale:'en',
})

overrideOrgIdπŸ”—

overrideOrgId: number

Optional

Overrides an Org context for embedding application users. This parameter allows a user authenticated to one Org to view the objects from another Org. The overrideOrgId setting is honoured only if the Per Org URL feature is enabled on your ThoughtSpot instance.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.35.0 | ThoughtSpot: 10.5.0.cl

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
  ... // other embed view config
  overrideOrgId: 142536,
});

preRenderIdπŸ”—

preRenderId: string

Optional

PreRender id to be used for PreRendering the embed. Use PreRender to render the embed in the background and then show or hide the rendered embed using showPreRender or hidePreRender respectively.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl, 9.8.0.sw

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
  preRenderId: "preRenderId-123",
});
embed.showPreRender();

refreshAuthTokenOnNearExpiryπŸ”—

refreshAuthTokenOnNearExpiry: boolean

Optional

Refresh the auth token when the token is near expiry.

Version : SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl

const embed = new AppEmbed('#tsEmbed', {
   ... // other embed view config
   refreshAuthTokenOnNearExpiry: true,
})

runtimeFiltersπŸ”—

runtimeFilters: RuntimeFilter[]

Optional

The list of runtime filters to apply to a search Answer, visualization, or Liveboard.

Supported embed types: AppEmbed, LiveboardEmbed, SearchEmbed

Version : SDK: 1.9.4 | ThoughtSpot: 8.1.0.cl, 8.4.1.sw

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   runtimeFilters: [
          {
            columnName: 'value',
             operator: RuntimeFilterOp.EQ,
            values: ['string' | 123 | true],
          },
      ],
})

runtimeParametersπŸ”—

runtimeParameters: RuntimeParameter[]

Optional

The list of parameter overrides to apply to a search Answer, visualization, or Liveboard.

Supported embed types: AppEmbed, LiveboardEmbed, SearchEmbed

Version : SDK: 1.25.0 | ThoughtSpot: 9.2.0.cl, 9.5.0.sw

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   runtimeParameters: [
    {
      name: 'value',
      value: 'string' | 123 | true,
    },
  ]
})

searchOptionsπŸ”—

searchOptions: SearchOptions

Optional

Configuration for search options. Includes the following properties:

searchTokenString: Search tokens to pass in the query.

executeSearch: Boolean to define if the search should be executed or not. If it is executed, the focus is placed on the results. If it’s not executed, the focus is placed at the end of the token string in the search bar.

Supported embed types: SearchEmbed

searchOptions: {
   searchTokenString: '[quantity purchased] [region]',
   executeSearch: true,
}

searchQueryπŸ”—

searchQuery: string

Optional

The initial search query to load the answer with. Use SpotterEmbedViewConfig.searchOptions instead.

shouldBypassPayloadValidationπŸ”—

shouldBypassPayloadValidation: boolean

Optional

This flag skips payload validation so events can be processed even if the payload is old, incomplete, or from a trusted system.

Version : SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl

default : false

const embed = new AppEmbed('#tsEmbed', {
   ... // other embed view config
   shouldBypassPayloadValidation:true,
})

showAlertsπŸ”—

showAlerts: boolean

Optional

Show alert messages and toast messages in the embed. Supported in all embed types.

Version : SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw

const embed = new AppEmbed('#tsEmbed', {
   ... // other embed view config
   showAlerts:true,
})

useHostEventsV2πŸ”—

useHostEventsV2: boolean

Optional

Flag to use host events v2. This is used to enable the new host events v2 API.

Version : SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl

default : false

const embed = new AppEmbed('#tsEmbed', {
   ... // other embed view config
   useHostEventsV2:true,
})

useLastSelectedSourcesπŸ”—

useLastSelectedSources: boolean

Optional

Flag to set if last selected dataSource should be used

Supported embed types: SearchEmbed

Version : SDK: 1.24.0

visibleActionsπŸ”—

visibleActions: Action[]

Optional

The list of actions to display from the primary menu, more menu (…​), and the contextual menu. These will be only actions that are visible to the user. Use this to hide all actions except the ones you want to show.

Use either this or hiddenActions.

Supported embed types: AppEmbed, LiveboardEmbed, SageEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SearchBarEmbed

Version : SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw

// Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
const embed = new <EmbedComponent>('#tsEmbed', {
   ... // other embed view config
   visibleActions: [Action.Download, Action.Export],
});
Β© 2026 ThoughtSpot Inc. All Rights Reserved.