From d457ab0ea45aaa0940670689e2171334f32a903c Mon Sep 17 00:00:00 2001 From: adityamittal3107 Date: Tue, 1 Jul 2025 13:37:02 +0530 Subject: [PATCH 01/31] Fix back button background --- src/assets/styles/variables.scss | 2 ++ src/components/BackButton/index.scss | 1 + 2 files changed, 3 insertions(+) diff --git a/src/assets/styles/variables.scss b/src/assets/styles/variables.scss index 46e166db3..4177a1339 100644 --- a/src/assets/styles/variables.scss +++ b/src/assets/styles/variables.scss @@ -175,6 +175,7 @@ $tag-color-light: $lightgrey; --side-nav-text: #404040; --text-color-code-lang: #999; --icon-color: #999; + --back-button-color: #1d232f; --back-button-background: #eaedf2; --block-background: #eaedf2; --border-color: #c0c6cf; @@ -221,6 +222,7 @@ $tag-color-light: $lightgrey; --side-nav-text: #fff; --text-color-code-lang: #fff; --icon-color: #fff; + --back-button-color: #fff; --table-header-color: #3c4356; --back-button-background: #a4abb8; --block-background: none; diff --git a/src/components/BackButton/index.scss b/src/components/BackButton/index.scss index ad4761a07..6a2aad62e 100644 --- a/src/components/BackButton/index.scss +++ b/src/components/BackButton/index.scss @@ -21,6 +21,7 @@ width: $arrow-icon-height; position: relative; top: 2px; + color: var(--back-button-color); } p { From ef59a3e8c4f34c4e62275fde4ca577d55de5041c Mon Sep 17 00:00:00 2001 From: rani2655 Date: Tue, 1 Jul 2025 17:05:31 +0530 Subject: [PATCH 02/31] removed hyperlink to email apis --- modules/ROOT/pages/customize-email-apis.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/ROOT/pages/customize-email-apis.adoc b/modules/ROOT/pages/customize-email-apis.adoc index 7242aa5ea..345908f11 100644 --- a/modules/ROOT/pages/customize-email-apis.adoc +++ b/modules/ROOT/pages/customize-email-apis.adoc @@ -41,7 +41,7 @@ For overlapping components, customized configuration through these APIs override //To try the API endpoints for the email customizations, see xref:rest-api-v2-reference.adoc[REST APIs v2]. == Create an email customization -To customize the notification emails for your Org, send a `POST` request to the +++ /api/rest/2.0/customization/email +++ API endpoint, with the following parameters in the request body. +To customize the notification emails for your Org, send a `POST` request to the `/api/rest/2.0/customization/email` API endpoint, with the following parameters in the request body. At any given time, only one customized configuration can be set for the notification emails of the Org. The most recently set configuration will be the active one. [NOTE] @@ -105,7 +105,7 @@ image:./images/email-template.png[JSON actions explained] == Validate the email customization -To validate your email customization configuration in ThoughtSpot, send a `POST` request to the +++ /api/rest/2.0/customization/email/validate +++ API endpoint. +To validate your email customization configuration in ThoughtSpot, send a `POST` request to the `/api/rest/2.0/customization/email/validate` API endpoint. This triggers a test email that reflects all the customizations you have configured. It allows you to confirm that customizations are applied as expected. You can adjust your configuration if needed and repeat the validation until done. For users with developer privileges, the email will be sent to their email id. For users with admin privileges, the email will be delivered to the address associated with the ThoughtSpot account. @@ -117,11 +117,11 @@ Validation email delivery requires the mail service to be enabled for the Org. I == Search an email customization -To search the email customization configuration set for the Org send a `POST` request to the +++ /api/rest/2.0/customization/email/search +++ API endpoint. +To search the email customization configuration set for the Org send a `POST` request to the `/api/rest/2.0/customization/email/search` API endpoint. == Delete an email customization -To remove an existing customization configuration for notification emails in your Org, send a `POST` request to the +++ /api/rest/2.0/customization/email/{template_identifier}/delete +++ API endpoint, with the `template_identifier` passed as a path parameter in the request URL . +To remove an existing customization configuration for notification emails in your Org, send a `POST` request to the `/api/rest/2.0/customization/email/{template_identifier}/delete` API endpoint, with the `template_identifier` passed as a path parameter in the request URL . == Additional references From 9aba1b1fbd37919c7a485ebfcac93c4f9b51c754 Mon Sep 17 00:00:00 2001 From: rani2655 Date: Tue, 1 Jul 2025 17:24:02 +0530 Subject: [PATCH 03/31] removed hyperlink to email apis-1 --- modules/ROOT/pages/customize-email-apis.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/ROOT/pages/customize-email-apis.adoc b/modules/ROOT/pages/customize-email-apis.adoc index 345908f11..1399d3bed 100644 --- a/modules/ROOT/pages/customize-email-apis.adoc +++ b/modules/ROOT/pages/customize-email-apis.adoc @@ -127,3 +127,4 @@ To remove an existing customization configuration for notification emails in you * xref:customize-email-settings.adoc[Customize onboarding settings] * xref:custom-domain-configuration.adoc[Custom domain configuration] + From 722e734d88c567a19685af13a9438ca1b436b5b2 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Thu, 3 Jul 2025 21:27:34 +0530 Subject: [PATCH 04/31] frame-src ref removal --- modules/ROOT/pages/security-settings.adoc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/modules/ROOT/pages/security-settings.adoc b/modules/ROOT/pages/security-settings.adoc index 809372208..0488b2da2 100644 --- a/modules/ROOT/pages/security-settings.adoc +++ b/modules/ROOT/pages/security-settings.adoc @@ -49,14 +49,12 @@ The following table shows the settings available at the All Orgs and per-Org lev [options='header'] |===== ||Configuration setting|All Orgs level |Per-Org level -.7+|CSP allowlists | **CSP visual embed hosts** a| [tag greenBackground tick]#Yes# a| +.6+|CSP allowlists | **CSP visual embed hosts** a| [tag greenBackground tick]#Yes# a| [tag redBackground tick]#No# |**CSP connect-src domains** a| [tag greenBackground tick]#Yes# a| [tag redBackground tick]#No# |**CSP font-src domains** a| [tag greenBackground tick]#Yes# a| [tag redBackground tick]#No# -|**CSP frame-src domains** a| [tag greenBackground tick]#Yes# a| -[tag redBackground tick]#No# |**CSP img-src domains** a| [tag greenBackground tick]#Yes# a| [tag redBackground tick]#No# |**CSP style-src domains** a|[tag greenBackground tick]#Yes# a| @@ -78,6 +76,10 @@ Each Org can have a separate secret key, which can be used to authenticate users |===== -- +//// +|**CSP frame-src domains** a| [tag greenBackground tick]#Yes# a| [tag redBackground tick]#No# +//// + [NOTE] ==== * When security settings are defined at both levels, the Org-level settings take precedence over cluster-level settings within that Org. @@ -140,11 +142,13 @@ Add the domains from which you want to load images and favicons. Add the domains from which you want to load fonts. * *CSP style-src domains* + Add the domains from which you want to load stylesheets. -* *CSP frame-src domains* + -Add the iframe source URL domains. * *CSP script-src domains* Add the domains from which you want host scripts. For more information, see xref:3rd-party-script.adoc[Integrate third-party tools and allow custom scripts]. +//// +* *CSP frame-src domains* + +Add the iframe source URL domains. +//// === Add permitted iFrame domains Features such as link:https://docs.thoughtspot.com/software/latest/liveboard-notes[Liveboard Note tiles, window=_blank] and link:https://docs.thoughtspot.com/cloud/latest/chart-custom[custom charts, window=_blank] allow iFrame content. If you are planning to embed content from an external site, make sure the domain URLs of these sites are added to the iFrame domain allowlist: From b2d6706b6b3b44cadfd32eaaa188f500582d7c42 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Thu, 3 Jul 2025 21:37:13 +0530 Subject: [PATCH 05/31] version update --- modules/ROOT/pages/rest-api-java-sdk.adoc | 2 +- modules/ROOT/pages/rest-api-sdk-typescript.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/rest-api-java-sdk.adoc b/modules/ROOT/pages/rest-api-java-sdk.adoc index 868534d32..de1142d88 100644 --- a/modules/ROOT/pages/rest-api-java-sdk.adoc +++ b/modules/ROOT/pages/rest-api-java-sdk.adoc @@ -279,7 +279,7 @@ Note the recommendation of Java SDK: |==== |ThoughtSpot release version|Supported SDK version a|ThoughtSpot Cloud: 10.9.0.cl | v2.14.0 or later -a|ThoughtSpot Cloud: 10.10.0.cl | v2.15.0 or later +a|ThoughtSpot Cloud: 10.10.0.cl | v2.15.1 or later |==== diff --git a/modules/ROOT/pages/rest-api-sdk-typescript.adoc b/modules/ROOT/pages/rest-api-sdk-typescript.adoc index d2e33de56..a921f0030 100644 --- a/modules/ROOT/pages/rest-api-sdk-typescript.adoc +++ b/modules/ROOT/pages/rest-api-sdk-typescript.adoc @@ -223,7 +223,7 @@ a|* ThoughtSpot Cloud release versions: + a|ThoughtSpot Cloud: 10.6.0.cl | v2.12.1 or later a|ThoughtSpot Cloud: 10.8.0.cl | v2.13.1 or later a|ThoughtSpot Cloud: 10.9.0.cl | v2.14.0 or later -a|ThoughtSpot Cloud: 10.10.0.cl | v2.15.0 or later +a|ThoughtSpot Cloud: 10.10.0.cl | v2.15.1 or later |==== For information about new features, breaking changes, and deprecated parameters, see xref:rest-apiv2-changelog.adoc[API changelog]. From 27f0bc43c9a43ee56296af68657b7352827cdf90 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 8 Jul 2025 21:15:51 +0530 Subject: [PATCH 06/31] rest-api-java-sdk blurb --- modules/ROOT/pages/whats-new.adoc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/ROOT/pages/whats-new.adoc b/modules/ROOT/pages/whats-new.adoc index a5f2e5b00..2ebcf80f1 100644 --- a/modules/ROOT/pages/whats-new.adoc +++ b/modules/ROOT/pages/whats-new.adoc @@ -103,6 +103,11 @@ For information about the new features and enhancements introduced in Visual Emb === REST API For information about REST API v2 enhancements, see xref:rest-apiv2-changelog.adoc[REST API v2.0 changelog]. +==== REST API Java SDK + +The REST API Java SDK enables developers to interact programmatically with ThoughtSpot REST APIs from Java applications. It provides a client library with Java methods and classes that map to API endpoints, handle authentication, send API requests, and allow creating and modifying ThoughtSpot resources and objects. + +For information about how to install and use the SDK, see xref:rest-api-java-sdk.adoc[Java SDK for REST APIs]. == Version 10.8.0.cl From 07ec7c1c3c9cd718f05c9d89d8486b6779ca9eef Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 9 Jul 2025 11:32:02 +0530 Subject: [PATCH 07/31] nav title update --- modules/ROOT/pages/common/nav.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/common/nav.adoc b/modules/ROOT/pages/common/nav.adoc index 396200e61..7cfcb2a5b 100644 --- a/modules/ROOT/pages/common/nav.adoc +++ b/modules/ROOT/pages/common/nav.adoc @@ -121,7 +121,7 @@ include::generated/typedoc/CustomSideNav.adoc[] **** [.typedoc-Interface]#link:{{navprefix}}/Interface_RuntimeFilter[RuntimeFilter]# **** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_RuntimeFilterOp[RuntimeFilterOp]# *** Others -**** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_Action[Actions]# +**** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_Action[Action]# **** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_ContextMenuTriggerOptions[ContextMenuTriggerOptions]# **** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_DataSourceVisualMode[DataSourceVisualMode]# **** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_Page[Page]# From 052a8e031ab45184240e3063fe79ebf156daade9 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 9 Jul 2025 11:32:02 +0530 Subject: [PATCH 08/31] nav title update --- modules/ROOT/pages/common/nav.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/common/nav.adoc b/modules/ROOT/pages/common/nav.adoc index 396200e61..7cfcb2a5b 100644 --- a/modules/ROOT/pages/common/nav.adoc +++ b/modules/ROOT/pages/common/nav.adoc @@ -121,7 +121,7 @@ include::generated/typedoc/CustomSideNav.adoc[] **** [.typedoc-Interface]#link:{{navprefix}}/Interface_RuntimeFilter[RuntimeFilter]# **** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_RuntimeFilterOp[RuntimeFilterOp]# *** Others -**** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_Action[Actions]# +**** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_Action[Action]# **** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_ContextMenuTriggerOptions[ContextMenuTriggerOptions]# **** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_DataSourceVisualMode[DataSourceVisualMode]# **** [.typedoc-Enumeration]#link:{{navprefix}}/Enumeration_Page[Page]# From 7177fbf00bbce86bd882a1aff5bea01ad8318312 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 9 Jul 2025 11:46:11 +0530 Subject: [PATCH 09/31] typo fix --- modules/ROOT/pages/data-report-v2-api.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/data-report-v2-api.adoc b/modules/ROOT/pages/data-report-v2-api.adoc index 2de5227f9..fa5984908 100644 --- a/modules/ROOT/pages/data-report-v2-api.adoc +++ b/modules/ROOT/pages/data-report-v2-api.adoc @@ -335,7 +335,7 @@ To download Answer data via `/api/rest/2.0/report/answer` API, you need at least In the request body, specify the GUID or name of the Answer object as `metadata_identifier`. -You can download thw Answer data in the `CSV`, `XLSX`, PNG` and `PDF` format. The default `file_format` is CSV. +You can download the Answer data in the `CSV`, `XLSX`, `PNG`, and `PDF` format. The default `file_format` is `CSV`. .**Example** From 8f55d4f36cf5c530b5a84d5cf7e4def6bcd8e709 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 9 Jul 2025 13:26:53 +0530 Subject: [PATCH 10/31] try it out link fix --- modules/ROOT/pages/rest-api-getstarted.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/rest-api-getstarted.adoc b/modules/ROOT/pages/rest-api-getstarted.adoc index 9fa15520a..387fd1981 100644 --- a/modules/ROOT/pages/rest-api-getstarted.adoc +++ b/modules/ROOT/pages/rest-api-getstarted.adoc @@ -22,7 +22,7 @@ You can access the REST API v1 explorer using one of the following options: + ++++ -Try it out +Try it out ++++ * Using the Swagger URL From 2619e050eb85e1fa4fed3868ada41e526a833496 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 16 Jul 2025 13:59:52 +0530 Subject: [PATCH 11/31] updates --- modules/ROOT/pages/api-changelog.adoc | 14 ++++++++++++++ modules/ROOT/pages/filters_overview.adoc | 2 +- modules/ROOT/pages/tml.adoc | 6 ++++-- modules/ROOT/pages/whats-new.adoc | 4 ++++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/modules/ROOT/pages/api-changelog.adoc b/modules/ROOT/pages/api-changelog.adoc index 2f4450c14..44e600850 100644 --- a/modules/ROOT/pages/api-changelog.adoc +++ b/modules/ROOT/pages/api-changelog.adoc @@ -8,6 +8,20 @@ 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]. +== Version 1.40.0, July 2025 + +[width="100%" cols="1,4"] +|==== +|[tag greenBackground]#NEW FEATURE# a| *Fullscreen presentation mode controls for Liveboards and visualizations* + +Developers can now control whether a visualization or Liveboard can be presented in the full screen mode using the `disableFullscreenPresentation` attribute. +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 xref:embed-spotter.adoc[Spotter embed documentation]. +|[tag greenBackground]#NEW FEATURE# a| *Action ID of Spotter coaching* + +For ThoughtSpot instances that have the new Spotter feedback and coaching workflow enabled, SDK provides the action ID `Acion.InCoversationTraining` to manage the visibility of the *Add to coaching* button on Answer generated from Spotter prompts. + +[NOTE] +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. + + == Version 1.39.0, July 2025 [width="100%" cols="1,4"] diff --git a/modules/ROOT/pages/filters_overview.adoc b/modules/ROOT/pages/filters_overview.adoc index 58add1abf..6747e30b7 100644 --- a/modules/ROOT/pages/filters_overview.adoc +++ b/modules/ROOT/pages/filters_overview.adoc @@ -12,7 +12,7 @@ ThoughtSpot provides multiple types of filters for various xref:intro-thoughtspo The behavior of each filter type and the mechanism for setting filters can differ widely. There are different types of filters, which can be applied in the following order: -1. xref:rls-rulesl.adoc[Row-level security (RLS) Rules] + +1. xref:rls-rules.adoc[Row-level security (RLS) Rules] + Tied to the logged-in user and their group memberships. Completely secure and cannot be altered by the logged-in user. 2. xref:abac-user-parameters.adoc[Attribute-Based Access Control (ABAC) filter rules] + Filters and Parameter rules applied on a Worksheet and assigned to a token. diff --git a/modules/ROOT/pages/tml.adoc b/modules/ROOT/pages/tml.adoc index 3ae557450..b485ef759 100644 --- a/modules/ROOT/pages/tml.adoc +++ b/modules/ROOT/pages/tml.adoc @@ -165,7 +165,8 @@ If the API request is successful, ThoughtSpot schedules an import task, and retu "completed_at": null, "total_object_count": 2, "object_processed_count": null, - "modified_at": null + "modified_at": null, + "author_display_name": "UserA" } ---- @@ -300,7 +301,8 @@ If Orgs are enabled on your instance, the API returns task status only for objec "completed_at": 1732601184476, "total_object_count": 2, "object_processed_count": 2, - "modified_at": 1732601184476 + "modified_at": 1732601184476, + "author_display_name": "UserA" } ], "last_batch": true diff --git a/modules/ROOT/pages/whats-new.adoc b/modules/ROOT/pages/whats-new.adoc index a5f2e5b00..766c63ad0 100644 --- a/modules/ROOT/pages/whats-new.adoc +++ b/modules/ROOT/pages/whats-new.adoc @@ -8,6 +8,10 @@ This page lists new features, enhancements, and deprecated functionality in ThoughtSpot Embedded instances. +== Version 10.11.0.cl + + + == Version 10.10.0.cl === Email customization per Org [beta betaBackground]^Beta^ From f0c18114eb6117135baf4bf41926d15e9715626c Mon Sep 17 00:00:00 2001 From: ShashiSubramanya <76986173+ShashiSubramanya@users.noreply.github.com> Date: Wed, 16 Jul 2025 13:56:51 +0530 Subject: [PATCH 12/31] link fix --- modules/ROOT/pages/filters_overview.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/filters_overview.adoc b/modules/ROOT/pages/filters_overview.adoc index 58add1abf..6747e30b7 100644 --- a/modules/ROOT/pages/filters_overview.adoc +++ b/modules/ROOT/pages/filters_overview.adoc @@ -12,7 +12,7 @@ ThoughtSpot provides multiple types of filters for various xref:intro-thoughtspo The behavior of each filter type and the mechanism for setting filters can differ widely. There are different types of filters, which can be applied in the following order: -1. xref:rls-rulesl.adoc[Row-level security (RLS) Rules] + +1. xref:rls-rules.adoc[Row-level security (RLS) Rules] + Tied to the logged-in user and their group memberships. Completely secure and cannot be altered by the logged-in user. 2. xref:abac-user-parameters.adoc[Attribute-Based Access Control (ABAC) filter rules] + Filters and Parameter rules applied on a Worksheet and assigned to a token. From 3dcabde597b350eae5dec384a7f5dc26146ce593 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 16 Jul 2025 15:34:30 +0530 Subject: [PATCH 13/31] edits --- modules/ROOT/pages/api-changelog.adoc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/modules/ROOT/pages/api-changelog.adoc b/modules/ROOT/pages/api-changelog.adoc index 44e600850..260564d0e 100644 --- a/modules/ROOT/pages/api-changelog.adoc +++ b/modules/ROOT/pages/api-changelog.adoc @@ -12,11 +12,15 @@ This changelog lists only the changes introduced in the Visual Embed SDK. For in [width="100%" cols="1,4"] |==== -|[tag greenBackground]#NEW FEATURE# a| *Fullscreen presentation mode controls for Liveboards and visualizations* + -Developers can now control whether a visualization or Liveboard can be presented in the full screen mode using the `disableFullscreenPresentation` attribute. -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 xref:embed-spotter.adoc[Spotter embed documentation]. -|[tag greenBackground]#NEW FEATURE# a| *Action ID of Spotter coaching* + -For ThoughtSpot instances that have the new Spotter feedback and coaching workflow enabled, SDK provides the action ID `Acion.InCoversationTraining` to manage the visibility of the *Add to coaching* button on Answer generated from Spotter prompts. +|[tag greenBackground]#NEW FEATURE# a| *Fullscreen presentation mode controls for embedded Liveboards and visualizations* + +Developers can now control whether a visualization or Liveboard can be presented in the full screen mode using the `disableFullscreenPresentation` attribute. By default, the fullscreen mode is disabled on embedded Liveboards and visualizations. +|[tag greenBackground]#NEW FEATURE# a| *PDF download settings* + +Developers can now control the display of *Include cover page* and *Include filter page(s)* options on the Download PDF dialog for Liveboards. The *Include cover page* and *Include filter page(s)* options are disabled by default on ThoughtSpot instances. When this feature is enabled, developers can use the `coverAndFilterOptionInPDF` attribute to show or hide these options for the Liveboard users in their embed. + +|[tag greenBackground]#NEW FEATURE# a| *Full application embed experience enhancements* + + +* The SDK now includes the `hideObjectSearch` property to allow developers to hide the object search button on navigation bar in their full application embed. + [NOTE] 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. From a4e572ac67f7cc00bba92a78aa784362fa8f409f Mon Sep 17 00:00:00 2001 From: ShashiSubramanya <76986173+ShashiSubramanya@users.noreply.github.com> Date: Wed, 16 Jul 2025 14:08:14 +0530 Subject: [PATCH 14/31] typo fix --- modules/ROOT/pages/api-changelog.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/api-changelog.adoc b/modules/ROOT/pages/api-changelog.adoc index 2f4450c14..ca1de6596 100644 --- a/modules/ROOT/pages/api-changelog.adoc +++ b/modules/ROOT/pages/api-changelog.adoc @@ -26,7 +26,7 @@ Replaced with `SpotterAgentEmbedViewConfig` 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 xref:embed-spotter.adoc[Spotter embed documentation]. |[tag greenBackground]#NEW FEATURE# a| *Action ID of Spotter coaching* + -For ThoughtSpot instances that have the new Spotter feedback and coaching workflow enabled, SDK provides the action ID `Acion.InCoversationTraining` to manage the visibility of the *Add to coaching* button on Answer generated from Spotter prompts. +For ThoughtSpot instances that have the new Spotter feedback and coaching workflow enabled, SDK provides the action ID `Action.InCoversationTraining` to manage the visibility of the *Add to coaching* button on Answer generated from Spotter prompts. [NOTE] 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. From e1a828f490d8bce457d6f458812de553e9784964 Mon Sep 17 00:00:00 2001 From: rani2655 Date: Mon, 21 Jul 2025 13:38:21 +0530 Subject: [PATCH 15/31] small content additions --- modules/ROOT/pages/configure-saml.adoc | 4 ++-- modules/ROOT/pages/orgs.adoc | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/ROOT/pages/configure-saml.adoc b/modules/ROOT/pages/configure-saml.adoc index d48f7b0d7..7fdd77b4a 100644 --- a/modules/ROOT/pages/configure-saml.adoc +++ b/modules/ROOT/pages/configure-saml.adoc @@ -232,10 +232,10 @@ Request binding;; Binding used for mapping the SAML protocol message. The default is HTTP-POST. Request signature algorithm;; -Signature algorithm used to sign the authentication request to your IDP. The default is SHA-256. +Signature algorithm used to sign the authentication request to your IDP. The default is SHA-256, but it is important to match it to the algorithm used by the IDP. Response signature algorithm;; -The minimum signature algorithm used to validate the SAML assertion from the IDP. The default is SHA-256. +The minimum signature algorithm used to validate the SAML assertion from the IDP. The default is SHA-256, but it is important to match it to the algorithm used by the IDP. Max clock skew time in seconds;; The allowed skew time, after which the authentication response is rejected and sent back from the IDP. The default is 86400. diff --git a/modules/ROOT/pages/orgs.adoc b/modules/ROOT/pages/orgs.adoc index cb08f7658..661b98b1c 100644 --- a/modules/ROOT/pages/orgs.adoc +++ b/modules/ROOT/pages/orgs.adoc @@ -214,7 +214,9 @@ a| [tag greenBackground tick]#✓# Groups and privilege assignment to users + Style customization and CSS overrides | [tag greenBackground tick]#✓#| [tag greenBackground tick]#✓# + -__Style customization settings can be applied only on the *Develop* > *Customizations* > *Style customizations* page. Per-Org CSS overrides can be applied using the Visual Embed SDK. To enable this feature on your instance, contact ThoughtSpot Support. __ +__Style customization settings can be applied through the *Develop* > *Customizations* > *Style customizations* page. Alternatively, you can access Style customization from the Admin tab. + +Per-Org CSS overrides can be applied using the Visual Embed SDK. To enable this feature on your instance, contact ThoughtSpot Support. __ |Custom actions| [tag greyBackground tick]#–# | [tag greenBackground tick]#✓# + From 31ba9589830ab311f094f81e59cbe1ef75a6f026 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 23 Jul 2025 07:30:16 +0530 Subject: [PATCH 16/31] changelog, what's new and spotter updates --- modules/ROOT/pages/api-changelog.adoc | 109 +++- modules/ROOT/pages/embed-spotter-agent.adoc | 498 ++++++++++++++++++ modules/ROOT/pages/embed-spotter.adoc | 2 +- .../ROOT/pages/rest-api-v1v2-comparison.adoc | 3 + .../pages/rest-api-v2-metadata-search.adoc | 181 ++++--- modules/ROOT/pages/whats-new.adoc | 18 + 6 files changed, 715 insertions(+), 96 deletions(-) create mode 100644 modules/ROOT/pages/embed-spotter-agent.adoc diff --git a/modules/ROOT/pages/api-changelog.adoc b/modules/ROOT/pages/api-changelog.adoc index 260564d0e..13a6be9ad 100644 --- a/modules/ROOT/pages/api-changelog.adoc +++ b/modules/ROOT/pages/api-changelog.adoc @@ -17,14 +17,117 @@ Developers can now control whether a visualization or Liveboard can be presented |[tag greenBackground]#NEW FEATURE# a| *PDF download settings* + Developers can now control the display of *Include cover page* and *Include filter page(s)* options on the Download PDF dialog for Liveboards. The *Include cover page* and *Include filter page(s)* options are disabled by default on ThoughtSpot instances. When this feature is enabled, developers can use the `coverAndFilterOptionInPDF` attribute to show or hide these options for the Liveboard users in their embed. +|[tag greenBackground]#NEW FEATURE# a| *Primary action configuration on charts* + + +Developers can now override the default primary action button on Liveboard visualizations with a custom action. If Spotter is enabled on your instance, the *Spotter* button appears by default as the primary action on embedded Liveboard charts; if Spotter is not enabled, the *Explore* button is shown. You can configure a different action to replace this button as the primary action. + +Note that when you set the `primaryAction` property, your configured action replaces the existing primary button on visualizations on a Liveboard. However, on Answers, the configured action is added as a secondary button, positioned above the chart or table along with the other main actions. + +[source,JavaScript] +---- +primaryAction: Action.Download, +---- + |[tag greenBackground]#NEW FEATURE# a| *Full application embed experience enhancements* + +The SDK now includes the `hideObjectSearch` property to allow developers to hide the object search button on navigation bar in their full application embed. -* The SDK now includes the `hideObjectSearch` property to allow developers to hide the object search button on navigation bar in their full application embed. +|[tag greenBackground]#NEW FEATURE# a| *Events* + +In this version, the SDK includes following new event handlers: -[NOTE] -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. +Embed events:: + +- `EmbedEvent.ExitPresentMode` + +Emits when a user exits the Liveboard or visualization presentation mode. +- `EmbedEvent.LastPromptDeleted` + +Emits when a query prompt in Spotter embed is deleted. +- `EmbedEvent.LastPromptEdited` + +Emits when a query prompt in Spotter embed is edited. +- `EmbedEvent.ResetSpotterConversation` + +Emits when a Spotter query is reset. +- `EmbedEvent.PreviewSpotterData` + +Emits when a user clicks the Preview data button in the Spotter conversation panel. +- `EmbedEvent.SpotterQueryTriggered` +Emits when a Spotter query is triggered. + +HostEvents:: + +- `HostEvent.ExitPresentMode` + +Triggers the exit action that allows users to exit the Liveboard or visualization present mode. +- `HostEvent.SpotterSearch` + +Triggers a search operation for the specified query string Spotter embed. +- `HostEvent.PreviewSpotterData` +Triggers the *Preview data* action that shows the data used for Spotter conversations. +- `HostEvent.ResetSpotterConversation` +Triggers the *Reset* action to reset Spotter conversation. +- `HostEvent.EditLastPrompt` +Triggers the edit prompt action. +- `HostEvent.DeleteLastPrompt` +Triggers the delete prompt action. + +|[tag greenBackground]#NEW FEATURE# a|*Events support for Spotter embed* + +You can now use the following embed and host events in Spotter embed: + +Embed events:: +- `EmbedEvent.AddRemoveColumns` +- `EmbedEvent.AnswerChartSwitcher` +- `EmbedEvent.AuthExpire` +- `EmbedEvent.AuthInit` +- `EmbedEvent.CopyToClipboard` +- `EmbedEvent.Data` +- `EmbedEvent.DataSourceSelected` +- `EmbedEvent.DialogClose` +- `EmbedEvent.DialogOpen` +- `EmbedEvent.Download` +- `EmbedEvent.DownloadAsCsv` +- `EmbedEvent.DownloadAsPng` +- `EmbedEvent.DownloadAsXlsx` +- `EmbedEvent.DrillDown` +- `EmbedEvent.DrillExclude` +- `EmbedEvent.DrillInclude` +- `EmbedEvent.Edit` +- `EmbedEvent.Error` +- `EmbedEvent.Load` +- `EmbedEvent.Pin` +- `EmbedEvent.Save` +- `EmbedEvent.TableVizRendered` +- `EmbedEvent.VizPointClick` +- `EmbedEvent.VizPointDoubleClick` +- `EmbedEvent.VizPointRightClick` +Host events:: + +- `HostEvent.DownloadAsCsv` +- `HostEvent.DownloadAsPng` +- `HostEvent.DownloadAsXlsx` +- `HostEvent.Edit` +- `HostEvent.GetParameters` +- `HostEvent.GetTML` +- `HostEvent.MakeACopy` +- `HostEvent.Pin` +- `HostEvent.Save` + +|[tag greenBackground]#NEW FEATURE# a| *Lazy loading with full height* + +The SDK introduces `lazyLoadingForFullHeight` parameter to progressively load the visualizations on Liveboard in your embed. This parameter works in conjunctions with the `fullHeight` attribute and when both these attributes are enabled, the visualizations in the current viewport are loaded initially and additional visualizations on the Liveboard page are loaded as the user scrolls. + +Note that your ThoughtSpot instance requires 10.12.0.cl or later versions to effectively use these attributes in your embed. +|==== + +//// + +TBD 10.12 events + +- `HostEvent.AnswerChartSwitcher` +- `HostEvent.AskSpotter` +- `HostEvent.DeleteLastPrompt` +- `HostEvent.EditLastPrompt` +- `HostEvent.PreviewSpotterData` +- `HostEvent.ResetSpotterConversation` +- `HostEvent.SpotterSearch` + +//// == Version 1.39.0, July 2025 diff --git a/modules/ROOT/pages/embed-spotter-agent.adoc b/modules/ROOT/pages/embed-spotter-agent.adoc new file mode 100644 index 000000000..170684b48 --- /dev/null +++ b/modules/ROOT/pages/embed-spotter-agent.adoc @@ -0,0 +1,498 @@ += Embed Spotter Agent +:toc: true +:toclevels: 3 + +:page-title: Embed Spotter Agent +:page-pageid: embed-spotter-agent +:page-description: You can use the SpotterAgentEmbed SDK library to embed Spotter experience in your application. + +Spotter Agent is an embeddable AI analyst component from ThoughtSpot that enables you to integrate natural language data search and analysis into your own applications. Unlike the standard Spotter embed, which provides a ready-made search bar and interface, Spotter Agent is designed for deeper integration and customization. It allows you to build your own UI or agent experience, broker user questions to ThoughtSpot, and receive structured answers and visualizations, giving you full control over the look, feel, and workflow of the embedded analytics experience. + +== How is Spotter Agent Embedding Different from Spotter Embed? + +* Spotter embed provides a pre-built search bar and interface for quick embedding. +* Spotter Agent embedding is intended for custom agent or chatbot experiences, letting you control the UI and workflow while leveraging ThoughtSpot’s AI-powered analytics engine. + +== Prerequisites + +* Access to a ThoughtSpot instance. +* Your application domain must be allowlisted in ThoughtSpot CSP and CORS settings. +* Admin or developer privileges in ThoughtSpot. +* A worksheet or table to use as the data source. + +== Install the Visual Embed SDK + +[source,bash] +---- +npm install @thoughtspot/visual-embed-sdk +---- + +== Import the SDK and Components + +[source,js] +---- +import { AuthType, init } from '@thoughtspot/visual-embed-sdk'; +import { SpotterAgentEmbed, SpotterAgentViewConfig } from '@thoughtspot/visual-embed-sdk/react'; +---- + +== Initialize the SDK + +[source,js] +---- +init({ + thoughtSpotHost: 'https://', + authType: AuthType.None // Or AuthType.TrustedAuthToken, etc. +}); +---- + +== Configure SpotterAgentViewConfig + +[source,js] +---- +const viewConfig = { + worksheetId: '', // Required: Data source object ID + searchQuery: 'sales by region', // Optional: Initial query + runtimeFilters: [ + { + columnName: 'region', + operator: 'EQ', + values: ['West'] + } + ], // Optional: Pre-filtered context + visibleActions: [ + 'Action.Save', + 'Action.Download', + 'Action.DownloadAsPDF' + ], // Optional: Show only these actions + disabledActions: [ + 'Action.Download' + ], // Optional: Disable specific actions + disabledActionReason: { + 'Action.Download': 'Download is not allowed for this user' + }, // Optional: Tooltip for disabled actions + hideSourceSelection: true, // Optional: Hide data source selector + disableSourceSelection: false, // Optional: Disable data source selection + locale: 'en-US', // Optional: Set locale + showSpotterLimitations: false, // Optional: Show Spotter limitations + hideSampleQuestions: true // Optional: Hide sample questions +}; +---- + +== Embed the Spotter Agent + +[source,jsx] +---- + console.log('Spotter Agent loaded')} + onInit={() => console.log('Spotter Agent initialized')} +/> +---- + +== Register and Handle Events + +You can handle Spotter Agent events for analytics and integration. + +[source,jsx] +---- + +---- + +*Common events include:* +- `onLoad`: Fires when Spotter Agent is loaded. +- `onInit`: Fires when Spotter Agent is initialized. +- `onData`: Fires when data is returned from a query. +- `onError`: Fires on error. + +== Customizing the UI + +* Use `visibleActions`, `hiddenActions`, and `disabledActions` in the config to control menu actions. Do not use both `visibleActions` and `hiddenActions` at the same time [1], [2], [3]. +* To apply custom styles, use CSS variables such as: ++ +[source,css] +---- +:root { + --ts-var-spotter-input-background: #f5f5f5; + --ts-var-spotter-prompt-background: #e0e0e0; +} +---- + + +== Test the Embedded Spotter Agent + +* Start your app. +* Verify Spotter Agent loads and is interactive. +* Confirm initial query and runtime filters are applied. +* Test event handlers and UI customizations. + +== Additional Notes + +* Use only `answerId` for event tracking in SpotterAgentEmbed. +* SpotterAgentEmbed supports both host and embed events for two-way communication. +* For advanced use, refer to the official SDK and API documentation. + + + + + + + + + + + + + + + + + + + + + + + +//// + +== Runtime Filters + +* Pass runtime filters in the `runtimeFilters` array in the config. +* Filters are applied to the initial query and search suggestions. +* Invalid filters are handled gracefully (error message or ignored). + + +ThoughtSpot supports Natural Language Search queries and AI-generated Answers. With ThoughtSpot Spotter, this experience is further enhanced to provide a conversational interface for users to query data, ask follow-up questions, and get insights. + +Visual Embed SDK offers several options to seamlessly embed conversational analytics within your applications and customize the interface and experience as per your organization's branding guidelines. + +To integrate Spotter capabilities into other apps, ThoughtSpot provides the following components: + +* To embed the full Spotter interface with a conversation panel that allows natural language text strings, data source selection, and interactions with AI generated Answers, use the `SpotterEmbed` component. + + +* To integrate Spotter Agent capabilities in a chatbot, use the `SpotterAgentEmbed` component. + + +[NOTE] +==== +The `ConversationEmbed` and `BodylessConversation` components are deprecated and replaced with `SpotterEmbed` and `SpotterAgentEmbed` respectively in Visual Embed SDK v1.38.0 and later. +==== + +This article describes how to embed the Spotter interface using the `SpotterEmbed` component. For information about how to integrate Spotter Agent capabilities without body in a chatbot, see xref:spotter-in-custom-chatbot.adoc[Integrate Spotter into your chatbot]. + +== Before you begin + +Before you begin, check the following: + +* Spotter is enabled on your ThoughtSpot instance. +* You have access to the latest version of the Visual Embed SDK or at least v1.33.1. + +== Import the SDK package + +Import the `SpotterEmbed` SDK library to your application environment: + +**npm** +[source,JavaScript] +---- +import { + SpotterEmbed, + AuthType, + init, + prefetch, +} +from '@thoughtspot/visual-embed-sdk'; +---- + +**ES6** +[source,JavaScript] +---- +