Default Tools - Visualization & cards

July 22, 2026 · View on GitHub

title: Visualization & cards description: Default Tools - Visualization reference. 18 free L0 tools that return a saip-action block the chat renders as a rich interactive card - charts, maps, diagrams, tables, diffs, and more.

Default Tools - Visualization & cards

The eighteen tools on this page are productivity / visualization tools that turn data into a rich interactive card in the chat instead of plain text. Each one returns a fenced ```saip-action block; the chat front end detects it and renders a real chart, map, diagram, table, diff, or stat row inline in the assistant's message.

They are all free and run at the sandbox L0 baseline (Safest) - pure compute, no network and no filesystem widening. The model only produces a description of what to draw; the rendering happens client-side. They ship in the everything preset.

Chart and map cards (the ECharts- and Leaflet-backed ones) carry PNG export and Copy buttons so a rendered card can be saved as an image or copied straight into another document or message.

!!! tip "How the model uses these" The model calls one of these tools with already-gathered data - e.g. it fetches crypto candles with a Korea/global tool, then calls renderCandlestick to draw them. The pattern is gather with a data tool → render it with a visualization tool. After calling, the model tells you the card is shown below; it must not paste a code block itself - the card appears automatically.

A row of rendered visualization cards in chat - stat tiles, a bar chart, and a data table{ width="680" }

Charts { #charts }

ECharts-backed cards. All eight render from JSON data you provide and expose PNG + Copy export buttons.

renderChart 🆓
:material-chart-bar:
productivity · visualization L0
Renders a chart directly in the chat from data you provide: bar, line, area, pie, radar, scatter, or gauge. Use this to visualize numbers you have gathered.
**Params**   `chartType` · `labels` · `series` · `title` · `max` · `seriesName` · `sort`
**Env**       -
Click for full reference · params · card behavior
renderCandlestick 🆓
:material-finance:
productivity · visualization L0
Renders an OHLC candlestick chart in the chat from open/high/low/close data, optionally overlaying trading volume. Pairs with crypto or stock candle tools.
**Params**   `data` · `title` · `volume`
**Env**       -
Click for full reference · params · card behavior
renderHeatmap 🆓
:material-grid:
productivity · visualization L0
Renders a 2D heatmap in the chat from x/y category labels and `[xIndex, yIndex, value]` triples. Good for activity-by-day-and-hour, correlation, or any matrix of numbers.
**Params**   `xLabels` · `yLabels` · `data` · `title`
**Env**       -
Click for full reference · params · card behavior
renderSankey 🆓
:material-transit-connection-variant:
productivity · visualization L0
Renders a Sankey flow diagram in the chat from a list of nodes and weighted `{source, target, value}` links between them.
**Params**   `nodes` · `links` · `title`
**Env**       -
Click for full reference · params · card behavior
renderFunnel 🆓
:material-filter:
productivity · visualization L0
Renders a funnel chart for staged, descending values in the chat from a list of `{name, value}` stages, usually ordered largest to smallest.
**Params**   `data` · `title`
**Env**       -
Click for full reference · params · card behavior
renderTreemap 🆓
:material-view-grid:
productivity · visualization L0
Renders a treemap of hierarchical part-of-whole data in the chat from `{name, value, children?}` nodes; nested children are allowed for hierarchy.
**Params**   `data` · `title`
**Env**       -
Click for full reference · params · card behavior
renderGraph 🆓
:material-graph-outline:
productivity · visualization L0
Renders a force-directed relationship graph in the chat from nodes and links. Good for dependencies, knowledge maps, or social graphs.
**Params**   `nodes` · `links` · `directed` · `title`
**Env**       -
Click for full reference · params · card behavior
renderWindRose 🆓
:material-compass-rose:
productivity · visualization L0
Renders a rose (polar bar) chart in the chat, showing magnitude by category around a circle. Good for wind direction, time-of-day distributions, or ranked category comparisons.
**Params**   `directions` · `series` · `title` · `seriesName` · `sort`
**Env**       -
Click for full reference · params · card behavior

Maps { #maps }

Leaflet- and ECharts-backed map cards. Display-only, no account or key; the marker and density maps carry a light/dark basemap toggle, and all three expose PNG + Copy export buttons.

plotPointsOnMap 🆓
:material-map-marker-multiple:
productivity · visualization L0
Renders an interactive world map with MULTIPLE markers directly in the chat. Use this to plot several geographic points at once (e.g. earthquakes, cities, store locations).
**Params**   `points` · `title` · `style`
**Env**       -
Click for full reference · params · card behavior
renderChoropleth 🆓
:material-map-legend:
productivity · visualization L0
Renders a region-shaded choropleth map from a GeoJSON you supply and per-region values. Good for any statistic broken out by region.
**Params**   `geoJson` · `values` · `nameProperty` · `title`
**Env**       -
Click for full reference · params · card behavior
renderGeoHeat 🆓
:material-heat-wave:
productivity · visualization L0
Renders a geographic density heatmap over a real basemap (Light/Dark toggle). Good for incident density, sightings, or any lat/lng hotspot map.
**Params**   `points` · `radius` · `title` · `style`
**Env**       -
Click for full reference · params · card behavior

Documents & data { #documents-data }

Text- and table-oriented cards: tables, KPI tiles, comparisons, timelines, and side-by-side diffs.

renderTable 🆓
:material-table:
productivity · visualization L0
Renders a sortable, searchable data table in the chat. Good for any list of records (prices, issues, search results).
**Params**   `columns` · `rows` · `title` · `sortable` · `searchable`
**Env**       -
Click for full reference · params · card behavior
renderStatCards 🆓
:material-card-text:
productivity · visualization L0
Renders a row of KPI / metric tiles in the chat. Use for headline numbers like prices, counts, or weather readings.
**Params**   `cards` · `title`
**Env**       -
Click for full reference · params · card behavior
renderComparison 🆓
:material-compare:
productivity · visualization L0
Renders a side-by-side comparison table for two or more entities, optionally highlighting the winning value per row.
**Params**   `entities` · `rows` · `title`
**Env**       -
Click for full reference · params · card behavior
renderTimeline 🆓
:material-timeline:
productivity · visualization L0
Renders a vertical event timeline in the chat. Use for histories, schedules, or sequences of dated events.
**Params**   `events` · `title`
**Env**       -
Click for full reference · params · card behavior
renderDiff 🆓
:material-file-compare:
productivity · visualization L0
Compares two texts (or two files you have read) line by line and shows a side-by-side diff card: lines only on the left are red, lines only on the right are green.
**Params**   `left` · `right` · `leftLabel` · `rightLabel` · `title`
**Env**       -
Click for full reference · params · card behavior

Media & diagrams { #media-diagrams }

Mermaid diagrams and embedded images.

renderDiagram 🆓
:material-sitemap:
productivity · visualization L0
Renders a Mermaid diagram directly in the chat (flowchart, sequence, gantt, mindmap, pie, ER, state, timeline, and more).
**Params**   `code` · `title`
**Env**       -
Click for full reference · params · card behavior
showImage 🆓
:material-image:
productivity · visualization L0
Displays an image from a public URL directly in the chat (a photo, a chart image, a diagram, or a QR code you have a link to).
**Params**   `url` · `caption` · `alt`
**Env**       -
Click for full reference · params · card behavior

How the card renders

Each tool returns a fenced ```saip-action block describing the card. The chat front end parses it and mounts the matching renderer - ECharts for the chart family and the choropleth map, Leaflet for the marker and density maps, Mermaid for diagrams, and lightweight DOM for tables, stat cards, comparisons, timelines, and diffs. Because the rendering is client-side and the tools declare no network or filesystem capability, every card runs at the sandbox L0 baseline.

The chart and map cards expose PNG (download the rendered card as an image) and Copy (copy the image to the clipboard) buttons, so a generated visual can be dropped straight into another document, slide, or message - including an email drafted with sendEmail from Examples.