--- stage: Analytics group: Product Analytics info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments --- # Customizable dashboards **(PREMIUM)** > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98610) in GitLab 15.5 as an [Alpha feature](../../policy/alpha-beta-support.md#alpha-features). Customizable dashboards provide a dashboard structure that allows users to create their own dashboards and commit the structure to a repository. ## Usage To use customizable dashboards: 1. Create your dashboard component. 1. Render an instance of `CustomizableDashboard`. 1. Pass a list of widgets to render. For example, a customizable dashboard for users over time: ```vue ``` The widgets data can be retrieved from a file or API request, or imported through HTML data attributes. For each widget, a `component` is defined. Each `component` is a component declaration and should be included in [`vue_shared/components/customizable_dashboard/widgets_base.vue`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/assets/javascripts/vue_shared/components/customizable_dashboard/widgets_base.vue) as a dynamic import, to keep the memory usage down until it is used. For example: ```javascript components: { CubeLineChart: () => import('ee/product_analytics/dashboards/components/widgets/cube_line_chart.vue') } ```