Core Concepts
A dashboard is generated from a manifest — a short Markdown file describing what you want, not how to query for it.
A manifest has a title (the first # Heading) and a ## Panels section. Each ### Panel Name becomes one panel:
# Sales Overview
## Panels
### Revenue This Month
- What: Total revenue for the current month grouped by product category
- Chart: bar
- Filter: created_at
### Active Users
- What: Count of distinct active users today
- Chart: stat
### Top Customers
- What: Top 10 customers by lifetime spend
- Chart: table| Field | Required | Description |
|---|---|---|
What | Yes | Plain-language description of what the panel should show. This is what gets turned into a query. |
Chart | No | One of the chart types below. Defaults to stat for intents containing count/total/sum/average, bar otherwise. |
Filter | No | A column name this panel should respond to. Repeat the line to bind multiple filters to one panel. |
| Type | Best for |
|---|---|
stat | A single number — totals, counts, averages. |
bar | Comparing values across categories. |
line | Trends over time. |
pie | Proportions of a whole. |
table | Row-level detail that doesn’t reduce to a single chart. |
map | Geographic data with location fields. |
Once you submit a manifest (and an optional design screenshot), a live progress stream walks through:
Filter: line across all panels, deduplicated, and the final layout is assembled.Attach a screenshot or mockup of a desired layout alongside your manifest. InsightBase analyzes it to extract a 12-column grid layout — panel positions and sizes — and matches your manifest’s panels to that layout by name. If layout analysis fails for any reason, generation falls back to an automatic grid (4 columns wide, 3 panels per row) without blocking the rest of the pipeline.
Every change that affects what a dashboard shows or how it’s laid out — a manual query edit, a layout change — creates a new version. See Filters & Query Editor for rolling back to a previous version.