Skip to content

plotpress/dashboards/{dashboard}/dashboard.yaml

Each dashboard folder contains exactly one dashboard.yaml. It’s small on purpose.

title: string # required
description: string # optional
icon: string # optional, lucide icon name
order: number # optional, sidebar ordering (default: alphabetical)
connection: string # default connection (must exist in connections.yaml)
views: # optional, per-view overrides
<view_name>:
connection: string # override default connection
cache: duration # e.g. "30s", "5m", "1h"
queries: # optional, per-query overrides (fallback path)
<query_name>:
connection: string
cache: duration
pages: # optional, explicit page ordering
- <page_name> # filename without .md

Required. Display name shown in the sidebar and on the dashboard’s index page.

The default connection, by name, from this dashboard’s connections.yaml. Every Plot block uses this connection unless it has its own connection= attribute or a per-view override below.

views.<name>.connection / queries.<name>.connection

Section titled “views.<name>.connection / queries.<name>.connection”

Override the dashboard default for a specific view or query name. Useful when most charts hit a warehouse but one chart hits a metadata service.

Cache results for the given duration. Default: no caching. Cache keys include the user’s role set, so two viewers with different permissions never share a cache entry.

Accepted: 30s, 5m, 1h, 12h, 1d.

Optional explicit ordering. Pages not listed are appended alphabetically. When absent, ordering is index first, then alphabetical.

title: Sales
connection: warehouse
title: Sales
description: Revenue, customers, and pipeline health.
icon: chart-line
order: 10
connection: warehouse
views:
cohort_retention:
cache: 1h
pipeline_now:
cache: 30s
queries:
legacy_export:
connection: warehouse_replica
cache: 5m
pages:
- index
- revenue
- customers
- pipeline