Cadense

Tables

Store, query, and manage structured data directly within your workspace

Tables let you store and manage structured data directly in your workspace. Use them to maintain reference data, collect workflow outputs, or build lightweight databases — all without leaving Cadense.

Tables view showing structured data with typed columns for name, title, company, role, and more

Each table has a schema of typed columns, supports filtering and sorting, and is fully accessible through the Tables API.

Creating a Table

  1. Open the Tables section from your workspace sidebar
  2. Click New table
  3. Name your table and start adding columns

Tables start with a single text column. Add more columns by clicking New column in the column header area.

Column Types

Each column has a type that determines how values are stored and validated.

TypeDescriptionExample Values
TextFree-form string"Acme Corp", "[email protected]"
NumberNumeric value42, 3.14, -100
BooleanTrue or falsetrue, false
DateDate value2026-03-16
JSONStructured object or array{"key": "value"}, [1, 2, 3]

Column types are enforced on input. For example, typing into a Number column is restricted to digits, dots, and minus signs. Non-numeric values entered via paste are coerced to 0.

Working with Rows

Adding Rows

  • Click New row below the last row to append a new row
  • Press Shift + Enter while a cell is selected to insert a row below
  • Paste tabular data (from a spreadsheet or TSV) to bulk-create rows

Editing Cells

Click a cell to select it, then press Enter, F2, or start typing to edit. Press Escape to cancel, or Tab to save and move to the next cell.

Selecting Rows

Click a row's checkbox to select it. Selecting additional checkboxes adds to the selection without clearing previous selections. You can also drag through the row gutter to select a contiguous range quickly.

ActionBehavior
Click checkboxToggle that row's selection
Shift + click checkboxSelect range from last clicked to current
Drag row gutterAdd every row in the dragged range to the selection
Click header checkboxSelect all / deselect all
Shift + SpaceToggle row selection from keyboard

Deleting Rows

Right-click a selected row (or group of selected rows) and choose Delete row from the context menu.

Filtering and Sorting

Use the toolbar above the table to filter and sort your data.

  • Filter: Set conditions on any column (e.g., "Name contains Acme"). Multiple filters are combined with AND logic.
  • Sort: Order rows by any column, ascending or descending.

Filters and sorts are applied in real time and do not modify the underlying data.

Finding Data

Use Cmd + F on macOS or Ctrl + F on Windows/Linux while viewing a table to find matching cells across loaded rows in the current filtered and sorted view. Press Enter to move to the next match and Shift + Enter to move to the previous match.

Find returns matching cell locations without exposing cell values in the search response. The table selection moves to the matched cell so you can edit, copy, or inspect the row in context.

For large tables, find navigation is limited to rows currently loaded in the table view. Use filters, sorting, or scrolling to load the row range you want to inspect.

Importing Data

Tables support several import paths depending on the source and size of the data:

  • Paste rows from a spreadsheet directly into the table editor for small manual imports.
  • Use the Table block or Tables API for controlled programmatic inserts and updates.
  • Use file-backed CSV/TSV imports when Mothership creates a table from a workspace file. Large CSV/TSV files are queued as background import jobs instead of running through the request lifecycle.

Background imports are workspace-scoped and track progress, heartbeats, attempts, warnings, rejected row counts, and final output in the table job record. Large imports should be treated as asynchronous: users can leave the page and return after the job completes.

Existing-table file imports remain bounded for safety. For large CSV/TSV files, create a new table from the file so the import can use the background job path.

Keyboard Shortcuts

All shortcuts work when the table is focused and no cell is being edited.

Mod refers to Cmd on macOS and Ctrl on Windows/Linux.

ShortcutAction
Arrow keysMove one cell
Mod + Arrow keysJump to edge of table
Tab / Shift + TabMove to next / previous cell
EscapeClear selection

Selection

ShortcutAction
Shift + Arrow keysExtend selection by one cell
Mod + Shift + Arrow keysExtend selection to edge
Mod + ASelect all rows
Mod + FFind matching cells
Shift + SpaceToggle current row selection

Editing

ShortcutAction
Enter or F2Start editing selected cell
EscapeCancel editing
Type any characterStart editing with that character
Shift + EnterInsert new row below
SpaceExpand row details

Clipboard

ShortcutAction
Mod + CCopy selected cells
Mod + XCut selected cells
Mod + VPaste
Delete / BackspaceClear selected cells (all columns when using checkbox selection)

History

ShortcutAction
Mod + ZUndo
Mod + Shift + ZRedo
Mod + YRedo (alternative)

Using Tables in Workflows

Tables can be read from and written to within your workflows using the Table block. Common patterns include:

  • Lookup: Query a table for reference data (e.g., pricing rules, customer metadata)
  • Write-back: Store workflow outputs in a table for later review or reporting
  • Iteration: Process each row in a table as part of a batch workflow

Workflow Columns

Workflow columns let a table run a workflow for selected rows and write mapped workflow outputs back into table columns. A workflow group stores the workflow id, version mode, input mapping, output mapping, dependency rules, and error behavior for that batch of row runs.

Rows show per-group execution state so operators can distinguish queued, running, completed, error (shown as Failed), cancelled, skipped, not-found, and no-output states. Stop controls cancel pending or running workflow group jobs and mark the affected row executions as cancelled.

Workflow columns are bounded by table bulk-operation limits and workspace permissions. The selected workflow must belong to the same workspace, and deployed-version runs require a deployed workflow.

Background Jobs

Long-running table work uses persistent table jobs for operations such as import, export, delete, and backfill. A table job stores:

  • Workspace and table scope
  • Job type and status
  • Progress counters, warnings, and rejected unit counts
  • Heartbeat and retry metadata
  • Async queue id and final output or error

The current user-facing background path is large CSV/TSV import from workspace files. Export, delete, and backfill job records share the same job model so they can be enabled behind their feature flags when their runners are registered.

Mothership Tables

Mothership can read and mutate workspace tables through bounded table tools. Destructive and large operations use guardrails:

  • Reads default to a capped row count.
  • Inline writes and imports are capped by table bulk-operation limits.
  • CSV/TSV file imports above the inline threshold are queued as background imports when creating a new table.
  • Table deletes are capped, and large or destructive requests return structured errors with recommended narrower actions.
  • Output tables are replaced through tenant-scoped writes and capped row counts.

Mothership responses include structured fields such as table id, workspace id, affected row count, warnings, and job id when work is queued.

API Access

Tables are fully accessible through the REST API. You can create, read, update, and delete both tables and rows programmatically.

See the Tables API Reference for endpoints, parameters, and examples.

Best Practices

  • Use typed columns to enforce data integrity — prefer Number and Boolean over storing everything as Text
  • Name columns descriptively so they are self-documenting when referenced in workflows
  • Use JSON columns sparingly — they are flexible but harder to filter and sort against
  • Leverage the API for bulk imports rather than manually entering large datasets

Common Questions

Tables are designed for working datasets. For very large datasets (100k+ rows), consider paginating API reads or splitting data across multiple tables.
Yes. Copy rows from any spreadsheet application and paste them directly into the table. For larger CSV or TSV files, use a workspace file import path so Cadense can queue the import as background work. Column values will be validated against the column types.
Tables store raw data and do not support computed formulas. Use workflow logic (Function block or Agent block) to derive computed values and write them back to the table.
Yes. Table writes are atomic at the row level, so multiple workflows can safely write to the same table concurrently.
Use the Table block in your workflow. Select the target table from the dropdown, choose an operation (read, write, update), and configure the parameters.
Yes. Tables are workspace-scoped and accessible to all members with appropriate permissions.
In the table editor, Cmd/Ctrl+Z undoes recent cell edits, row insertions, and row deletions. API-driven changes are not covered by the editor's undo history.
On this page

On this page