# When it doesn&#8217;t just work

> For the complete documentation index, see [llms.txt](https://developers.thoughtspot.com/docs/llms.txt)

Source: https://developers.thoughtspot.com/docs/tutorials/embed-data-driven-app/troubleshooting

# When it doesn’t just work

It is worth including in the guide on purpose because it happens on every real project.

## Scenario: blank embed, no errors in the UI

This is almost always a CSP issue. Confirm the portal’s domain is in the CSP visual embed hosts list (see [Appendix B]({{navprefix}}/{{build-data-driven-app-with-tse-summary}}#appendix-b)), then check the browser console — most embed issues surface there first.

## Scenario: styling changes don’t apply

Check whether you’re using a CSS variable or a `rules_UNSTABLE` selector. Selectors can silently stop matching after a ThoughtSpot release. CSS variables are the more durable option and should be the default choice unless you need something a variable can’t reach.

## Scenario: custom action fires but the payload looks wrong

Log `payload.data` in full before assuming the SDK is broken. It’s usually a target or position mismatch (for example, an action scoped to `VIZ` that you expected on `LIVEBOARD`).

## General checklist

-   No response or blank frame → check the CSP allowlist and `thoughtSpotHost` first.
    
-   Stale behavior after a code change → disable the browser cache (**DevTools** > **Network** > **Disable cache**) before debugging further.
    
-   Something looks right in the Playground but wrong in your app → check what parameters your app passes versus what the Playground generated.
    

[← Previous]({{navprefix}}/tutorials/embed-data-driven-app/wire-custom-action) [Next →]({{navprefix}}/tutorials/embed-data-driven-app/summary)