Skip to content

Commit 52d2cf0

Browse files
Merge pull request #487 from thoughtspot/main
26-7-0-docs-publication
2 parents 991352c + 0815a23 commit 52d2cf0

64 files changed

Lines changed: 4587 additions & 1323 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

modules/ROOT/pages/api-changelog.adoc

Lines changed: 43 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,36 @@
1-
= Visual Embed changelog
1+
= Visual Embed SDK changelog
22
:toc: true
3-
:toclevels: 1
3+
:toclevels: 2
44

5-
:page-title: Changelog
5+
:page-title: Visual Embed SDK changelog
66
:page-pageid: embed-sdk-changelog
7-
:page-description: Changes to the SDK and APIs
7+
:page-description: Changelog for the Visual Embed SDK
88

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].
9+
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 xref:rest-apiv2-changelog.adoc[REST API v2.0 changelog].
10+
11+
12+
== Version 1.50.x, July 2026
13+
14+
[width="100%", cols="1,4"]
15+
|====
16+
|[tag greenBackground]#NEW FEATURE# a|
17+
18+
[discrete]
19+
===== SpotterViz embed customization
20+
The Visual Embed SDK 1.50.0 introduces the `SpotterVizConfig` interface and `SpotterVizStarterPrompt` interface to allow embed developers to customize the SpotterViz panel on embedded Liveboards and full-application embeds.
21+
22+
A new `SpotterVizConfig` interface is available on `LiveboardViewConfig` and `AppViewConfig` for the `spotterViz` object. This object provides branding customization controls for customizing the SpotterViz panel experience.
23+
24+
To customize app interactions, visibility of the UI elements, and style and appearance of the SpotterViz panel, the SDK also introduces CSS variables, action IDs, and embed and host event identifiers. For more information, see xref:embed-spotterViz.adoc[SpotterViz in embedded Liveboards].
25+
26+
|[tag greenBackground]#NEW FEATURE# a|
27+
28+
[discrete]
29+
===== Home page customization in full application embedding
30+
For full application embedding, ThoughtSpot provides a focused and streamlined home page experience. To enable this feature, use the `HomePage.Focused` option with the `homePage` attribute in the `discoveryExperience` object.
31+
32+
For more information, see xref:full-app-customize.adoc[Customize full application embedding].
33+
|====
1034

1135
== Version 1.49.x, June 2026
1236

@@ -30,42 +54,36 @@ The `visualOverrides` object provides the following customization controls to mo
3054
* `columns` property for column visibility, text wrapping, conditional formatting, and column summary in tables.
3155

3256
For more information, see xref:viz-overrides.adoc[Visualization overrides].
33-
34-
//|[tag greenBackground]#NEW FEATURE# a|
35-
//[discrete]
36-
//===== New charts library
37-
38-
//The SDK introduces the `newChartsLibrary` parameter to enable the new Muze charting library in Liveboard and full application embedding.
39-
4057
|[tag greenBackground]#NEW FEATURE# a|
58+
4159
[discrete]
4260
===== Liveboard browser cache refresh
61+
For embedded Liveboards, the SDK provides `enableLiveboardDataCache` to clear browser cache and fetch new data for the visualizations on the Liveboard.
4362

44-
The SDK introduces the following event IDs and action ID to support programmatic and user-triggered browser cache refresh for the Liveboard ChartViz containers. These APIs require `enableLiveboardDataCache` to be enabled in your embed configuration.
45-
46-
Events::
63+
The SDK also provides the following events and action ID to programmatically trigger cache refresh and control the visibility of the **Refresh** button.
4764

4865
* `EmbedEvent.RefreshLiveboardBrowserCache` +
49-
Emitted when a user clicks the *Refresh* button in the Liveboard header to clear the browser cache.
50-
66+
Emitted when the Liveboard browser cache is refreshed.
5167
* `HostEvent.RefreshLiveboardBrowserCache` +
52-
Allows the host application to programmatically trigger a browser cache refresh for all visualization containers on the embedded Liveboard.
53-
54-
New action ID::
55-
68+
Trigger a manual cache refresh from the host application.
5669
* `Action.RefreshLiveboardBrowserCache` +
57-
Action ID to control the visibility of the *Refresh* button that clears the browser cache and fetches new data for Liveboard ChartViz containers.
70+
Action ID to show or hide the cache refresh button.
71+
72+
For more information, see xref:embed-pinboard.adoc#liveboard-data-cache[Enable Liveboard refresh].
5873

5974
|[tag greenBackground]#NEW FEATURE# a|
6075
[discrete]
6176
===== Spotter file upload
62-
The SDK introduces the following configuration parameters in `SpotterChatViewConfig` to enable and control file uploads in the embedded Spotter chat interface.
77+
The SDK introduces the following configuration parameters in `SpotterChatConfig` object to enable and control file uploads in the embedded Spotter chat interface.
6378

6479
* `spotterFileUploadEnabled` +
6580
When set to `true`, enables the file upload feature in the Spotter chat panel.
6681

6782
* `spotterFileUploadFileTypes` +
68-
Restricts the file types allowed for upload in the Spotter chat panel. Accepts a `SpotterFileUploadFileTypes` object.
83+
Restricts the file types allowed for upload in the Spotter chat panel.
84+
85+
For more information, see xref:embed-spotter.adoc#fileUpload[Allowing file uploads in Spotter chats].
86+
6987
|====
7088

7189

@@ -1846,4 +1864,4 @@ Users with edit permissions can view and access the *Edit* action. The *Download
18461864

18471865
When a user accesses the embedded application from a web browser that has third-party cookies disabled, the Visual Embed SDK emits the `NoCookieAccess` event to notify the developer. Cookies are disabled by default in Safari. Users can enable third-party cookies in Safari’s Preferences setting page or use another web browser.
18481866
To know how to enable this setting by default on Safari for a ThoughtSpot embedded instance, contact ThoughtSpot Support.
1849-
|====
1867+
|====

modules/ROOT/pages/api-user-management.adoc

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ While you can delete users, it is preferable to deactivate a user, which maintai
1616

1717
When configuring xref:configure-saml.adoc[SAML SSO] in ThoughtSpot UI, you can select the *Automatically add SAML users to ThoughtSpot upon first authentication* option, which will use the values in the SAML assertion to create a user if they do not already exist on ThoughtSpot. ThoughtSpot can also add users to groups sent within the SAML assertion. To enable and configure the SAML group attributes, contact your ThoughtSpot team.
1818

19-
By default, ThoughtSpot sends e-mail messages to a new user and enables onboarding workflows when they log in for the first time, even when you are embedding ThoughtSpot content. To alter this behavior at a system-wide level, you need to xref:customize-email-settings.adoc[Customize the onboarding settings].
19+
By default, ThoughtSpot sends e-mail messages to a new user and enables onboarding workflows when they log in for the first time, even when you are embedding ThoughtSpot content. To alter this behavior at a system-wide level, you need to xref:customize-email-settings.adoc[Customize the onboarding settings].
2020
The user update API also allows setting onboarding experience values for an individual user. If you need to modify the default behavior beyond the available UI options, contact your ThoughtSpot team.
2121

2222
[NOTE]
@@ -108,9 +108,9 @@ image::./images/unsuspend.png[Unsuspended state]
108108

109109
=== User migration to IAMv2
110110

111-
ThoughtSpot is gradually migrating its user to link:https://docs.thoughtspot.com/cloud/latest/okta-iam[Identity and Access Management v2 (IAMv2), window=_blank] to provide a more secure login and authentication experience through internal authentication with Okta. The following are some of the important points to note with this upgrade:
111+
ThoughtSpot is gradually migrating its users to link:https://docs.thoughtspot.com/cloud/latest/okta-iam[Identity and Access Management v2 (IAMv2), window=_blank] to provide a more secure login and authentication experience through internal authentication with Okta. The following are some of the important points to note with this upgrade:
112112

113-
* The `email` attribute is mandatory when creating a user in ThoughtSpot Okta. ThoughtSpot recommends users to provide a valid email address during the user creation.
113+
* The `email` attribute is mandatory when creating a user in ThoughtSpot Okta. ThoughtSpot recommends that users provide a valid email address during user creation.
114114
* You must set a password during user creation if you do not want to trigger an activation email.
115115
* The default value for `usertype` will be `OIDC_USER`.
116116

@@ -127,6 +127,26 @@ To update user details:
127127
* +++<a href="{{navprefix}}/restV2-playground?apiResourceId=http%2Fapi-endpoints%2Fusers%2Fupdate-user">POST /api/rest/2.0/users/{user_identifier}/update</a>+++ (Rest API v2)
128128
* xref:user-api.adoc#update-user[PUT /tspublic/v1/user/{userid}] (Rest API v1)
129129

130+
[NOTE]
131+
====
132+
Updating the username of an SSO user, `account_type` set to `SAML_USER` or `OIDC_USER`, requires changes in both the IdP and ThoughtSpot.
133+
134+
If you rename an SSO user through the REST API and that user then logs in through the IdP:
135+
136+
* If Just-in-Time (JIT) provisioning is enabled, ThoughtSpot creates a new duplicate account. The duplicate account does not inherit the original user's content, groups, or permissions.
137+
* If JIT provisioning is disabled, the user cannot log in.
138+
139+
To safely update the username of an SSO user:
140+
141+
. Update the username in your IdP.
142+
. Before the user logs in again, update the username in ThoughtSpot to match the new value using the REST API or Admin UI.
143+
144+
Both updates must be complete before the user's next SSO login.
145+
The order of the two steps can be reversed — you may update ThoughtSpot first and the IdP second — provided the user does not log in during the interval between the two changes.
146+
147+
For SSO users, ThoughtSpot derives email address and display name directly from the IdP. Update these attributes in your IdP only.
148+
ThoughtSpot automatically reflects the new values when the user next logs in through SSO.
149+
Do not use the REST API or the Admin UI to update the email address or display name of an SSO user.
130150
131151
[NOTE]
132152
====
@@ -191,7 +211,7 @@ To remove a user from a group, use the update group REST v2 endpoint, or the fol
191211
* xref:group-api.adoc#delete-user-assoc[POST /tspublic/v1/group/{groupid}/user/{userid}] +
192212
removes a user from a specific group
193213
* xref:group-api.adoc#removeMembers[POST /tspublic/v1/group/removememberships] +
194-
removes a list of users] from many groups at once.
214+
removes a list of users from many groups at once.
195215
196216
== Access control (sharing)
197217
Access to objects is determined by content *shared* directly to the user or the groups they belong to. It is easier to manage and audit sharing through groups rather than object sharing at the individual user level.
@@ -215,6 +235,17 @@ ThoughtSpot also has a default group called `All`. When you create new users in
215235
====
216236
217237
== Roles
218-
If Role-Based Access Control (RBAC) is enabled on your instance, administrators can define Role privileges and assign these to users via Groups.
238+
If Role-Based Access Control (RBAC) is enabled on your instance, administrators can define role privileges and assign them to users via groups. Roles are always scoped to an Org; a role created in one Org cannot be assigned in another.
239+
240+
=== Assign roles to groups via REST API
241+
When creating or updating a group using the REST API v2 endpoints, use the `role_identifiers` parameter to assign one or more roles to the group. The parameter accepts an array of role GUIDs or role names. For more information, see:
242+
243+
* link:{{navprefix}}/restV2-playground?apiResourceId=http%2Fapi-endpoints%2Fgroups%2Fcreate-user-group[`POST /api/rest/2.0/groups/create`]: include `role_identifiers` in the request body.
244+
* link:{{navprefix}}/restV2-playground?apiResourceId=http%2Fapi-endpoints%2Fgroups%2Fupdate-user-group[`POST /api/rest/2.0/groups/{group_identifier}/update`]: include `role_identifiers` to add roles to an existing group.
245+
246+
[NOTE]
247+
====
248+
Roles must be available before they can be assigned. Use the xref:roles-api.adoc[Roles API] to create roles programmatically before calling the group create or update endpoints.
249+
====
219250
220-
For more information, see xref:roles.adoc[Role-based access control] and link:https://docs.thoughtspot.com/cloud/latest/rbac[ThoughtSpot Product documentation, window=_blank].
251+
For a complete list of available privileges and role categories, see xref:roles.adoc[Role-based access control].

modules/ROOT/pages/common/nav-embedding.adoc

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Embed ThoughtSpot in a web app
1414
** link:{{navprefix}}/embed-spotter-agent[Embed Spotter Agent]
1515
* link:{{navprefix}}/embed-liveboard[Embed Analytics]
1616
** link:{{navprefix}}/embed-liveboard[Embed a Liveboard]
17+
** link:{{navprefix}}/spotterViz-agent[SpotterViz AI agent in Liveboards]
1718
** link:{{navprefix}}/embed-a-viz[Embed a visualization]
1819
* link:{{navprefix}}/full-embed[Embed full application]
1920
** link:{{navprefix}}/full-app-customize[Customize your embed]
@@ -41,6 +42,34 @@ Embed without SDK
4142
** link:{{navprefix}}/embed-without-sdk[Embed without SDK]
4243
** link:{{navprefix}}/custom-viz-rest-api[Create a custom visualization]
4344

45+
46+
[.sidebar-title]
47+
Authentication and data security
48+
49+
* link:{{navprefix}}/embed-auth[Authentication]
50+
** link:{{navprefix}}/trusted-auth[Trusted authentication]
51+
*** link:{{navprefix}}/trusted-auth-secret-key[Secret key management]
52+
*** link:{{navprefix}}/trusted-auth-sdk[Front-end trusted authentication integration]
53+
*** link:{{navprefix}}/trusted-auth-token-request-service[Token request service]
54+
*** link:{{navprefix}}/trusted-auth-troubleshoot[Troubleshoot trusted authentication]
55+
** link:{{navprefix}}/saml-sso[SAML SSO authentication]
56+
** link:{{navprefix}}/oidc-auth[OpenID Connect authentication]
57+
** link:{{navprefix}}/just-in-time-provisioning[Just-in-time provisioning]
58+
* link:{{navprefix}}/security-settings[Security settings]
59+
60+
* link:{{navprefix}}/embed-object-access[Authorization]
61+
** link:{{navprefix}}/access-control-sharing[Access control and sharing]
62+
** link:{{navprefix}}/privileges-and-roles[Privileges and Roles]
63+
** link:{{navprefix}}/data-security[Data security]
64+
*** link:{{navprefix}}/rls-rules[RLS Rules]
65+
*** link:{{navprefix}}/abac-via-rls-variables[ABAC via RLS with variables]
66+
*** link:{{navprefix}}/jwt-abac-migration-guide[ABAC JWT migration guide]
67+
**** link:{{navprefix}}/jwt-filter-parameters-rules-migration-guide[JWT ABAC with filter rules -> ABAC via RLS]
68+
**** link:{{navprefix}}/jwt-abac-beta-migration-guide[JWT ABAC beta implementation -> ABAC via RLS]
69+
*** link:{{navprefix}}/abac-user-parameters[ABAC via JWT with filter rules and parameters]
70+
* link:{{navprefix}}/selective-user-access[User access]
71+
* link:{{navprefix}}/troubleshoot-errors[Troubleshoot errors]
72+
4473
[.sidebar-title]
4574
Customize and integrate
4675
@@ -89,32 +118,6 @@ Customize and integrate
89118
** link:{{navprefix}}/prefetch[Prefetch static resources]
90119
* link:{{navprefix}}/troubleshoot-errors[Troubleshoot errors]
91120
92-
[.sidebar-title]
93-
Authentication and data security
94-
95-
* link:{{navprefix}}/embed-auth[Authentication]
96-
** link:{{navprefix}}/trusted-auth[Trusted authentication]
97-
*** link:{{navprefix}}/trusted-auth-secret-key[Secret key management]
98-
*** link:{{navprefix}}/trusted-auth-sdk[Front-end trusted authentication integration]
99-
*** link:{{navprefix}}/trusted-auth-token-request-service[Token request service]
100-
*** link:{{navprefix}}/trusted-auth-troubleshoot[Troubleshoot trusted authentication]
101-
** link:{{navprefix}}/saml-sso[SAML SSO authentication]
102-
** link:{{navprefix}}/oidc-auth[OpenID Connect authentication]
103-
** link:{{navprefix}}/just-in-time-provisioning[Just-in-time provisioning]
104-
* link:{{navprefix}}/security-settings[Security settings]
105-
106-
* link:{{navprefix}}/embed-object-access[Authorization]
107-
** link:{{navprefix}}/access-control-sharing[Access control and sharing]
108-
** link:{{navprefix}}/privileges-and-roles[Privileges and Roles]
109-
** link:{{navprefix}}/data-security[Data security]
110-
*** link:{{navprefix}}/rls-rules[RLS Rules]
111-
*** link:{{navprefix}}/abac-via-rls-variables[ABAC via RLS with variables]
112-
*** link:{{navprefix}}/jwt-abac-migration-guide[ABAC JWT migration guide]
113-
**** link:{{navprefix}}/jwt-filter-parameters-rules-migration-guide[JWT ABAC with filter rules -> ABAC via RLS]
114-
**** link:{{navprefix}}/jwt-abac-beta-migration-guide[JWT ABAC beta implementation -> ABAC via RLS]
115-
*** link:{{navprefix}}/abac-user-parameters[ABAC via JWT with filter rules and parameters]
116-
* link:{{navprefix}}/selective-user-access[User access]
117-
* link:{{navprefix}}/troubleshoot-errors[Troubleshoot errors]
118121
119122
[.sidebar-title]
120123
Embedding tutorials
@@ -170,10 +173,6 @@ include::generated/typedoc/CustomSideNav.adoc[]
170173
[.sidebar-title]
171174
Additional resources
172175
173-
* link:{{navprefix}}/embed-ts[About ThoughtSpot embedding]
174-
* link:{{navprefix}}/get-started-tse[Embed licenses]
175-
* link:{{navprefix}}/license-feature-matrix[Feature matrix]
176176
* link:{{navprefix}}/faqs[FAQs]
177-
* link:{{navprefix}}/code-samples[Code samples]
178177
* link:https://codesandbox.io/s/big-tse-react-demo-i4g9xi[React CodeSandbox, window=_blank]
179-
* link:https://codesandbox.io/s/graphqlcookieembed-wf4fk9?file=/src/App.js:418-426[GraphQL CodeSandbox, window=_blank]
178+
* link:https://github.com/thoughtspot/developer-examples[Developer examples, window=_blank]

0 commit comments

Comments
 (0)