> ## Documentation Index
> Fetch the complete documentation index at: https://docs.supaboard.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> Build, filter, and share dashboards from your business data.

# Dashboards

A dashboard brings the numbers for a recurring question into one place. Combine headline metrics, charts, tables, and filters so your team can review performance and investigate changes.

Open **Artifacts → Dashboards** to find a dashboard. Start with a how-to guide below, or use the sections on this page as a reference.

<Frame caption="Dashboard filters and headline metrics give readers a starting point for their investigation.">
  <img src="https://mintcdn.com/supaboard/LSBwam_25N5rUz-z/images/guides/dashboard-view.png?fit=max&auto=format&n=LSBwam_25N5rUz-z&q=85&s=95f0f8cf3bc61801ecb2be5360d6b81e" alt="Supaboard revenue dashboard with date filters, KPI cards, and a monthly trend chart" width="1371" height="952" data-path="images/guides/dashboard-view.png" />
</Frame>

## How-to guides

<CardGroup cols={2}>
  <Card title="Create a dashboard" icon="chart-simple" href="/dashboards/how-to/create-a-dashboard">Describe the result, check the numbers, and refine the layout.</Card>
  <Card title="Add widgets and edit" icon="pen-to-square" href="/dashboards/how-to/edit-a-dashboard">Add charts, tables, and KPIs, then save your changes.</Card>
  <Card title="Add filters" icon="filter" href="/dashboards/filters/how-to-add-filters-to-your-dashboard">Choose the source columns each control should affect.</Card>
  <Card title="Investigate a number" icon="magnifying-glass" href="/dashboards/how-to/explore-dashboard-data">Use records, drill-through, and Insight AI.</Card>
  <Card title="Share a dashboard" icon="users" href="/dashboards/how-to/share-a-dashboard">Choose who can view, chat, edit, or add content.</Card>
  <Card title="Export or report" icon="file-lines" href="/dashboards/how-to/export-dashboard-reports">Download a snapshot, create a report, or schedule delivery.</Card>
</CardGroup>

## Organisation — Groups and Dashboards

Dashboards are always nested inside a **Dashboard Group**.

```text theme={null}
Dashboard Group  (e.g. "Marketing")
├── Dashboard    (e.g. "Campaign Overview")
└── Dashboard    (e.g. "Ad Spend Breakdown")
```

A group can contain any number of dashboards, surfaced as tabs at the bottom of the screen. Sharing and access control are set on the group and apply to every dashboard in it.

## Creating a Dashboard Group

Open **Artifacts → Dashboards** to find existing dashboards. To create one, select **New Artifact → Dashboard**, enter a name, and optionally choose a project.

* **Build Manually** creates the dashboard group and opens its editor.
* **Build with AI** also needs a description. It opens the Analyst with your brief so you can build through chat.

You need access to the data you want to display and permission to create dashboards.

## Building a Dashboard With AI

### Describe what you want

Start from **Home → Dashboard**, **New Artifact**, or an existing Analyst chat. Describe the audience, metrics, time period, and any filters: “Build a weekly sales dashboard with revenue, order count, and a region filter.”

### Review the plan

Answer any clarifying questions, then open the dashboard card in the chat to inspect the result. Request changes in the same conversation. The Analyst can update widgets, filters, layout, and dashboard pages.

### Or build it yourself

Choose **Build Manually**, then use the dashboard's edit controls to add charts, tables, KPIs, text, images, and embeds. The sections below explain these controls.

## Edit Mode vs View Mode

### View mode

The default for readers. Viewers can:

* Interact with charts (hover tooltips, right-click to drill through)
* Apply dashboard filters
* Scroll and read all widget content
* Export widgets
* Open **Insight AI** if you have **Can chat** access

### Edit mode

Select **More options → Edit manually**. **Can edit** access lets you change existing content; **Can create** also lets you add widgets and pages. An editing role in the workspace is required for changes. Depending on your access, you can:

* Add, move, resize, and delete widgets
* Configure widget data and visualisation
* Change dashboard settings
* Undo and redo layout changes

### The toolbar

**View mode** offers **More options**, **Share**, **Edit with AI**, and **Insight AI**, depending on your access. Manual editing is inside **More options**.

**Edit mode** replaces them with:

| Control | Description |
| - | - |
| **Undo** / **Redo** | Step through layout history |
| **Settings** | Open [Dashboard Settings](#dashboard-settings) |
| **Cancel** | Discard changes and return to view mode |
| **Save** | Persist your changes — disabled until something has actually changed |

### Saving is explicit

Edits are **not** saved as you go. Nothing is persisted until you click **Save**.

Navigating away with unsaved work raises an **Unsaved Changes** dialog — *"You have unsaved dashboard changes. Would you like to save them before leaving?"* — with **Discard and Leave** and **Save and Leave**.

### Undo and redo

| Action | Shortcut |
| - | - |
| **Undo** | `⌘Z` |
| **Redo** | `⌘⇧Z` |

History is kept for the current browser session, up to 30 steps, and survives a page refresh mid-edit.

> The keyboard shortcuts require the **Command** key. On Windows and Linux, `Ctrl+Z` does nothing here — use the Undo and Redo buttons in the toolbar.

## Adding Widgets

In edit mode a **floating toolbar** sits at the bottom-centre of the canvas. Drag it anywhere; double-click to snap it back.

| Button | What it inserts |
| - | - |
| **Insert Picture** | An uploaded image |
| **Insert Embed** | An external URL in an iframe |
| **Insert Filter** | An interactive filter control |
| **Insert KPI** | A single headline metric |
| **Insert Table** | A paginated data table |
| **Insert Chart** | A chart |
| **Insert Text** | A rich-text block |

### Data widgets are a two-step flow

Picture, Embed, Filter, and Text insert immediately. **KPI, Table, and Chart** insert a **placeholder** that asks how you want to fill it:

| Choice | What happens |
| - | - |
| **Select From Collection** | Reuse a result from an Analyst conversation or saved query. Search for the result and select it to fill the placeholder. |
| **Create using prompt** | Describe the widget you want, pick an agent, and it's generated in place. The microphone works here too. |

This means you never have to leave the dashboard to build a widget, and anything you built in [the Analyst](/analyst/overview) or [Query Bench](/query-bench/overview) is one click from the canvas.

## Widget Types

| Widget | Purpose |
| - | - |
| **Chart** | Visualise data as bar, line, pie, scatter, and more |
| **KPI** | A single headline metric with optional trend |
| **Table** | Data in a paginated, sortable grid |
| **Filter** | Let viewers narrow every widget at once |
| **Text** | Formatted written content, headings, or annotations |
| **Image** | An uploaded image |
| **Embed** | Content from a URL that permits embedding |

### Chart

An interactive chart for comparing values or showing a trend. Configure the data source, axes, chart type, colours, legend, and labels from the visualisation panel — see [Chart Widget](/dashboards/widgets/chart-widget).

In view mode: hover for tooltips, right-click to [drill](#drilling-into-data).

**Export:** PNG, via an icon in the widget header.

### KPI

A single computed metric. Four types — number, percentage, trend, and comparison — determined by the query and analysis behind it. Formatting is configured in the **Edit KPI** panel; see [KPI Widget](/dashboards/widgets/kpi-widget).

### Table

Query results in a paginated, scrollable grid, with column grouping, aggregate footers, conditional formatting, pivots, and click-to-filter. See [Table Widget](/dashboards/widgets/table-widget).

**Export:** CSV, with a choice of all data, the current page, or a row range.

### Filter

An interactive control that filters every compatible widget at once, without entering edit mode. Filter widgets appear in a **sticky bar** at the top of the dashboard, not in the grid.

### Text, Image, and Embed

**Text** is a full rich-text editor — bold, italic, underline, strikethrough, headings, alignment, colours, links, and emoji. **Image** uploads a file that scales to its grid cell. **Embed** displays content from a URL that permits embedding.

## Filters

Filters operate at two levels.

### Widget-level filters

Configured inside an individual widget's data settings. Fixed — viewers cannot change them. Use these to permanently scope a widget, e.g. "always show only the last 30 days".

### Dashboard filters

Added to the canvas as a **Filter** widget. Viewers change these in view mode and every compatible widget updates.

#### Filter types

| Type | UI control | Operators |
| - | - | - |
| **Category** | Multi-select dropdown | — |
| **Date Time** | Date picker | Month · Quarter · Year · Date Range |
| **String** | Text or chip input | Fuzzy Search (Like) · Category Style (In) |
| **Integer** | Number input | — |
| **Numeric** | Number input | — |
| **Boolean** | Toggle | — |

#### Date presets

Date filters offer 13 presets, grouped:

| Group | Presets |
| - | - |
| **Lifetime** | Lifetime |
| **Recent** | Today · Yesterday · Previous week · Previous 7 days · Previous 30 days |
| **Months** | Previous month · Previous 3 months · Previous 12 months |
| **Current** | Current week · Current month · Current quarter · Current year |

Plus **Relative date range…**, which opens a builder: a direction (**Previous** or **Next**), a quantity, and a unit (**Days**, **Weeks**, **Months**, **Years**). Use it for windows the presets don't cover — "previous 45 days", "next 2 quarters".

#### Cascading filters

Category filters, and String filters using the *Category Style (In)* operator, offer **Cascade Suggestions based on other filters**. With it on, the filter's suggestions narrow to values that actually exist under the filters already applied — pick a country, and the city list shrinks to that country's cities.

> Cascading depends on the connector pushing the search into the database. On connectors that can't, the suggestion list stays unfiltered. See [Data Sources](/data-sources/overview#column-values-and-filter-suggestions).

## Widget Operations

From the widget header menu (the three-dot icon revealed on hover):

### In edit mode

| Operation | Description |
| - | - |
| **Convert to Chart / Table** | Switch a widget between chart and table in place. Hidden when the data has no plottable value axis. |
| **View / Edit Query** | Open the query behind the widget |
| **Widget Colors** | Set this widget's **Background**, **Border**, and **Text** colours, or reset any of them to the dashboard default |
| **Hide Header** | Hide the widget's title bar in view and embed modes |
| **Table Interaction** *(tables)* | Row hover, cell selection, click-to-filter, context menu, and column source mapping |
| **Move To** | Move the widget to another dashboard in the group |
| **Related Questions** | Attach follow-up questions viewers can jump to |
| **Delete** | Remove the widget |

### Resizing and moving

* **Move** — drag the widget by the handle on its **left edge**. Dragging the header does not move it.
* **Resize** — drag the bottom-right corner.

Widgets snap to the grid. Remember to **Save**.

## Drilling Into Data

Right-click any chart data point or table cell to open the widget menu:

| Item | What it does |
| - | - |
| **Related Questions** | Jump to a follow-up question attached to this widget |
| **Records** | Show the raw rows behind the point you clicked |
| **Drill Through** | Break the metric down by another dimension |

**Drill Through** opens a **Drill by** submenu offering **Category** or **Time**, then the specific columns available from each table in the query.

The drill view has a breadcrumb of steps so you can see the path you took and step back up it, plus date range controls for time-series drilling. Dashboard filters are carried into the drilled view, so you're always drilling the slice you were looking at.

> **Records** is available on KPI widgets; **Drill Through** is not. A KPI is already a single aggregate, so there's no dimension left to break out — but you can still see the rows behind the number.

Left-clicking a table cell does something different: it [filters the dashboard](#click-to-filter) by that value.

### Click-to-filter

On tables with **Click Behaviour** enabled, left-clicking a cell pushes its value into any matching dashboard filter and highlights the row. Columns need to be mapped to their underlying source for this to work — see [Table Widget](/dashboards/widgets/table-widget).

## Dashboard Settings

In edit mode, click **Settings** to open the **Dashboard Settings** panel. Everything here applies to the whole dashboard.

| Setting | What it controls |
| - | - |
| **Color** | Dashboard background colour |
| **Widget Colors** | Default **Widget Background**, **Border**, and **Text** colours. Individual widgets can override these. |
| **Table Interaction** | Default interaction behaviour for table widgets |
| **Font Style** | Default, Sans-Serif, Serif, Monospace, Fantasy, Cursive, System UI — or paste a **Google Fonts URL** and the family is extracted for you |
| **Environment** | Which [environment](#environments) this dashboard queries |
| **Width** | Canvas width |
| **Widget Spacing** | Tight, Default, Wide, or a custom value |
| **Widget Border Radius** | 0–32 px, default 8 |
| **Default Agent** | Which agent answers **Insight AI** questions on this dashboard |
| **Auto-refresh** | How often widgets re-query on their own |
| **Access Control** | See [Access control](#access-control) |

## Environments

An **environment** remaps which resource and database a dashboard's widgets query, without touching the widgets themselves. The usual case is one dashboard serving staging and production, or the same dashboard pointed at different customers' databases.

Manage them from **Settings → Environment**, where you can create environments and map each widget's tables to the target source. Switching environments needs no rebuild — the widgets are unchanged; only where they read from moves.

Embedded dashboards can be pinned to an environment per link — see [Embed URL parameters](/dashboards/embedding/overview#url-parameters).

## The Share Menu

Click **More options** (**⋯**) in the view-mode toolbar. Some actions require ownership or additional access.

| Item | What it does |
| - | - |
| **Share** | Manage people, project access, and general access — see [Share a dashboard](/dashboards/how-to/share-a-dashboard) |
| **Create as Datasite** | Turn this dashboard into an AI-built [datasite](/datasites/overview), seeded with its widgets |
| **Embed** | Manage embed tokens — see [Dashboard Embeds](/dashboards/embedding/overview) *(web only)* |
| **Reports** | Generate a PDF or PowerPoint report — see below |
| **Take a Snapshot** | A quick PDF of the dashboard as it looks now, no AI involved |
| **Email Reports** | Schedule a recurring report by email — see below |

### Take a Snapshot

A one-click PDF export. Supaboard shows *"Preparing snapshot…"*, then *"Snapshot ready"* with a **Download** action. Whatever filters you currently have applied are captured in the snapshot.

Use this when you want the dashboard exactly as it is. Use **Reports** when you want an AI-written narrative around the data.

### Reports

Open **Reports**, then select **New Report**:

| Field | Notes |
| - | - |
| **Report Title** | Name of the generated report |
| **Report Type** | **PDF** or **PPT** |
| Dashboard page | Which page of the group to report on |
| Filter settings | Which data slice to report on |
| **Custom Instruction for AI** | Tell the AI what to emphasise, the tone, or how to structure the narrative |
| **Advanced Settings** | Set a fixed number of pages (0–20) and write a description per page |

Past reports are listed in the panel — click any entry to download it again.

### Email Reports

Schedule a recurring report to a list of recipients.

| Field | Options |
| - | - |
| **Delivery Frequency** | Hourly · Daily · Weekly · Monthly, with day-of-week and a timezone |
| **Format** | Text mail · PDF · PPT · Excel |
| **Recipients** | Email addresses |
| Filters | The data slice to report on |
| Custom instruction | Steer the AI's narrative |

> This builds a real [automation](/automations/overview) behind the scenes. You can open it in the Automations editor afterwards to add steps, change the trigger, or branch on a condition.

## Access Control

Access is set for the dashboard group and applies to its pages. The owner can select **Share** to review people, inherited project access, and general access.

| Access | What it allows |
| - | - |
| **Can view** | Open pages, use filters, and drill into widgets |
| **Can chat** | Also ask Insight AI questions and generate reports |
| **Can edit** | Also change and remove existing content |
| **Can create** | Also add widgets and pages |

Changing content also requires an editing role in the workspace. Only the owner can manage sharing, delete the group, or manage its embeds. See [Share a dashboard](/dashboards/how-to/share-a-dashboard) for the full workflow.

<span id="ask-ai" />

## Insight AI

Click **Insight AI** in the toolbar to open a chat panel beside the dashboard. Ask questions about what you're looking at — *"why did revenue drop in March?"* — and the agent answers using the dashboard's widget data.

If a question can't be answered from the existing widgets — *"break this down by company"* — the agent falls back to running a live query against your connected database rather than giving up. It still prefers your existing widgets whenever they cover the question.

The agent used is set in **Settings → Default Agent**.

## Dashboard Tabs (Multi-page)

Multiple dashboards in a group appear as **tabs at the bottom** of the screen.

| Action | How |
| - | - |
| **Switch dashboard** | Click any tab |
| **Add dashboard** | Click the **+** on the **left** of the tab bar, enter a **Page Name**, and click **Create Page** |
| **Rename dashboard** | Right-click the tab → **Rename**, or use the selected tab's **…** menu |
| **Delete dashboard** | Right-click the tab → **Delete**, or the **…** menu |
| **Reorder tabs** | Drag tabs left or right *(edit mode only)* |

Rename and delete work in view mode as well as edit mode. The last remaining dashboard in a group cannot be deleted.

## Duplicating a Dashboard Group

From the dashboard card in **Artifacts → Dashboards**, open the action menu and select **Duplicate**.

The modal lets you **remap data sources** — point the copy at a different connection from the original. Useful for environment-specific or client-specific copies. The duplicate is named with " Copy" appended and contains every dashboard, widget, and layout setting from the original.

> For switching data sources on an *existing* dashboard rather than a copy, use [Environments](#environments) instead — no duplication needed.

## Deleting

### A single dashboard (tab)

Right-click its tab and select **Delete**, or use the tab's **…** menu. Not available if it is the last dashboard in the group.

### A dashboard group

From the dashboard card in **Artifacts → Dashboards**, open the action menu and select **Delete**. This removes the group and every dashboard and widget in it. **This cannot be undone.**

## Permissions

What you can do depends on your access to this dashboard and your workspace permissions. **Can view**, **Can chat**, **Can edit**, and **Can create** serve different tasks; an editing role in the workspace alone does not grant ownership of every dashboard.

If a control is missing, ask the owner to check **Share**. See [workspace access](/workspace/overview#roles-and-permissions) and [dashboard sharing](/dashboards/how-to/share-a-dashboard).

## Next steps

Start with [Create a dashboard](/dashboards/how-to/create-a-dashboard), then [add filters](/dashboards/filters/how-to-add-filters-to-your-dashboard) and [share the result](/dashboards/how-to/share-a-dashboard).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.