You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
= Integrate external tools and allow custom scripts
2
+
:toc: true
3
+
:toclevels: 2
4
+
5
+
:page-title: Integrate external tools and allow scripts
6
+
:page-pageid: external-tool-script-integration
7
+
:page-description: Security settings for embedding
8
+
9
+
ThoughtSpot supports integrating third-party apps such as Mixpanel, Pendo, LogRocket, and more in your embed. If you are using third-party tools to track usage, trace, log, or onboard your application users, you can seamlessly integrate these tools with ThoughtSpot embed and add custom JavaScripts. This feature is disabled by default on ThoughtSpot instances. To enable this feature, contact ThoughtSpot Support.
10
+
11
+
[IMPORTANT]
12
+
====
13
+
While ThoughtSpot allows the injection of custom JavaScripts, it is important to be aware of the associated security risks, particularly Cross-Site Scripting (XSS). XSS is a vulnerability that can enable malicious actors to inject and execute unauthorized scripts within a trusted environment. This can lead to data breaches, unauthorized access to user sessions, and compromised system integrity. ThoughtSpot strongly recommends reviewing security guidelines before activating this feature in your instances and exercising caution when integrating third-party tools into your embedded application.
14
+
====
15
+
16
+
== Security considerations
17
+
18
+
Before requesting ThoughtSpot Support to enable this feature on your instance, do the following:
19
+
20
+
* Review the security risks associated with custom-hosted scripts and understand the potential consequences of XSS attacks.
21
+
* Implement security controls and measures to validate hosted scripts and mitigate potential vulnerabilities.
22
+
23
+
== Feature enablement
24
+
25
+
Enabling third-party tools on embed involves two steps:
26
+
27
+
. Request for feature activation and provide the script details to ThoughtSpot Support
28
+
. Adding the script sources to the CSP allowlist
29
+
30
+
=== Request for feature enablement
31
+
32
+
Create a ThoughtSpot Support ticket to enable the feature on your instance. In your request, specify the domain URLs that will host the scripts in your embedding environment.
33
+
34
+
Wait for ThoughtSpot Support to validate, approve, and configure the URL for your instance. This step will ensure that only the trusted and vetted domains are allowed to run scripts in your application environment.
35
+
36
+
=== Add script source to CSP allowlist
37
+
After the script hosting URL is approved and configured by ThoughtSpot Support, you must add the JavaScript hosting domain to the CSP allowlist. This step requires administration privileges, so make sure you log in to ThoughtSpot with your administrator credentials.
38
+
39
+
. In your ThoughtSpot application, navigate to *Develop* > *Customizations* > *Security Settings*.
40
+
. If your instance has the Orgs feature enabled, ensure that you are in the *All Orgs* context.
41
+
. On the *Security Settings* page, click *Edit* and turn on the *CSP script-src domains* toggle switch.
* The *CSP script-src domains* section is visible to users with administrative privileges only if the third-party integration feature is enabled on your instance.
52
+
* The *CSP script-src domains* cannot be enabled and configured at the Org level. When configured, this setting will apply to all the Orgs configured on your instance.
53
+
====
54
+
55
+
== Passing variables to the hosted script
56
+
57
+
To pass variables to the customer's hosted script, Visual Embed SDK provides the `customVariablesForThirdPartyTools` parameter. The `customVariablesForThirdPartyTools` is an object containing the variables that you wish to pass to the customer’s hosted JavaScript. These may include private information such as credentials or keys. The hosted JavaScript will access these variables via the `window.tsEmbed` object.
58
+
59
+
Developers can define this parameter in the **init()** function as shown in the following example. Once initialized, the JavaScript will run after the authentication is successfully completed in the ThoughtSpot Embed App.
A successful login returns a session cookie that can be used in your subsequent API calls. For more information, see xref:api-auth-session.adoc#sessionCookies[Session cookies for subsequent API calls].
18
18
[NOTE]
19
19
====
20
-
* If MFA [beta betaBackground]^Beta^ is enabled on your ThoughtSpot instance then basic authentication with only `username` and `password` will return an error.
20
+
* If MFA is enabled on your ThoughtSpot instance then basic authentication with only `username` and `password` will return an error.
21
21
Contact https://community.thoughtspot.com/customers/s/login/?ec=302&startURL=%2Fcustomers%2Fs%2Fcontactsupport[ThoughtSpot Support] for assistance.
22
22
* Embedded users authenticating to ThoughtSpot with basic authentication are recommended to switch to `AuthType.TrustedAuthTokenCookieless`.
23
23
* MFA can be enabled on your instance only if Identity and Access Management (IAMv2) is already enabled.
Copy file name to clipboardExpand all lines: modules/ROOT/pages/api-changelog.adoc
+33
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,39 @@
8
8
9
9
This changelog lists only the changes introduced in the Visual Embed SDK. For information about new features and enhancements available for embedded analytics, see xref:whats-new.adoc[What's New].
10
10
11
+
12
+
== Version 1.37.0, April 2025
13
+
14
+
[width="100%" cols="1,4"]
15
+
|====
16
+
|[tag greenBackground]#NEW FEATURE# a|
17
+
The SDK now provides the `customVariablesForThirdPartyTools` setting to pass custom variables when integrating third-party tools and running custom scripts in your embed. Developers can define this object in the **init()** function and add variables as key-value pair.
18
+
This feature is available only if third-party integration is enabled on your instance and script hosting domain URL is added to the CSP allowlist.
19
+
20
+
For more information, see xref:3rd-party-script.adoc[Integrate third-party tools and allow custom scripts].
21
+
22
+
|[tag greenBackground]#NEW FEATURE# a|
23
+
You can now exclude search token string from the application URL by setting `excludeSearchTokenStringFromURL` to `true` in your embed with ThoughtSpot token-based Search or Search bar.
24
+
25
+
|[tag greenBackground]#NEW FEATURE# a| This version of the SDK supports the following embed and host events:
26
+
27
+
Embed Events::
28
+
29
+
* `EmbedEvent.TableVizRendered` +
30
+
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 `HostEvent.TransformTableVizData` on the table visualization. For more information, see the link:https://developers.thoughtspot.com/docs/Enumeration_EmbedEvent#_tablevizrendered[SDK reference documentation].
31
+
32
+
* `EmbedEvent.CreateLiveboard` +
33
+
Emits when a Liveboard is created.
34
+
35
+
Host Events::
36
+
37
+
* `HostEvent.TransformTableVizData` +
38
+
Triggers the table visualization re-render with the updated data. You can use this event in conjunction with `EmbedEvent.TableVizRendered` to apply the modifications to table visualization payload.
In this method, the REST client must send the `username` and `secret_key` in the API request to obtain an authentication token. The `secret_key` is generated if **Trusted authentication** is enabled on your ThoughtSpot instance.
ThoughtSpot now supports multifactor authentication (MFA) for environments using local authentication with Identity and Access Management (IAMv2). If MFA is enabled on your ThoughtSpot instance,
Copy file name to clipboardExpand all lines: modules/ROOT/pages/data-report-v2-api.adoc
+56-3
Original file line number
Diff line number
Diff line change
@@ -81,7 +81,7 @@ curl -X POST \
81
81
----
82
82
83
83
=== Fetch Liveboard Data API
84
-
To get data from a Liveboard object and its visualizations via `POST /api/rest/2.0/metadata/liveboard/data` endpoint, your user account must have the `DATADOWNLOADING` (*Can download Data*) privilege and at least view access to the Liveboard specified in the API request.
84
+
To get data from a Liveboard object and its visualizations via `POST /api/rest/2.0/metadata/liveboard/data` endpoint, your user account must have at least view access to the Liveboard specified in the API request.
85
85
86
86
The API request body must include the name or GUID of the Liveboard to fetch data. To get specific visualizations from a given Liveboard, add the names or GUIDs of the visualizations in the `visualization_identifiers` array.
87
87
@@ -191,7 +191,7 @@ Download data from a saved Answer in PDF, PNG, CSV, or XLSX file format.
191
191
192
192
=== Liveboard Report API
193
193
194
-
To download a Liveboard report via `/api/rest/2.0/report/liveboard` API, you need `DATADOWNLOADING` (*Can download Data*) privilege and at least view access to the Liveboard specified in the API request.
194
+
To download a Liveboard report via `/api/rest/2.0/report/liveboard` API, you need at least view access to the Liveboard specified in the API request.
195
195
196
196
In the `POST` request body, specify the GUID or name of the Liveboard as `metadata_identifier`. To download reports with specific visualizations, add GUIDs or names of the visualizations in the `visualization_identifiers`.
197
197
@@ -227,6 +227,59 @@ curl -X POST \
227
227
}'
228
228
----
229
229
230
+
==== Override filters
231
+
232
+
If the Liveboard has filters applied and you want to override the filters before downloading the Liveboard, you can specify the filters in the `override_filters` array.
The Sage Search (the legacy Natural Language Search interface) and *Ask Sage* features will be deprecated in version 10.13.0.cl, which is scheduled for release in September 2025.
80
+
Along with this, the xref:SageEmbed.adoc[SageEmbed] library in the Visual Embed SDK will also be deprecated.
81
+
82
+
//with no new enhancements or bug fixes supported after July 2025.
83
+
84
+
Impact on your instance::
85
+
This change will impact all ThoughtSpot instances and applications that use the xref:embed-nls.adoc[Natural Language Search (legacy) interface embedded using the SageEmbed] library in Visual Embed SDK.
86
+
87
+
Recommended action::
88
+
Customers using the legacy Natural Language Search interface and *Ask Sage* in their embedding applications are advised to upgrade to Spotter. We recommend that you start using Spotter by the 10.11.0.cl release (July 2025), so that you have sufficient time to test your rollout. +
89
+
Spotter provides advanced natural language search capabilities and a conversational interface to allow users to interact with the AI analyst and ask follow-up questions. To know more about Spotter and learn how to embed Spotter in your embedding application, refer to the following documentation:
* link:https://docs.thoughtspot.com/cloud/latest/spotter[How to use Spotter, window=_blank]
94
+
+
95
+
For additional queries and assistance, contact ThoughtSpot Support.
96
+
74
97
[#connectionAPIs]
75
98
== Delete and update connection API v2 endpoints
76
99
The following Connection API v2 endpoints are deprecated and will be removed from the product in September 2025: +
@@ -225,7 +248,7 @@ Effective from::
225
248
* ThoughtSpot Cloud 8.8.0.cl
226
249
* ThoughtSpot Software 9.0.1.sw
227
250
228
-
=== Recommended action::
251
+
=== Recommended action
229
252
Use the new version of REST API v2.0 endpoints and SDK versions available for these endpoints. For more information, see xref:rest-api-sdk-libraries.adoc[REST API v2.0 SDKs].
Copy file name to clipboardExpand all lines: modules/ROOT/pages/embed-authentication.adoc
+1-1
Original file line number
Diff line number
Diff line change
@@ -68,7 +68,7 @@ a| Do not use this method if you don’t want the SDK to redirect your entire ap
68
68
* If you want to use local authentication with ThoughtSpot `username` and `password`.
69
69
* If you are developing or testing code for embedding ThoughtSpot in your host app. a|
70
70
* Do not use this authentication method in production environments. +
71
-
* This authentication will fail if multifactor authentication (MFA) [beta betaBackground]^Beta^ is enabled on your ThoughtSpot instance. Contact https://community.thoughtspot.com/customers/s/login/?ec=302&startURL=%2Fcustomers%2Fs%2Fcontactsupport[ThoughtSpot Support] for assistance.
71
+
* This authentication will fail if multifactor authentication (MFA) is enabled on your ThoughtSpot instance. Contact https://community.thoughtspot.com/customers/s/login/?ec=302&startURL=%2Fcustomers%2Fs%2Fcontactsupport[ThoughtSpot Support] for assistance.
0 commit comments