Skip to main content

Tabular Operations

Tabular operations turn a CSV into a living table where an agent fills in new columns for rows you choose. Use them to run the same analysis across assets, domains, findings, employees, vendors, or any structured set of rows.

At a glance

  • What it is — A CSV turned into a living table where an agent fills in agentic columns for the rows you select.
  • When to use it — Run the same agent-driven analysis across many structured rows — assets, domains, findings, employees, vendors, or similar.
  • Inputs — An uploaded CSV; per column, a name, a prompt, the input columns it may read, and an optional playbook.
  • Outputs — Filled-in cells with per-row answers, run history, a generated report draft, or a CSV export.
  • Related objectsOperations, Playbooks, Reporting
  • Common actions — Add a column, Run (full column/debug run/selected cells/failed/stale), review run history, Generate report, Export CSV, Archive a column.
  • API / tool links — UI only — no public API.

Create a table

Start an operation with a CSV attached. The first row becomes your column names and every other row becomes a row in the table. Your uploaded data stays exactly as it was — you can search, sort, filter, and export it at any time.

Add an agentic column

An agentic column is an instruction the agent runs for each selected row. Write a prompt and point it at the data it should read with @ mentions — for example, "Summarize the risk for @domain using @open_ports." A column can reference your original data and the answers from earlier agentic columns.

When you add a column you set:

SettingWhat it does
NameThe column title shown in the table and in CSV exports
PromptThe instruction the agent runs for each row
Input columnsThe columns the prompt is allowed to read
Playbook (optional)Extra guidance the agent follows while filling the column

Edit a column at any time. Its existing answers are marked stale so you can tell they came from the old prompt — rerun to refresh them.

Run a column

From the column menu, or by selecting cells, choose how much to run:

RunWhat it does
Full columnEvery row
Debug runJust the first few rows, to preview results before committing
Selected cellsOnly the rows you picked in the table
FailedOnly rows that didn't succeed last time
StaleOnly rows whose answer is based on an old prompt
BlockedRows that were waiting on another column

If a prompt references another agentic column, those rows wait until that column has answers. If you run out of credits, the run pauses and shows a Resume action you can use once credits are topped up.

Large runs are split into batches. The table updates as each batch finishes, so some cells can complete while others are still queued, running, blocked, or being retried.

Review past runs

Open a column's run history to see every run it has had, which rows each one covered, and the results. Open any row's answer to see how the agent reached it.

Reports and export

  • Generate report drafts a summary prompt into the operation so you can review and send it.
  • Export CSV downloads the current table with all of its columns.

Archive a column you no longer need and it disappears from the table and exports, and its backing batch operations are archived too.

Row states

While a column runs, each cell shows where that row stands:

StateWhat it meansWhat to do
QueuedWaiting to startWait — if it paused for credits, top up and resume
RunningThe agent is working on the rowWait for it to finish
BlockedWaiting on another column's answersRun that column first, then rerun the blocked rows
FailedThe agent couldn't produce a valid answerOpen the cell, then rerun failed rows
StaleThe prompt or inputs changed after this answer was writtenRerun stale rows
SkippedThe agent intentionally left the row blankOpen the cell to see why before rerunning

Next steps

  • Operations — a tabular run is an operation; each column run spawns its own.
  • Playbooks — guide a column with a repeatable methodology.
  • Reporting — turn a finished table into a deliverable.