From fdde51390448cc81d5c1629ddab4ae563dfb8e93 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 24 Oct 2025 17:40:27 +0530 Subject: [PATCH 1/7] sf LWC plugin update --- modules/ROOT/pages/sf-integration.adoc | 86 +++++++++++++++++++------- 1 file changed, 64 insertions(+), 22 deletions(-) diff --git a/modules/ROOT/pages/sf-integration.adoc b/modules/ROOT/pages/sf-integration.adoc index 72c3d2eb1..9d8494c33 100644 --- a/modules/ROOT/pages/sf-integration.adoc +++ b/modules/ROOT/pages/sf-integration.adoc @@ -6,41 +6,53 @@ :page-pageid: sf-integration :page-description: Methods for embedding ThoughtSpot into Salesforce Cloud products -Integrating ThoughtSpot with Salesforce enables users to access analytics directly within their Salesforce environment. By embedding ThoughtSpot content, organizations can deliver data-driven insights where your end users work, enhancing decision-making and efficiency. This guide explores the various embedding options, including the Visual Embed SDK and non-SDK approaches, and discusses key recommendations for authentication, customization/branding, and embedding in mobile apps. +Integrating ThoughtSpot with Salesforce enables users to access analytics directly within their Salesforce environment. By embedding ThoughtSpot content, organizations can deliver data-driven insights where their end users work, enhancing decision-making and efficiency. -== Embeddable objects +This guide explores the various embedding options, including the ThoughtSpot Lightning Web Component (LWC) plugin for Salesforce, Visual Embed SDK, and non-SDK approaches, and provides key recommendations for authentication, customization/branding, and embedding in mobile apps. -ThoughtSpot allows users to create several types of objects. Before we get into the details, it's important to understand that any of the following objects can be easily embed into Salesforce: +== Embeddable objects +ThoughtSpot allows users to create several types of objects. You can easily embed any of the following objects into Salesforce: -* *Search* - A self-service interface that allows users to perform searches on data and build visualizations -* *Answers* - Individual visualizations generated and saved from user search queries -* *Liveboards* - Interactive dashboards that contain one or more visualizations (Answers) -* *Spotter* - AI-powered assistant that helps users analyze data using natural language -* *Full Application* - Allows you to embed the full ThoughtSpot application or the individual application pages +* *Search* - A self-service interface that allows users to perform searches on data and build visualizations. +* *Answers* - Individual visualizations generated and saved from user search queries. +* *Liveboards* - Interactive dashboards that contain one or more visualizations (Answers). +* *Spotter* - An AI-powered assistant that helps users analyze data using natural language. +* *Full Application* - Allows embedding the full ThoughtSpot application or the individual application pages. == Embedding methods -There are two development options for this integration: +The following development options are available for this integration: + +[width="100%" cols="5,8"] +[options='header'] +|===== +|Embedding method | Description +|Embedding using the LWC plugin a| ThoughtSpot's LWC plugin for Salesforce enables seamless embedding of Liveboards and Spotter inside your Salesforce environment. You can configure your experience by choosing which Liveboards to display, and update URLs dynamically. + +*Key considerations* -* Embedding with Visual Embed SDK -* iFrame embedding without the SDK +* Easy to install with no custom code required. +* Simplified integration of Liveboards and Spotter components using the Salesforce Lightning App Builder. +* Support for authentication mechanisms such as SAML and Trusted Authentication. -=== Visual Embed SDK -If you are using the `Salesforce Lightning platform`, we highly recommend using ThoughtSpot's Visual Embed SDK as it provides maximum flexibility and allows you to create highly customized solutions across all Salesforce Cloud products. +If you are using the `Salesforce Lightning platform` and want to embed a Liveboard or the Spotter functionality, we highly recommend using the LWC plugin. -==== Key considerations +|Using Visual Embed SDK a| If you are using the `Salesforce Lightning platform` and do not want to use the LWC plugin, we recommend using ThoughtSpot's Visual Embed SDK as it provides maximum flexibility and allows you to create highly customized solutions across all Salesforce Cloud products. -* Simplified integration using Lightning Web Components (LWC) +*Key considerations* + +* Simplified integration with LWC * Enhanced customization and interactivity * Support for authentication mechanisms like SAML and Trusted Authentication -=== iFrame embedding -For organizations using the `Salesforce Classic platform`, or that prefer not to use the SDK, embedding ThoughtSpot can be achieved via iframes. This method is simpler, but considered a legacy approach for embedding. +|iFrame embedding without the SDK a|For organizations using the `Salesforce Classic platform` or those that prefer not to use the SDK or the LWC plugin, embedding ThoughtSpot can be achieved via iframes. This method is simpler, but considered a legacy approach for embedding. -==== Key considerations +*Key considerations* * Fewer customization options * Potential styling limitations * SAML authentication only +|| +|===== === Mobile considerations If you require ThoughtSpot content to be available in the Salesforce mobile app, we recommend leveraging the Visual Embed SDK with Single Sign-On (SSO) using Cookieless Trusted Authentication (AuthType.TrustedAuthTokenCookieless). This combination will provide a seamless embedding experience. @@ -51,8 +63,38 @@ Now that we understand our options, let's walk through the implementation steps To embed ThoughtSpot content, complete the steps described in the following sections: -* Embed with Visual Embed SDK -* Use iFrame to embed +* xref:sf-integration.adoc#_embed_spotter_or_a_liveboard_using_lwc_plugin[Embed Spotter or a Liveboard using the LWC plugin] +* xref:sf-integration.adoc#_embed_with_visual_embed_sdk[Embed with Visual Embed SDK] +* xref:sf-integration.adoc#_use_iframe_to_embed[Use iFrame to embed] + +=== Embed Spotter or a Liveboard using the LWC plugin +The LWC plugin allows embedding ThoughtSpot Spotter and Liveboards. The embedding method with the LWC plugin involves the following steps: + +. *Installing the LWC plugin* ++ +.. Create a link:https://developer.salesforce.com/developer-legacy/signup[Salesforce Developer account, window=_blank]. If you already have an account, log in to Salesforce with your credentials. +.. Install the link:https://login.salesforce.com/packaging/installPackage.apexp?p0=04tWU000000A2LVYA0[ThoughtSpot LWC package, window=_blank]. +.. Select the appropriate access level for your users, then click *Install*. + +. *Configuring Content Security Policy (CSP) settings, authentication, and access control* + +.. Add your ThoughtSpot instance URL in Salesforce as a trusted host for CSP and Cross-Origin Resource Sharing (CORS). +.. Configure access control for your users. +.. Configure the ThoughtSpot allowlists to enable seamless integration and communication between your host application and ThoughtSpot. +.. Set up authentication and enable Single Sign-On (SSO). + ++ +For more information and detailed instructions, see link:https://docs.thoughtspot.com/cloud/latest/salesforce-plugin-setup[Plugin setup and integration guide, window=_blank]. + +. *Embedding ThoughtSpot component* + + +.. In your Salesforce app, click the gear icon and select *Edit Page* to open the Lightning App Builder. +.. Drag and drop the ThoughtSpot component into the page layout. +.. Configure the ThoughtSpot application URL, object ID, and other such relevant object properties. +.. Save and load the embedded page. + ++ +For more information and detailed instructions, see link:https://docs.thoughtspot.com/cloud/latest/salesforce-plugin[Salesforce integration documentation, window=_blank]. === Embed with Visual Embed SDK The Salesforce lightning platform moved developers away from Visualforce to *Lightning Web Components (LWC)*. If you are considering using the SDK, we will assume your Salesforce instance is running on Lightning. @@ -69,7 +111,7 @@ NOTE: This guide does not cover LWC development. We will assume you have experie Any LWC you develop in Salesforce will contain an html, js, and meta.xml file. Let's walk through a simple Liveboard embed component. *meta.xml* + -Defines the metadata values for the component. Specifically, where you want to embed in Salesforce (Record Pages, Experience Cloud, Homepage, etc.), and any configurable parameters for your ThoughtSpot objects (type of object to embed, Cluster URL, Org, etc.). +Defines the metadata values for the component. Specifically, where you want to embed in Salesforce (Record Pages, Experience Cloud, Homepage, and more), and any configurable parameters for your ThoughtSpot objects (type of object to embed, Cluster URL, Org, and more). [source, xml] ---- @@ -362,5 +404,5 @@ The Visual Embed SDK allows extensive customization, including the following: * Controlling user experience via ThoughtSpot’s developer-friendly APIs. == Conclusion -Embedding ThoughtSpot into Salesforce enhances analytics accessibility, enabling users to gain insights without leaving their CRM. Whether using the ThoughtSpot SDK or iframe-based approaches, choosing the right authentication and embedding method is essential. By leveraging LWC and customizing ThoughtSpot’s appearance, organizations can create a seamless and powerful analytics experience within Salesforce. +Embedding ThoughtSpot into Salesforce enhances analytics accessibility, enabling users to gain insights without leaving their CRM. Whether using the ThoughtSpot LWC plugin, Visual Embed SDK or iframe-based approaches, choosing the right authentication and embedding method is essential. By leveraging LWC and customizing ThoughtSpot’s appearance, organizations can create a seamless and powerful analytics experience within Salesforce. From 825e4f56a7abab6559460458347c4777b1d803ae Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Thu, 30 Oct 2025 19:41:34 +0530 Subject: [PATCH 2/7] revised text --- modules/ROOT/pages/sf-integration.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/sf-integration.adoc b/modules/ROOT/pages/sf-integration.adoc index 9d8494c33..36e1cf6f0 100644 --- a/modules/ROOT/pages/sf-integration.adoc +++ b/modules/ROOT/pages/sf-integration.adoc @@ -30,7 +30,7 @@ The following development options are available for this integration: *Key considerations* -* Easy to install with no custom code required. +* Easy to deploy using the installation link. No custom code required. * Simplified integration of Liveboards and Spotter components using the Salesforce Lightning App Builder. * Support for authentication mechanisms such as SAML and Trusted Authentication. From befa29e3391755f7b7eab2d323688b49e9e7058c Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Thu, 30 Oct 2025 20:33:31 +0530 Subject: [PATCH 3/7] review comments --- modules/ROOT/pages/sf-integration.adoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/ROOT/pages/sf-integration.adoc b/modules/ROOT/pages/sf-integration.adoc index 36e1cf6f0..ccdf48472 100644 --- a/modules/ROOT/pages/sf-integration.adoc +++ b/modules/ROOT/pages/sf-integration.adoc @@ -68,6 +68,8 @@ To embed ThoughtSpot content, complete the steps described in the following sect * xref:sf-integration.adoc#_use_iframe_to_embed[Use iFrame to embed] === Embed Spotter or a Liveboard using the LWC plugin +For information about the LWC plug-in installation and setup, see link:https://docs.thoughtspot.com/cloud/10.13.0.cl/salesforce-plugin[Integration Guide, window=_blank]. +//// The LWC plugin allows embedding ThoughtSpot Spotter and Liveboards. The embedding method with the LWC plugin involves the following steps: . *Installing the LWC plugin* @@ -95,6 +97,8 @@ For more information and detailed instructions, see link:https://docs.thoughtspo + For more information and detailed instructions, see link:https://docs.thoughtspot.com/cloud/latest/salesforce-plugin[Salesforce integration documentation, window=_blank]. +//// + === Embed with Visual Embed SDK The Salesforce lightning platform moved developers away from Visualforce to *Lightning Web Components (LWC)*. If you are considering using the SDK, we will assume your Salesforce instance is running on Lightning. From 727e515378ccd6e8d634fc15407a2c78a64502b0 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 31 Oct 2025 20:46:44 +0530 Subject: [PATCH 4/7] feature matrix and other updates --- modules/ROOT/pages/sf-integration.adoc | 71 ++++++++++++++++++++++---- 1 file changed, 62 insertions(+), 9 deletions(-) diff --git a/modules/ROOT/pages/sf-integration.adoc b/modules/ROOT/pages/sf-integration.adoc index ccdf48472..aec726522 100644 --- a/modules/ROOT/pages/sf-integration.adoc +++ b/modules/ROOT/pages/sf-integration.adoc @@ -22,12 +22,13 @@ ThoughtSpot allows users to create several types of objects. You can easily embe == Embedding methods The following development options are available for this integration: -[width="100%" cols="5,8"] +[width="100%" cols="4,8"] [options='header'] |===== |Embedding method | Description -|Embedding using the LWC plugin a| ThoughtSpot's LWC plugin for Salesforce enables seamless embedding of Liveboards and Spotter inside your Salesforce environment. You can configure your experience by choosing which Liveboards to display, and update URLs dynamically. +|ThoughtSpot supported LWC plugin a| ThoughtSpot's LWC plugin for Salesforce enables seamless embedding of Liveboards and Spotter inside your Salesforce environment. You can configure your experience by choosing which Liveboards to display, and update URLs dynamically. +//// *Key considerations* * Easy to deploy using the installation link. No custom code required. @@ -35,39 +36,91 @@ The following development options are available for this integration: * Support for authentication mechanisms such as SAML and Trusted Authentication. If you are using the `Salesforce Lightning platform` and want to embed a Liveboard or the Spotter functionality, we highly recommend using the LWC plugin. - -|Using Visual Embed SDK a| If you are using the `Salesforce Lightning platform` and do not want to use the LWC plugin, we recommend using ThoughtSpot's Visual Embed SDK as it provides maximum flexibility and allows you to create highly customized solutions across all Salesforce Cloud products. - +//// +|Custom LWC with Visual Embed SDK a| If you are using the `Salesforce Lightning platform` and do not want to use the LWC plugin, we recommend using ThoughtSpot's Visual Embed SDK as it provides maximum flexibility and allows you to create highly customized solutions across all Salesforce Cloud products. +//// *Key considerations* * Simplified integration with LWC * Enhanced customization and interactivity * Support for authentication mechanisms like SAML and Trusted Authentication +//// |iFrame embedding without the SDK a|For organizations using the `Salesforce Classic platform` or those that prefer not to use the SDK or the LWC plugin, embedding ThoughtSpot can be achieved via iframes. This method is simpler, but considered a legacy approach for embedding. - +//// *Key considerations* * Fewer customization options * Potential styling limitations * SAML authentication only +//// || |===== +=== Key considerations + +[width="100%" cols="5,8,8,8"] +[options='header'] +|===== +|Capability|ThoughtSpot LWC Plugin + +(managed package)|Custom LWC (SDK)|iFrame via Visualforce/Apex + +|Setup effort|Low + + +Install, drop into Lightning App Builder, and configure props|Medium/High + + +Build LWC, wire authentication, events, testing|Low/Medium + + +Quick to place, but parameters and authentication must be handled manually +|Supported ThoughtSpot experiences a| Liveboards and Spotter a|All components that Visual Emebed SDK supports, including Search, Answers, Liveboards, Spotter, Full Application. + +| Any ThoughtSpot URL embeddable in an iFrame +|Record-aware context (Account/Opportunity → filter)|Built-in support + + +Pass recordId/fields via properties|Yes + + +Compose runtime filters from record context|Manual + + +Append query parameters to iFrame URL yourself +|Authentication options a| SSO and cookieless Trusted authentication a|Supports all authentication methods including SSO and Cookieless Trusted authentication. |Works with SSO +|Salesforce Mobile app|Supported when Org authentication is configured|Recommended with Cookieless Trusted Authentication|Inframe authentication limitations +|CSP and security|Documented CSP entries + +Package streamlines most of the required settings | You must manage the Trusted sites and CSP allowlists| You must allow ThoughtSpot application site as a trusted host +|Branding, styles and themes| Configuration via component props. +Limited deep styling options|Provides full control with the CSS customization framework provided by the SDK and custom CSS within LWS|Minimal + +Basic styling options for ThoughtSpot application +|Events and callbacks +(for filters, drilldown, and more)|Common events exposed via component API|Full event surface. +Wire to Apex/Flow|None +|Custom Actions|None|Supported|None +|Access to ThoughtSpot REST APIs + +(Object export, metadata, Answer Service)|Limited + + +Not intended|Available + +SDK and REST APIs are supported|None +|Time-to-production|Fastest|Moderate|Fast +|Maintainability and upgrades|Vendor-maintained + + +Update by package version| You own the app lifecycle and SDK versioning|You own the app lifecycle +|Granular UX control|Medium|High|Low +|===== + +//// === Mobile considerations If you require ThoughtSpot content to be available in the Salesforce mobile app, we recommend leveraging the Visual Embed SDK with Single Sign-On (SSO) using Cookieless Trusted Authentication (AuthType.TrustedAuthTokenCookieless). This combination will provide a seamless embedding experience. Now that we understand our options, let's walk through the implementation steps for each method. +//// == High-level implementation steps To embed ThoughtSpot content, complete the steps described in the following sections: -* xref:sf-integration.adoc#_embed_spotter_or_a_liveboard_using_lwc_plugin[Embed Spotter or a Liveboard using the LWC plugin] -* xref:sf-integration.adoc#_embed_with_visual_embed_sdk[Embed with Visual Embed SDK] +* xref:sf-integration.adoc#_embed_spotter_or_a_liveboard_using_lwc_plugin[Embed using ThoughtSpot supported LWC plugin] +* xref:sf-integration.adoc#_embed_with_visual_embed_sdk[Custom LWC with Visual Embed SDK] * xref:sf-integration.adoc#_use_iframe_to_embed[Use iFrame to embed] -=== Embed Spotter or a Liveboard using the LWC plugin +=== Embed using ThoughtSpot supported LWC plugin For information about the LWC plug-in installation and setup, see link:https://docs.thoughtspot.com/cloud/10.13.0.cl/salesforce-plugin[Integration Guide, window=_blank]. //// The LWC plugin allows embedding ThoughtSpot Spotter and Liveboards. The embedding method with the LWC plugin involves the following steps: From 2b894d8d3e52aa2b4e23300b5240312852db090e Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Fri, 31 Oct 2025 21:50:22 +0530 Subject: [PATCH 5/7] sf doc update --- modules/ROOT/pages/sf-integration.adoc | 153 +++++++++++++++++++++++-- 1 file changed, 143 insertions(+), 10 deletions(-) diff --git a/modules/ROOT/pages/sf-integration.adoc b/modules/ROOT/pages/sf-integration.adoc index aec726522..04edbf3d9 100644 --- a/modules/ROOT/pages/sf-integration.adoc +++ b/modules/ROOT/pages/sf-integration.adoc @@ -6,7 +6,7 @@ :page-pageid: sf-integration :page-description: Methods for embedding ThoughtSpot into Salesforce Cloud products -Integrating ThoughtSpot with Salesforce enables users to access analytics directly within their Salesforce environment. By embedding ThoughtSpot content, organizations can deliver data-driven insights where their end users work, enhancing decision-making and efficiency. +Integrating ThoughtSpot with Salesforce enables users to access analytics directly within Salesforce. By embedding ThoughtSpot content, organizations can deliver data-driven insights where their end users work, enhancing decision-making and efficiency. This guide explores the various embedding options, including the ThoughtSpot Lightning Web Component (LWC) plugin for Salesforce, Visual Embed SDK, and non-SDK approaches, and provides key recommendations for authentication, customization/branding, and embedding in mobile apps. @@ -19,6 +19,136 @@ ThoughtSpot allows users to create several types of objects. You can easily embe * *Spotter* - An AI-powered assistant that helps users analyze data using natural language. * *Full Application* - Allows embedding the full ThoughtSpot application or the individual application pages. +Here is the asciidoc version of the content you requested: + +== Embedding methods + +You can embed ThoughtSpot in Salesforce using the following methods: + +[width="100%" cols="4,8"] +[options='header'] +|===== +| Embedding method | Description + +| ThoughtSpot supported LWC Plugin +| ThoughtSpot-managed Lightning Web Component (LWC) plugin for Salesforce enables seamless embedding of Liveboards and Spotter directly within Salesforce. + +This is the recommended approach for most Salesforce Lightning environments. + +| Custom LWC with Visual Embed SDK +| For maximum flexibility and customization, use the Visual Embed SDK within your own custom LWC. This method supports embedding all ThoughtSpot components, such as Liveboards, Spotter, Search, Answers, and more, and allows for deep integration with Salesforce Cloud products. + +| iFrame embedding (without SDK) +| For Salesforce Classic or when SDK/LWC plugin use is not possible, embed ThoughtSpot using a simple iFrame. This legacy approach is quick to implement but has limitations in authentication, event handling, and customization. +|===== + +== Key considerations + +[width="100%" cols="1,1,1,1"] +[options='header'] +|===== +| Capability +| ThoughtSpot LWC Plugin (managed package) +| Custom LWC with SDK +| iFrame via Visualforce/Apex + +| Setup effort +| Low + + +Install, drag and drop in Lightning App Builder, and configure props + +| Medium/High + + +Build LWC, handle authentication, events, and testing +| Low/Medium + + +Quick to place, but manual parameter and authentication handling is required + +| Supported ThoughtSpot experiences + +| Liveboards, Spotter + +| All SDK-supported components + +(Liveboards, Spotter, Search, Answers, Full application) + +| Any embeddable ThoughtSpot URL + +| Record-aware context + +(for example, Account/Opportunity filters) +| Built-in support + + +Pass recordId/fields via properties +| Yes + + +Compose runtime filters from record context +| Manual + + +Append query parameters to iFrame URL + +| Authentication options +| SSO and Cookieless Trusted authentication +| All authentication methods supported, including SSO, Cookieless Trusted authentication and more) +| Works with SSO only. + +Limited options + +| Salesforce Mobile app +| Supported when Org authentication is configured +| Recommended with Cookieless Trusted authentication +| Inframe authentication limitations + +| CSP and security +| Documented CSP entries; package streamlines most settings +| You must manage Trusted Sites and CSP allowlists +| Must allow ThoughtSpot as trusted host + +| Branding, styles, themes +| Configurable via component properties + + +Limited deep styling +| Full control via SDK and custom CSS +| Minimal + + +Basic styling options for ThoughtSpot application only + +| Events and callbacks + +(For filters, drilldown, and more) +| Common events exposed via component API +| Full event surface; wire to Apex/Flow +| None + +| Custom Actions +| None +| Supported +| None + +| Access to ThoughtSpot REST APIs + +(Object export, metadata, Answer Service, and so on) +| Limited +| Available + + +SDK and REST APIs supported +| None + +| Time-to-production +| Fastest +| Moderate +| Fast + +| Maintainability and upgrades +| Vendor-maintained; update by package version +| You own app lifecycle and SDK versioning +| You own app lifecycle + +| Granular UX control +| Medium +| High +| Low +|===== + + +//// + + == Embedding methods The following development options are available for this integration: @@ -28,7 +158,7 @@ The following development options are available for this integration: |Embedding method | Description |ThoughtSpot supported LWC plugin a| ThoughtSpot's LWC plugin for Salesforce enables seamless embedding of Liveboards and Spotter inside your Salesforce environment. You can configure your experience by choosing which Liveboards to display, and update URLs dynamically. -//// + *Key considerations* * Easy to deploy using the installation link. No custom code required. @@ -36,27 +166,29 @@ The following development options are available for this integration: * Support for authentication mechanisms such as SAML and Trusted Authentication. If you are using the `Salesforce Lightning platform` and want to embed a Liveboard or the Spotter functionality, we highly recommend using the LWC plugin. -//// + |Custom LWC with Visual Embed SDK a| If you are using the `Salesforce Lightning platform` and do not want to use the LWC plugin, we recommend using ThoughtSpot's Visual Embed SDK as it provides maximum flexibility and allows you to create highly customized solutions across all Salesforce Cloud products. -//// + *Key considerations* * Simplified integration with LWC * Enhanced customization and interactivity * Support for authentication mechanisms like SAML and Trusted Authentication -//// + |iFrame embedding without the SDK a|For organizations using the `Salesforce Classic platform` or those that prefer not to use the SDK or the LWC plugin, embedding ThoughtSpot can be achieved via iframes. This method is simpler, but considered a legacy approach for embedding. -//// + *Key considerations* * Fewer customization options * Potential styling limitations * SAML authentication only -//// + || |===== +//// +//// === Key considerations [width="100%" cols="5,8,8,8"] @@ -104,6 +236,7 @@ SDK and REST APIs are supported|None Update by package version| You own the app lifecycle and SDK versioning|You own the app lifecycle |Granular UX control|Medium|High|Low |===== +//// //// === Mobile considerations @@ -120,7 +253,7 @@ To embed ThoughtSpot content, complete the steps described in the following sect * xref:sf-integration.adoc#_embed_with_visual_embed_sdk[Custom LWC with Visual Embed SDK] * xref:sf-integration.adoc#_use_iframe_to_embed[Use iFrame to embed] -=== Embed using ThoughtSpot supported LWC plugin +=== Embed using ThoughtSpot LWC plugin For information about the LWC plug-in installation and setup, see link:https://docs.thoughtspot.com/cloud/10.13.0.cl/salesforce-plugin[Integration Guide, window=_blank]. //// The LWC plugin allows embedding ThoughtSpot Spotter and Liveboards. The embedding method with the LWC plugin involves the following steps: @@ -153,7 +286,7 @@ For more information and detailed instructions, see link:https://docs.thoughtspo //// -=== Embed with Visual Embed SDK +=== Custom LWC with Visual Embed SDK The Salesforce lightning platform moved developers away from Visualforce to *Lightning Web Components (LWC)*. If you are considering using the SDK, we will assume your Salesforce instance is running on Lightning. NOTE: To simplify development, we recommend using the link:https://marketplace.visualstudio.com/items?itemName=salesforce.salesforcedx-vscode[Salesforce extensions pack] in Visual Studio Code. @@ -406,7 +539,7 @@ export default class TsEmbedTemplate extends LightningElement { We can provide all the code needed to get you started. Contact your ThoughtSpot Sales representative for access to our Git repositories. ==== -=== Use iFrame to embed +=== iFrame embedding If you have configured ThoughtSpot to use the same SAML provider as your Salesforce instance, you can create a simple Visualforce page that can seamlessly embed a ThoughtSpot Object. From 9b6ef77e715041d257b99753ac8a7873bd998ae8 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 4 Nov 2025 14:38:28 +0530 Subject: [PATCH 6/7] sf LWC update --- modules/ROOT/pages/sf-integration.adoc | 138 +------------------------ 1 file changed, 3 insertions(+), 135 deletions(-) diff --git a/modules/ROOT/pages/sf-integration.adoc b/modules/ROOT/pages/sf-integration.adoc index 04edbf3d9..b7a4c7f41 100644 --- a/modules/ROOT/pages/sf-integration.adoc +++ b/modules/ROOT/pages/sf-integration.adoc @@ -19,8 +19,6 @@ ThoughtSpot allows users to create several types of objects. You can easily embe * *Spotter* - An AI-powered assistant that helps users analyze data using natural language. * *Full Application* - Allows embedding the full ThoughtSpot application or the individual application pages. -Here is the asciidoc version of the content you requested: - == Embedding methods You can embed ThoughtSpot in Salesforce using the following methods: @@ -36,7 +34,7 @@ You can embed ThoughtSpot in Salesforce using the following methods: This is the recommended approach for most Salesforce Lightning environments. | Custom LWC with Visual Embed SDK -| For maximum flexibility and customization, use the Visual Embed SDK within your own custom LWC. This method supports embedding all ThoughtSpot components, such as Liveboards, Spotter, Search, Answers, and more, and allows for deep integration with Salesforce Cloud products. +| For maximum flexibility and customization, use the Visual Embed SDK within your own custom LWC. This method supports embedding all ThoughtSpot components such as Liveboards, Spotter, Search, Answers and full application experience, and allows for deep integration with Salesforce Cloud products. | iFrame embedding (without SDK) | For Salesforce Classic or when SDK/LWC plugin use is not possible, embed ThoughtSpot using a simple iFrame. This legacy approach is quick to implement but has limitations in authentication, event handling, and customization. @@ -145,106 +143,6 @@ SDK and REST APIs supported | Low |===== - -//// - - -== Embedding methods -The following development options are available for this integration: - -[width="100%" cols="4,8"] -[options='header'] -|===== -|Embedding method | Description -|ThoughtSpot supported LWC plugin a| ThoughtSpot's LWC plugin for Salesforce enables seamless embedding of Liveboards and Spotter inside your Salesforce environment. You can configure your experience by choosing which Liveboards to display, and update URLs dynamically. - - -*Key considerations* - -* Easy to deploy using the installation link. No custom code required. -* Simplified integration of Liveboards and Spotter components using the Salesforce Lightning App Builder. -* Support for authentication mechanisms such as SAML and Trusted Authentication. - -If you are using the `Salesforce Lightning platform` and want to embed a Liveboard or the Spotter functionality, we highly recommend using the LWC plugin. - -|Custom LWC with Visual Embed SDK a| If you are using the `Salesforce Lightning platform` and do not want to use the LWC plugin, we recommend using ThoughtSpot's Visual Embed SDK as it provides maximum flexibility and allows you to create highly customized solutions across all Salesforce Cloud products. - -*Key considerations* - -* Simplified integration with LWC -* Enhanced customization and interactivity -* Support for authentication mechanisms like SAML and Trusted Authentication - - -|iFrame embedding without the SDK a|For organizations using the `Salesforce Classic platform` or those that prefer not to use the SDK or the LWC plugin, embedding ThoughtSpot can be achieved via iframes. This method is simpler, but considered a legacy approach for embedding. - -*Key considerations* - -* Fewer customization options -* Potential styling limitations -* SAML authentication only - -|| -|===== -//// - -//// -=== Key considerations - -[width="100%" cols="5,8,8,8"] -[options='header'] -|===== -|Capability|ThoughtSpot LWC Plugin + -(managed package)|Custom LWC (SDK)|iFrame via Visualforce/Apex - -|Setup effort|Low + - -Install, drop into Lightning App Builder, and configure props|Medium/High + - -Build LWC, wire authentication, events, testing|Low/Medium + - -Quick to place, but parameters and authentication must be handled manually -|Supported ThoughtSpot experiences a| Liveboards and Spotter a|All components that Visual Emebed SDK supports, including Search, Answers, Liveboards, Spotter, Full Application. - -| Any ThoughtSpot URL embeddable in an iFrame -|Record-aware context (Account/Opportunity → filter)|Built-in support + - -Pass recordId/fields via properties|Yes + - -Compose runtime filters from record context|Manual + - -Append query parameters to iFrame URL yourself -|Authentication options a| SSO and cookieless Trusted authentication a|Supports all authentication methods including SSO and Cookieless Trusted authentication. |Works with SSO -|Salesforce Mobile app|Supported when Org authentication is configured|Recommended with Cookieless Trusted Authentication|Inframe authentication limitations -|CSP and security|Documented CSP entries + -Package streamlines most of the required settings | You must manage the Trusted sites and CSP allowlists| You must allow ThoughtSpot application site as a trusted host -|Branding, styles and themes| Configuration via component props. -Limited deep styling options|Provides full control with the CSS customization framework provided by the SDK and custom CSS within LWS|Minimal + -Basic styling options for ThoughtSpot application -|Events and callbacks -(for filters, drilldown, and more)|Common events exposed via component API|Full event surface. -Wire to Apex/Flow|None -|Custom Actions|None|Supported|None -|Access to ThoughtSpot REST APIs + -(Object export, metadata, Answer Service)|Limited + - -Not intended|Available + -SDK and REST APIs are supported|None -|Time-to-production|Fastest|Moderate|Fast -|Maintainability and upgrades|Vendor-maintained + - -Update by package version| You own the app lifecycle and SDK versioning|You own the app lifecycle -|Granular UX control|Medium|High|Low -|===== -//// - -//// -=== Mobile considerations -If you require ThoughtSpot content to be available in the Salesforce mobile app, we recommend leveraging the Visual Embed SDK with Single Sign-On (SSO) using Cookieless Trusted Authentication (AuthType.TrustedAuthTokenCookieless). This combination will provide a seamless embedding experience. - -Now that we understand our options, let's walk through the implementation steps for each method. -//// - == High-level implementation steps To embed ThoughtSpot content, complete the steps described in the following sections: @@ -255,36 +153,6 @@ To embed ThoughtSpot content, complete the steps described in the following sect === Embed using ThoughtSpot LWC plugin For information about the LWC plug-in installation and setup, see link:https://docs.thoughtspot.com/cloud/10.13.0.cl/salesforce-plugin[Integration Guide, window=_blank]. -//// -The LWC plugin allows embedding ThoughtSpot Spotter and Liveboards. The embedding method with the LWC plugin involves the following steps: - -. *Installing the LWC plugin* -+ -.. Create a link:https://developer.salesforce.com/developer-legacy/signup[Salesforce Developer account, window=_blank]. If you already have an account, log in to Salesforce with your credentials. -.. Install the link:https://login.salesforce.com/packaging/installPackage.apexp?p0=04tWU000000A2LVYA0[ThoughtSpot LWC package, window=_blank]. -.. Select the appropriate access level for your users, then click *Install*. - -. *Configuring Content Security Policy (CSP) settings, authentication, and access control* - -.. Add your ThoughtSpot instance URL in Salesforce as a trusted host for CSP and Cross-Origin Resource Sharing (CORS). -.. Configure access control for your users. -.. Configure the ThoughtSpot allowlists to enable seamless integration and communication between your host application and ThoughtSpot. -.. Set up authentication and enable Single Sign-On (SSO). - -+ -For more information and detailed instructions, see link:https://docs.thoughtspot.com/cloud/latest/salesforce-plugin-setup[Plugin setup and integration guide, window=_blank]. - -. *Embedding ThoughtSpot component* + - -.. In your Salesforce app, click the gear icon and select *Edit Page* to open the Lightning App Builder. -.. Drag and drop the ThoughtSpot component into the page layout. -.. Configure the ThoughtSpot application URL, object ID, and other such relevant object properties. -.. Save and load the embedded page. - -+ -For more information and detailed instructions, see link:https://docs.thoughtspot.com/cloud/latest/salesforce-plugin[Salesforce integration documentation, window=_blank]. -//// - === Custom LWC with Visual Embed SDK The Salesforce lightning platform moved developers away from Visualforce to *Lightning Web Components (LWC)*. If you are considering using the SDK, we will assume your Salesforce instance is running on Lightning. @@ -383,8 +251,8 @@ This page defines the div where your ThoughtSpot object will be embedded. ** The js file will communicate with your ThoughtSpot cluster and use the Visual Embed SDK to embed your objects. ** Variables set in the `meta.xml` will be tracked and applied in the SDK initialization. ** You must import the Visual Embed SDK as a static resource in Salesforce. Get the latest NPM version link:https://cdn.jsdelivr.net/npm/@thoughtspot/visual-embed-sdk/dist/tsembed.js[here]. -** Add Salesforce URL to CORS allowed-domains in ThoughtSpot -** Update CORS and CSP settings in Salesforce with your ThoughtSpot cluster URL +** Add Salesforce URL to CORS allowed-domains in ThoughtSpot. +** Update CORS and CSP settings in Salesforce with your ThoughtSpot cluster URL. [source, javascript] ---- From d6c2bf89688cf7f89d41ab7a27cbb873f0ec0ebc Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 4 Nov 2025 14:44:05 +0530 Subject: [PATCH 7/7] typo fix --- modules/ROOT/pages/sf-integration.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/sf-integration.adoc b/modules/ROOT/pages/sf-integration.adoc index b7a4c7f41..888d4bf98 100644 --- a/modules/ROOT/pages/sf-integration.adoc +++ b/modules/ROOT/pages/sf-integration.adoc @@ -64,7 +64,7 @@ Quick to place, but manual parameter and authentication handling is required | Supported ThoughtSpot experiences -| Liveboards, Spotter +| Liveboards and Spotter | All SDK-supported components + (Liveboards, Spotter, Search, Answers, Full application)