Skip to content

create_dashboard

Create or update a saved dashboard for a Bridge Town project. Generates chart HTML from a completed model run output, stores it in S3, and persists a Dashboard record. Requires Editor or Owner access to the project. output_key selects a key from the run’s outputs dict — the same dict your model writes to /outputs/. When a model writes a JSON file such as /outputs/chart_data.json, the run’s outputs dict stores it under the full filename including the extension (e.g. outputs[‘chart_data.json’] = {…}), so pass output_key=‘chart_data.json’. Supported chart types and required data schemas: bar/expense_breakdown — {categories, values}; line/headcount_timeline — {x, y} or {x, series:[{name, values}]}; table/data_grid — {columns, rows}; waterfall/revenue_waterfall — {labels, values}; cash_flow_projection — {months, actual?, projected?}. Returns: dashboard_id (str) — stable UUID for follow-up calls; dashboard_name (str) — dashboard identifier; project (str) — project name; chart_type (str) — chart type used to render the HTML; model_run_id (str | null) — UUID of the source model run; has_html (bool) — whether the HTML was stored successfully in S3; created (bool) — true when a new dashboard was created, false when an existing dashboard was updated; created_at (str) — ISO-8601 creation timestamp; updated_at (str) — ISO-8601 last-update timestamp. Call share_dashboard afterward to generate a shareable URL.

NameTypeRequiredDefaultDescription
project_namestrYes
dashboard_namestrYes
chart_typestrYes
model_run_idstrYes
output_keystrYes
description`strNone`NoNone
subtitlestrNo''
currencystrNo'USD'

Returns a structured object. Top-level fields:

  • dashboard_id (string)
  • dashboard_name (string)
  • project (string)
  • chart_type (string)
  • model_run_id (string)
  • has_html (boolean)
  • created (boolean)
  • created_at (string)
  • updated_at (string)

See the response example below for the full payload shape.

{
"name": "create_dashboard",
"arguments": {
"project_name": "forecasts",
"dashboard_name": "Q4 Revenue",
"chart_type": "bar",
"model_run_id": "66666666-6666-6666-6666-666666666666",
"output_key": "quarterly_revenue.json",
"description": "Quarterly revenue breakdown",
"subtitle": "FY2026",
"currency": "USD"
}
}
{
"dashboard_id": "77777777-7777-7777-7777-777777777777",
"dashboard_name": "Q4 Revenue",
"project": "forecasts",
"chart_type": "bar",
"model_run_id": "66666666-6666-6666-6666-666666666666",
"has_html": true,
"created": true,
"created_at": "2026-04-28T10:00:00+00:00",
"updated_at": "2026-04-28T10:00:00+00:00"
}
  • Module: Dashboards
  • Requires authentication via API token or Auth0 JWT.