Aran
07/09/2026, 7:44 AMAnswer Overflow
07/09/2026, 7:44 AMspotter-code
07/09/2026, 7:44 AMcreate_new: false alone is not a documented hard guarantee that all existing personalised views will always remain attached exactly as-is after import.
From what’s documented, your current pattern (updating the same Liveboard object instead of creating a new one) is the right baseline for preserving associations, but I could not find an official statement that says you must (or should) merge every view_guid into the incoming TML during update.
So for your question:
- Do you need to extract and inject all view_guid TML into each promoted TML?
**Generally no**—that is not a documented requirement.
- Is your current approach sufficient as an absolute guarantee?
Not explicitly guaranteed in docs. Treat it as best practice, but validate in pipeline.
A practical safe approach is:
1. Keep updating the existing Liveboard in place (create_new: false + target GUID).
2. Run a post-import validation in target org:
- count personalised views before/after
- sample-open a few known views
- verify report/data APIs can reference expected personalised view identifiers where applicable.
---
Suggestions:
- Add a **promotion guardrail**: fail deployment if personalised-view count drops unexpectedly after import.
- Avoid structural breaking changes in promoted Liveboard (major viz/tab removals/renames) without a controlled migration window, since those can impact user-saved states even if object GUID is stable.
- Keep “backup export” of the target Liveboard TML before each import for rollback.
- If you need hard contractual behavior for this exact scenario, raise with ThoughtSpot Support for version-specific confirmation (cloud release can matter).
---
Docs:
- REST API v2 overview: https://developers.thoughtspot.com/docs/rest-api-v2spotter-code
07/09/2026, 7:44 AM