1. You cannot currently add a brand‑new visualization type into the
Analytical Designer / dashboard “Insert visualization” palette. - Dashboard plugins let you: - Register
custom widget types and React components, and add those widgets into dashboard layouts (so they appear as “custom widgets,” not as native viz types). [[What is a plugin](
https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins/#capabilities); [Use custom widgets](
https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#use-custom-widgets)] - Override or decorate how existing
visualization widgets are rendered (for example, rendering a tagged insight with your own React component). [[Customization API](
https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#customization-api)] - Multiple Slack replies explicitly confirm that it is
not possible to create and add a new viz type that shows up as another option in Analytical Designer’s visualization list via plugins or any other method. [[Slack thread 1](
https://gooddataconnect.slack.com/archives/C01UR5BGAHY/p1730988764529939); [Slack thread 2](
https://gooddataconnect.slack.com/archives/C01UR5BGAHY/p1749050644779469)] 2. Current limitations around custom visualizations / plugins, based on the docs and Slack threads: -
No extension of AD visualization catalog - You cannot register a new chart type that appears alongside native chart types in Analytical Designer or the dashboard visualization palette. [[Slack thread 1](
https://gooddataconnect.slack.com/archives/C01UR5BGAHY/p1730988764529939); [Slack thread 2](
https://gooddataconnect.slack.com/archives/C01UR5BGAHY/p1749050644779469)] -
Dashboard plugins scope - Plugins can: - Add/remove event handlers and override React components for existing visualization widgets. [[What is a plugin](
https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins/#capabilities); [Customization API](
https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#customization-api)] - Register
custom widget types and inject them into dashboard layouts (e.g., for labels, images, special widgets). [[Use custom widgets](
https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#use-custom-widgets)] - Layout customization via plugins happens once on initialization (no built‑in continuous layout re‑writes after render, except for alpha‑level APIs, which are noted as such in the docs). [[Use custom widgets](
https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#use-custom-widgets)] -
Custom visualizations via GoodData.UI - You can build
entirely custom React visualizations, but they live in your own app / custom dashboard (or as custom renderers via plugins), not as first‑class AD viz types. [[Visualize data](
https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/); [Custom visualizations](
https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/#custom-visualizations); [Create custom visualizations](
https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/create_custom_visualizations/)] - Data for these custom visuals is obtained using hooks/components like
useExecutionDataView
,
useInsightDataView
,
Execute
,
ExecuteInsight
, etc. [[Create custom visualizations](
https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/create_custom_visualizations/)] -
GoodData Cloud dashboards vs. fully custom dashboards - If none of the embedding/plugin options are sufficient, you can build
fully custom dashboards using GoodData.UI components/hooks and your own layout and styling. This is the most flexible but also the most work. [[Custom dashboards](
https://www.gooddata.com/docs/gooddata-ui/latest/learn/embed_dashboards/#custom-dashboards)] 3. Most up‑to‑date resources for custom visualizations & plugins: -
Dashboard plugins (current docs): - Overview & capabilities: [[Dashboard plugins overview](
https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins/)] - Customization API (including
insightWidgets()
and decorators): [[Customization API](
https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#customization-api)] - Custom widgets (registering widget types & adding them to dashboard layout): [[Use custom widgets](
https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#use-custom-widgets)] - Plugin examples and premade plugins list: [[Cloud plugins gallery](
https://www.gooddata.com/docs/cloud/create-dashboards/plugins/)] -
Custom visualizations via GoodData.UI: - High‑level comparison of visualization approaches: [[Visualize data](
https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/)] - When & how to build custom visualizations and how to get data for them: [[Custom visualizations](
https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/#custom-visualizations); [Create custom visualizations](
https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/create_custom_visualizations/)] -
Fully custom dashboards: - Building your own dashboards (maximum flexibility, including custom visuals like sparklines): [[Custom dashboards](
https://www.gooddata.com/docs/gooddata-ui/latest/learn/embed_dashboards/#custom-dashboards)] If you describe whether you prefer to stay in native Cloud dashboards or can host a separate React app, I can outline which of these options (plugin custom widget vs. custom dashboard visualization) best fits something like AG‑Grid sparklines.