LLMs.txt: Complete documentation index for AI agents
EmbedConfig

EmbedConfig

The configuration object for embedding ThoughtSpot content. It includes the ThoughtSpot hostname or IP address, the type of authentication, and the authentication endpoint if a trusted authentication server is used.

PropertiesπŸ”—

additionalFlagsπŸ”—

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

Version : SDK: 1.33.5 | ThoughtSpot: *

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. 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.

Index Signature Parameters

const embed = new LiveboardEmbed('#embed', {
  ... // other liveboard view config
  additionalFlags: {
       flag1: 'value1',
       flag2: 'value2'
    }
});

authEndpointπŸ”—

authEndpoint: string Optional

[AuthServer] The trusted authentication endpoint to use to get the authentication token. A GET request is made to the authentication API endpoint, which returns the token as a plaintext response. For trusted authentication, the authEndpoint or getAuthToken attribute is required.

authTriggerContainerπŸ”—

authTriggerContainer: string | HTMLElement Optional

Version : SDK: 1.17.0 | ThoughtSpot: 8.9.0.cl, 9.0.1.sw

For inPopup SAMLRedirect or OIDCRedirect authentication, we need a button that the user can click to trigger the flow. This attribute sets a containing element for that button.

init({
  authType: AuthType.SAMLRedirect,
  inPopup: true,
  authTriggerContainer: '#auth-trigger-container'
})

authTriggerTextπŸ”—

authTriggerText: string Optional

Version : SDK: 1.17.0 | ThoughtSpot: 8.9.0.cl, 9.0.1.sw

Text to show in the button which triggers the popup auth flow. Default: Authorize.

authTypeπŸ”—

authType: AuthType

The authentication mechanism to use.

autoLoginπŸ”—

autoLogin: boolean Optional

Re-login a user with the previous login options when a user session expires.

default : false

blockNonEmbedFullAppAccessπŸ”—

blockNonEmbedFullAppAccess: boolean Optional

Version : SDK: 1.22.0 | ThoughtSpot: 9.3.0.cl, 9.5.1.sw

Prevent embedded application users from accessing ThoughtSpot application pages outside of the iframe.

default : true

callPrefetchπŸ”—

callPrefetch: boolean Optional

Calls the prefetch method internally when set to true

default : false

cleanupTimeoutπŸ”—

cleanupTimeout: number Optional

Version : SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl

The timeout for the cleanup to be completed before destroying the embed.

default : 5000

currencyFormatπŸ”—

currencyFormat: string Optional

Version : SDK: 1.28.4 | ThoughtSpot: 10.0.0.cl, 9.5.0.sw

Format to be used for currency when currency format is set to infer from browser

customActionsπŸ”—

customActions: CustomAction[] Optional

Version : SDK: 1.43.0 | ThoughtSpot: 10.14.0.cl

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.

import { CustomActionsPosition, CustomActionTarget } from '@thoughtspot/visual-embed-sdk';
init({
  ... // 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'],
    }
  ],
})
import { CustomActionsPosition, CustomActionTarget } from '@thoughtspot/visual-embed-sdk';
init({
  ... // 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';
init({
  ... // 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'],
    }
  ],
})

customVariablesForThirdPartyToolsπŸ”—

customVariablesForThirdPartyTools: Record< string, any > Optional

Version : SDK: 1.37.0 | ThoughtSpot: 10.8.0.cl

This is an object (key/val) for customVariables being used by the third party tool’s script.

const embed = new LiveboardEmbed('#embed', {
  ... // other liveboard view config
  customVariablesForThirdPartyTools: {
       key1: 'value1',
       key2: 'value2'
    }
});

customizationsπŸ”—

customizations: CustomisationsInterface Optional

Version : SDK: 1.17.0 | ThoughtSpot: 8.9.0.cl, 9.0.1.sw

Custom style params for embed Config.

dateFormatLocaleπŸ”—

dateFormatLocale: string Optional

Version : SDK: 1.28.4 | ThoughtSpot: 10.0.0.cl, 9.5.0.sw

Overrides default/user preferred locale for date formatting

detectCookieAccessSlowπŸ”—

detectCookieAccessSlow: boolean Optional

Version : SDK: 1.10.4 | ThoughtSpot: 8.2.0.cl, 8.4.1.sw

[AuthServer|Basic] Detect if third-party cookies are enabled by doing an additional call. This is slower and should be avoided. Listen to the NO_COOKIE_ACCESS event to handle the situation.

This is slightly slower than letting the browser handle the cookie check, as it involves an extra network call.

disableFullscreenPresentationπŸ”—

disableFullscreenPresentation: boolean Optional

Version : SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl

Disable fullscreen presentation mode functionality. When enabled, prevents entering and exiting fullscreen mode for embedded visualizations during presentations.

default : true (feature is disabled by default)

init({
  ... // other embed config options
  disableFullscreenPresentation: false, // enables the feature
})

disableLoginFailurePageπŸ”—

disableLoginFailurePage: boolean Optional

Version : SDK: 1.32.3 | ThoughtSpot: 10.1.0.cl, 10.1.0.sw

This flag is used to disable showing the login failure page in the embedded app.

disableLoginRedirectπŸ”—

disableLoginRedirect: boolean Optional

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

Disable redirection to the login page when the embedded session expires This flag is typically used alongside the combination of authentication modes such as AuthType.AuthServer and auto-login behavior EmbedConfig.autoLogin

default : false

disablePreauthCacheπŸ”—

disablePreauthCache: boolean Optional

ignoreNoCookieAccessπŸ”—

ignoreNoCookieAccess: boolean Optional

Ignore the cookie access alert when third-party cookies are blocked by the user’s browser. If you set this to true, the embedded iframe behaviour persists even in the case of a non-logged-in user.

default : false

inPopupπŸ”—

inPopup: boolean Optional

Version : SDK: 1.18.0

[SSO] For SSO Authentication, if inPopup is set to true, it will open the SAML auth flow in a popup, instead of redirecting the browser in place.

Need to use this with authTriggerContainer. Or manually trigger the AuthEvent.TRIGGER_SSO_POPUP event on a user interaction.

default : false

isDarkModeπŸ”—

isDarkMode: boolean Optional

Version : SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl

Render the embedded application in dark appearance when true, and in its default appearance when false or unset.

The host application owns the appearance of an embed, so this overrides the appearance preference of the signed-in user and the color scheme of their operating system. If your application has light and dark themes, pass true while it shows the dark theme and false while it shows the light theme.

// Your application's current theme, 'light' or 'dark'
const appTheme = 'dark';
init({
  ...embedConfig,
  isDarkMode: appTheme === 'dark',
});

logLevelπŸ”—

logLevel: LogLevel Optional

Version : SDK: 1.26.7 | ThoughtSpot: 9.10.0.cl

Suppress or show specific types of logs in the console output. For example, LogLevel.ERROR shows only Visual Embed SDK and ThoughtSpot application errors and suppresses other logs such as warnings, information alerts, and debug messages in the console output.

default : LogLevel.ERROR

init({
  ...embedConfig,
  logLevel: LogLevel.SILENT
})

loginFailedMessageπŸ”—

loginFailedMessage: string Optional

Version : SDK: 1.10.1 | ThoughtSpot: 8.2.0.cl, 8.4.1.sw

This message is displayed in the embedded view when a user login fails.

noRedirectπŸ”—

noRedirect: boolean Optional

[SSO] For SSO Authentication, if noRedirect is set to true, it will open the SAML auth flow in a popup, instead of redirecting the browser in place.

Deprecated : This option is deprecated.

default : false

numberFormatLocaleπŸ”—

numberFormatLocale: string Optional

Version : SDK: 1.28.4 | ThoughtSpot: 10.0.0.cl, 9.5.0.sw

Overrides default/user preferred locale for number formatting

passwordπŸ”—

password: string Optional

[Basic] The ThoughtSpot login password corresponding to the username

Warning: This feature is primarily intended for developer testing. It is strongly advised not to use this authentication method in production.

pendoTrackingKeyπŸ”—

pendoTrackingKey: string Optional

Version : SDK: 1.27.0 | ThoughtSpot: 9.8.0.cl

Pendo API key to enable Pendo tracking to your own subscription, the key is added as an additional key to the embed, as per this document.

queueMultiRendersπŸ”—

queueMultiRenders: boolean Optional

Version : SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1

When there are multiple objects embedded, queue the rendering of embedded objects to start after the previous embed’s render is complete. This helps improve performance by decreasing the load on the browser.

default : false

redirectPathπŸ”—

redirectPath: string Optional

Version : SDK: 1.10.2 | ThoughtSpot: 8.2.0.cl, 8.4.1.sw

[SSO] For SSO Authentication, one can supply an optional path param; This will be the path on the host origin where the SAML flow will be terminated.

Eg: "/dashboard", "#/foo" [Do not include the host]

shouldEncodeUrlQueryParamsπŸ”—

shouldEncodeUrlQueryParams: boolean Optional

Boolean to define if the query parameters in the ThoughtSpot URL should be encoded in base64. This provides additional security to ThoughtSpot clusters against cross-site scripting attacks.

default : false

suppressErrorAlertsπŸ”—

suppressErrorAlerts: boolean Optional

Version : SDK: 1.26.2 | ThoughtSpot: *

If passed as true all alerts will be suppressed in the embedded app.

suppressNoCookieAccessAlertπŸ”—

suppressNoCookieAccessAlert: boolean Optional

Suppress cookie access alert when third-party cookies are blocked by the user’s browser. Third-party cookie blocking is the default behaviour on some web browsers like Safari. If you set this attribute to true, you are encouraged to handle noCookieAccess event, to show your own treatment in this case.

default : false

suppressSearchEmbedBetaWarningπŸ”—

suppressSearchEmbedBetaWarning: boolean Optional

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

Hide the beta alert warning message for SearchEmbed.

thoughtSpotHostπŸ”—

thoughtSpotHost: string

The ThoughtSpot cluster hostname or IP address.

useEventForSAMLPopupπŸ”—

useEventForSAMLPopup: boolean Optional

Specify that we want to use the AuthEvent.TRIGGER_SSO_POPUP event to trigger SAML popup. This is useful when you want to trigger the popup on a custom user action.

usernameπŸ”—

username: string Optional

[AuthServer / Basic] The user name of the ThoughtSpot user. This attribute is required for trusted authentication.

waitForCleanupOnDestroyπŸ”—

waitForCleanupOnDestroy: boolean Optional

Version : SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl

Wait for the cleanup to be completed before destroying the embed.

default : false

MethodsπŸ”—

getAuthTokenπŸ”—

getAuthToken() : Promise< string >

[AuthServer] A function that invokes the trusted authentication endpoint and returns a Promise that resolves to the auth token string. For trusted authentication, the authEndpoint or getAuthToken attribute is required.

It is advisable to fetch a new token inside this method and not reuse the old issued token. When auth expires this method is called again and if it is called with an older token, the authentication will not succeed.

Returns

Promise< string >

Defined in : types.ts

Β© 2026 ThoughtSpot Inc. All Rights Reserved.