Skip to Content
DocsDashboardDashboards

Dashboards

Create custom dashboards with a drag-and-drop grid of insight and markdown tiles. Pin the metrics your team checks daily and add context with notes.

Path: /p/:projectId/dashboards

Creating a dashboard

  1. Go to Dashboards in the sidebar.
  2. Click New dashboard.
  3. Choose a template (Overview-style KPIs, funnel-focused, blank) or start blank.
  4. Click Add tile to open the tile picker.
  5. Drag tiles to rearrange; resize by dragging corners.
  6. Click Save — changes are visible to all project members immediately.

Tile types

TypeDescriptionUse case
InsightChart or KPI bound to an insight query specMetrics, funnels, retention, breakdowns
MarkdownFree-form text, links, or notesRunbooks, release notes, chart annotations

Insight tiles

Insight tiles are live — they query ClickHouse on load and refresh when you change the time range. Configure three tabs:

Data tab

  • Events, filters, aggregation, breakdown
  • Time range override (inherit global or set per-tile)
  • Conversion window (funnels)

Display tab

  • Chart type: line, area, bar, funnel, retention, table, KPI
  • Colors and legend position

Format tab

  • Number formatting (currency, percentage, compact)
  • Thresholds (green/yellow/red zones for KPIs)

Markdown tiles

Use markdown tiles for context that numbers alone don’t capture:

## Q2 Launch Dashboard Tracking signup funnel and revenue for the April 15 release. [Launch checklist →](https://notion.so/...) **Owner:** @growth-team

Markdown tiles support headings, links, bold/italic, and lists.

Example dashboard layouts

Growth team daily standup

TileQuery
KPI: DAUpage_view unique users, last 7 days
KPI: Signupssignup count, last 7 days
Funnelsignup_started → signup_completed
MarkdownWeekly goals and notes

E-commerce monitoring

TileQuery
KPI: Revenuepurchase sum of revenue, last 30 days
Funnelproduct_viewed → add_to_cart → purchase
Breakdownpurchase by $geo.country
LineDaily purchase count

See E-commerce tracking for event setup.

Managing dashboards

From the dashboard list view:

  • Duplicate — copy a dashboard as a starting point for a new view
  • Rename — update the dashboard title
  • Delete — remove permanently (tiles are not recoverable)

Tile mutation model

Dashboard tiles use a full-reconcile upsert — the API replaces the entire tile list on each save. There are no individual tile create/update/delete RPCs.

When using the Dashboards API, send the complete desired tile array:

{ "dashboard_id": "dash-123", "tiles": [ { "type": "insight", "query_spec": { "...": "..." }, "position": { "x": 0, "y": 0, "w": 6, "h": 4 } }, { "type": "markdown", "content": "# Notes", "position": { "x": 6, "y": 0, "w": 6, "h": 2 } } ] }

The saved dashboard is always the source of truth.

Tips

  • Start in Insights — prototype queries in Insights, then pin to a dashboard once the chart looks right.
  • Use time range overrides sparingly — per-tile overrides confuse readers; prefer a global dashboard time range with consistent tiles.
  • One dashboard per audience — executives get KPIs; engineers get detailed breakdowns; don’t mix both on one board.

Further reading

Last updated on