Odina Kholiqov
04/21/2026, 3:30 PMvisualizationObject / insight on the backend.
3. Even after saving it, we still are not sure what the recommended frontend rendering approach is.
4. From the documentation, it looks like we may need to use GoodData Web Components or the React SDK rather than a simple iframe approach.
Our questions:
1. Is there any supported way to render / embed AI-chat-generated ephemeral visualizations before saving them?
2. If not, is the recommended flow:
- generate visualization via AI chat
- save it as an insight / visualizationObject
- render it in the frontend using GoodData UI SDK / Web Components?
3. If a saved visualization should be embeddable, what is the recommended frontend approach?
- iframe
- Web Components
- React SDK
4. Are there any examples or best practices for displaying AI-generated visualizations in a custom chat UI?
Our goal:
- We want to display GoodData AI-generated visualizations inside our own chat experience with the least complex supported approach.
Any guidance or examples would be very helpful. Thanks.
PS: an example of chat response
"visualization_refs": [
{
"dashboard_id": null,
"dashboard_title": null,
"deep_link": "https://*.cloud.gooddata.com/analyze/#/child_1_71/900c86cd-90cf-46d3-aa97-74a26913c080/edit",
"id": "monthly_percentage_change_in_posting_rate_over_last_3_months",
"saved_visualization_id": "900c86cd-90cf-46d3-aa97-74a26913c080",
"title": "Monthly Percentage Change in Posting Rate Over Last 3 Months",
"type": "visualization",
"visualization_type": "LINE",
"workspace_id": "child_1_71"
}
],kapa.ai
04/21/2026, 3:30 PMShamil Akhmadyshev
04/21/2026, 3:50 PMsaved_visualization_id in your response (e.g., 900c86cd-90cf-46d3-aa97-74a26913c080), the visualization has already been persisted — you can skip to embedding immediately.
---
## 3. How to Embed a Saved Visualization
Since you want to embed individual visualizations (not full dashboards), iframes are not an option — they only support dashboards and Analytical Designer. You have two good alternatives:
### Option A — Web Components (simplest, works with any framework)
html
<gd-insight
workspace="your_workspace_id"
insight="900c86cd-90cf-46d3-aa97-74a26913c080">
</gd-insight>
### Option B — React SDK with InsightView (recommended for React apps)
jsx
import '@gooddata/sdk-ui-ext/styles/css/main.css';
import { InsightView } from '@gooddata/sdk-ui-ext';
<InsightView insight="900c86cd-90cf-46d3-aa97-74a26913c080" />
---
## Summary & Recommendation
Given a setup with a custom chat UI and AI API integration, here's the recommended path:
1. Save the AI-generated visualization (you likely already have the saved_visualization_id).
2. Render it using InsightView (React) or <gd-insight> (Web Components), passing in the saved_visualization_id.
Let us know if you need any further help.