Charts
Place data-driven native charts into your PowerPoint slides. The template owns the chart type and styling; your fill supplies the data.
How charts work
When Slidura scans a template, any existing chart shape becomes a chart field in
the catalog. The catalog records the chart type (bar, line, pie, …), the number of
series, and the category labels — the shape signature. Your fill provides new
categories and series values; the build patches the chart’s data caches and
embedded workbook in-place without touching the template’s colours, data labels,
or number formats.
Charts you author yourself are stored as reusable assets and referenced by the
sentinel @chart:<id>.
Editing chart data
The web UI uses a shared data-grid editor: categories form the rows, series
form the columns. You can add or remove rows and series with the + row /
+ series controls, edit values directly in the grid, or paste a spreadsheet
selection into the bulk-import escape hatch.
For existing template charts the annotation form shows the shape signature read-only (series count, category labels) and lets you set the data contract: whether the series count is fixed to the template or variable, per-series labels, and the value kind (number, percent, currency, integer).
Placing a chart in a fill
Set the value of a chart field to the sentinel for a stored chart:
{ "chart_1": "@chart:<id>" }Agents can also supply data inline without a stored asset:
{ "chart_1": { "$chart": { "categories": ["Q1","Q2","Q3"], "series": [{ "name": "Revenue", "values": [120, 145, 160] }] } } }The inline path accepts JSON, CSV, or TSV — the engine sniffs the format automatically.
Series count
By default the series count is fixed to the number of series the template
chart was designed with, so its authored per-series colours and labels are
preserved. Setting the contract to variable allows adding or removing series,
but extra series receive default styling and the build will record a warning in the
build output.
API and MCP
| Surface | Details |
|---|---|
| REST | POST /api/v1/charts, GET /api/v1/charts/{id}, PUT /api/v1/charts/{id}, DELETE /api/v1/charts/{id} |
| MCP tools | create_chart, list_charts, get_chart |
create_chart and POST /api/v1/charts accept the same JSON payload (categories,
series, optional chart type, value kind). The response includes the build_ref
field with the @chart:<id> sentinel ready to drop into a fill.