Publishing

Publish your Public Page under a slug and point each component at its data source.

Publishing takes a draft page composed of components and makes it available on the public web. You control the slug, who sees it, and how each component finds its data.

Slugs and URLs

Each published page has a unique slug within your project. The slug is a short, URL-safe identifier such as status or api-metrics. The public URL is always:

http
/p/<slug>

When you publish a page, you choose or confirm its slug. The slug is what visitors use to open the page, so pick something stable and descriptive. Slug changes take effect on the next load of the new URL.

Who can view and edit

Viewing and editing have different access rules:

  • Viewing - anyone with the URL can view a published page. No login is required. The page and its data are served without authentication.
  • Editing - authoring and management routes require project admin access. Only a project admin session can create, edit, publish, unpublish, or change the slug of a page.

Connecting data sources

Every component that displays data carries its own data source in its config. There is no separate data-source endpoint, so you wire each component directly in the dashboard to the source it reads from.

Chart data sources

Charts read from your events. Each chart config sets an eventType and any filters to narrow the result, plus a timeRange:

json
{
  "type": "line-chart",
  "config": {
    "eventType": "checkout.completed",
    "filters": [
      { "field": "data.plan", "operator": "equals", "value": "pro" }
    ],
    "timeRange": "7d"
  }
}

Metric data sources

Metrics read from a named metric in your project. The config sets metricName, which must match a metric you maintain:

json
{
  "type": "metric",
  "config": {
    "metricName": "monthly-recurring-revenue",
    "format": "currency"
  }
}

Uptime data sources

Uptime components read from a single monitor. The config sets monitorId to the monitor whose status you want to show:

json
{
  "type": "uptime",
  "config": {
    "monitorId": "mon_8f3c1a"
  }
}

Events table data sources

Event tables read from your events stream. The config sets an eventType and any filters, and lists the latest matching events up to limit:

json
{
  "type": "events",
  "config": {
    "eventType": "payment.completed",
    "filters": [
      { "field": "data.amount", "operator": "gte", "value": 100 }
    ],
    "limit": 20
  }
}

Publishing and unpublishing

Publishing makes a page live at its public URL; unpublishing takes it down immediately. Both actions require project admin access and take effect on the next page load. When a page is unpublished, the public URL no longer serves it.