Tables

A table stores rows of typed data in your workspace. Use one for reference data, workflow results, or records that an agent processes.

Create and edit a table

  1. Open Tables in the sidebar and select New table.
  2. Use New column to define your columns and their types.
  3. Enter values in cells, paste rows from a spreadsheet, or use Import to load data.
  4. Use the toolbar to filter and sort the view without changing stored values. See Keyboard shortcuts for editing and navigation.

Column types

The type determines how a column stores and displays values.

TypeHoldsExample
TextA string"Acme Corp"
NumberA numeric value42
CurrencyA number displayed in the column's selected currency$1,234.56
Booleantrue or falsetrue
DateA date, or date and time2026-03-16
ExpirationA deletion timestamp with Z or an explicit UTC offset2026-12-01T00:00:00Z
JSONAny JSON value{ "tier": "pro" }
SelectOne or several configured optionsPro

Safe conversions are accepted, such as a numeric string into a Number column. Unsupported optional values can become empty in the editor or workflow writes; the public v2 API rejects invalid writes. Produce typed values and inspect the saved result.

Currency stores the number itself, which filters, sorts, and exports use. Changing the selected currency relabels existing amounts; it does not convert them.

Expiration

A table can have one Expiration column. Rows with a timestamp at or before the cleanup time are eligible for scheduled deletion; blank values do not expire. Shipped Compose and Helm schedules check every 15 minutes, so deletion is not immediate at the timestamp. Delete locks can prevent cleanup. Set this column only when scheduled removal is intended.

Use tables in workflows

A Table block reads and writes rows within a workflow. A workflow column runs per-row work and writes selected outputs beside the source data. Use a Function or Agent block for calculations; tables do not evaluate spreadsheet formulas. Tables are also available through the API.

Limits and behavior

Row and table counts depend on the plan and deployment configuration. The maximum row-data size defaults to 400 KiB and is configurable per deployment. Tables have a fixed ceiling of 1,000 columns. Query pages have a default 5 MiB row-data budget, which can be configured for bounded pages. A query requesting all matches has a fixed 5 MiB budget. Use pagination for large reads.

Individual row writes are atomic, but a workflow's read → process → write sequence is not one transaction. Concurrent workflows can operate on the same table and affect the same records.

In the editor, Cmd/Ctrl+Z undoes recent cell edits, row insertions, and row deletions. That history clears when you leave the editor and does not include changes made through the API.