Skip to main content
Visuals and dashboards both read from saved Explorer queries. Create the query first with create_explorer_query: an ephemeral run_sql_query result can’t back a chart. See SQL & queries.

Available tools

Fetch the relevant skill before you construct a spec. Both set_dashboard and create_explorer_visual take a typed JSON config, and the exact schema per type lives in the skill. See Skills.

Visuals

A visual belongs to a query. spec.type selects the variant, and the remaining fields depend on that type. Types: chart, value, table, pie, sankey, treemap, scatter, map, chord.
1

Load the schema

Call get_skill(name="explorer-visuals") for general guidance, then get_skill(name="explorer-visuals", reference_title="<type>") for that type’s exact JSON schema.
2

Create the visual

create_explorer_visual returns a visual_id and the visual’s URL. Pass an existing visual_id to replace that visual in place, and omit it to add a new one.
get_explorer_query returns a query’s visuals list. Use those IDs with get_explorer_visual, delete_explorer_visual, or the visual_id argument of share_explorer_query.
Editing a visual requires edit access to its parent query.

Dashboards

A dashboard is a tree: dashboard > page > section > element. set_dashboard upserts or deletes any node in that tree, and the ID path you pass locates the target. You always pass the ID path down to the target’s parent. Adding the target’s own ID updates that node, and leaving it out creates a new one.
Element config.type covers the visualization types above plus layout and control elements: markdown, spacer, variable-select, switch, date-range, and radio-group. Call get_skill(name="dashboard-design") for the build order and element catalog, then get_skill(name="dashboard-design", reference_title="<config.type>") for a type’s full schema.
Use these strings exactly as written for config.type: a dropdown is variable-select, not select. The skill’s element catalog is the authoritative list.
If the request touches a topic Terminal already covers, run search_terminal and get_terminal_results first and use that chart manifest and SQL as your baseline. See Knowledge & discovery.

Reading a dashboard

read_dashboard returns the node you target plus summaries of its immediate children, and it never returns a whole subtree.

Deleting

delete_dashboard takes a dashboard_id only and removes the whole dashboard. To remove a page, section, or element, call set_dashboard with spec: null and that node’s ID path.

Sharing

share_explorer_query returns a share URL (https://app.allium.so/s/{share_id}) and an embed URL (https://app.allium.so/embed/{share_id}).Omit visual_id and the shared page shows the results table with one tab per saved visual, which is usually what you want when the query has several. Pass a visual_id and the page pins that one visual. Only this form renders a visual in the embed URL: without it, the embed shows the table.exclude_sql defaults to false, so the shared page shows your SQL unless you set it to true.
Anyone with a share link can view the content without logging in. There is no unshare tool: to stop sharing a dashboard, open it at https://app.allium.so/analyze/dashboards/{dashboard_id} and toggle off public access.

SQL & queries

Create the saved queries that back your charts

Skills

Fetch the exact spec schema for every visual and element type

Dashboards in the App

Build visuals and dashboards by hand in the App

Terminal dashboards

Start from an analyst-built baseline