Tables
Place tabular data into PowerPoint tables. The template owns the table style and banding; your fill drives the row and column count.
How tables work
When Slidura scans a template, any existing table shape becomes a table field in
the catalog. The catalog records the current row count, column count, and the
table style ID. At build time the engine reshapes the template table — adding
or removing rows and columns to match your data — then writes cell content. The
table’s style, banding, and header formatting are never touched, so the output
stays on-brand regardless of how many rows your data has.
Tables you author yourself are stored as reusable assets and referenced by the
sentinel @table:<id>.
Authoring formats
The engine accepts four input formats and sniffs the format automatically:
- CSV / TSV — paste a spreadsheet selection; first row becomes the header.
- JSON list-of-lists —
[["Header A","Header B"],[1,2]]; or list-of-objects[{"col":"val"}]for named columns. - Markdown — GFM pipe tables; the alignment row (
:--,:--:,--:) sets column alignment. - IR JSON — the direct
TableSpecobject; the preferred form for agents.
Individual cells support bold, italic, alignment, colour, cell fill, and a
number_format display string (e.g. "#,##0.00", "0.0%"). Cells can also
embed an icon glyph or a unicode-block sparkline.
Editing in the web UI
The web UI uses a shared data-grid editor: rows and columns are editable
in-place, with + row / + column controls and a paste-to-import escape hatch
for CSV, JSON, or Markdown bulk entry.
Placing a table in a fill
Set the value of a table field to the sentinel for a stored table:
{ "table_1": "@table:<id>" }Agents can also supply data inline:
{ "table_1": { "$table": { "rows": [ { "cells": [{"text":"A"},{"text":"B"}] } ] } } }The inline path accepts any supported format.
Scope
Tables are basic rows and columns: plain text cells with optional formatting.
There are no live formulas, pivot aggregations, or merged-cell authoring in the
grid editor (merged cells are supported in the IR for agents constructing
TableSpec directly).
API and MCP
| Surface | Details |
|---|---|
| REST | POST /api/v1/tables, GET /api/v1/tables/{id}, PUT /api/v1/tables/{id}, DELETE /api/v1/tables/{id} |
| MCP tools | create_table, list_tables, get_table |
create_table and POST /api/v1/tables accept CSV, JSON, Markdown, or IR JSON
via the source_format parameter. The response includes the build_ref field
with the @table:<id> sentinel.