Skip to content
Documentation

Columns

A column is the only thing you actually author, and every answer in the table is downstream of it. Most disappointing results are a column problem rather than a document problem — usually the wrong output type.

The type is the decision

Eight output types. The type is not a formatting preference: it constrains what comes back, and therefore what you can sort, filter and total afterwards.

TypeUse it for
TextA quoted or summarised passage. The default, and the right choice when the answer is a clause rather than a value.
NumberA single figure. Use it whenever you will sort, filter or total the column — even if every document writes the number in words.
Yes/NoA boolean. Best for "does this document contain / grant / require X?".
DateA date, normalised. Effective dates, break dates, maturities.
CategoryOne of a fixed set of options you write out. Answers are forced into the set, which is what makes the column groupable.
ListSeveral values in one cell. Costs more than a scalar column, because it fans out into more retrieval and a longer answer.
ImageA picture rather than a sentence — the page, or the region of it, that shows what you asked for. Use it for a floor plan, a chart, a signature block.
Image listSeveral pictures in one cell: every figure in a paper, every drawing attached to a bid. Shown as thumbnails, with the rest behind a gallery.

Choose by what you will do with the answer, not by how the document phrases it. If you want to sort by contract length, that is a number column even though every document writes it as “thirty-six (36) months”. If you want to group by facility type, that is a category column with the options written out, not a text column you will clean up by hand later.

For category columns, include an explicit “Unknown” or “Not stated” option. Without one, the column has to pick something, and a forced answer is worse than a blank one.

The type also decides what you can ask of the column afterwards. A table can be narrowed by a set of conditions across its columns, and the operators offered are the ones the type supports — a range on a number, before and after on a date, one of the options on a category. See tables.

Columns that answer with a picture

Two of the eight types do not return text at all. An image column answers “which page shows this?” and fills the cell with that page, cropped to the part that answers — the floor plan in a lease, the results chart in a paper, the label on a product sheet. An image list column does the same thing several times over, for a question whose honest answer is a set of pictures rather than one.

They are written like any other column: a prompt, in the same register you would use for text. “The floor plan or site plan of the demised premises” is a column. So is “each figure, chart or plot presenting this study’s results, with its axis labels and legend” — and the second half of that sentence is doing real work, because a chart cropped away from its axis labels is not an answer anyone can use.

  • The cell holds the picture. An image list shows the first few as thumbnails and the rest behind a “+N”, so a cell full of pictures never makes its row tall enough to push the neighbouring rows off screen. How many it shows follows the table’s cell wrap setting, since in an image column the pictures are what set the row height.
  • A gallery opens full screen, from a thumbnail or from the “+N”, with each region at a size worth looking at. It carries what the picture cannot say for itself — the row, the file the region came from, and the page — and arrow keys step through the set.
  • Every picture is cited, the same way a sentence is — the document, the page, and the region outlined on it. The description the model wrote sits with the citation rather than in the cell, because a caption under every thumbnail turns a visual column back into the wall of text it exists to avoid. See citations.
  • Filtering, sorting and export use that description, since text is the only representation those three have. The filter operators are worded to say so.
  • They cost what a typed column costs — the column’s rate, once per cell. Finding the region within the page is part of answering, not an extra.

The limits are worth knowing before you build a table on one. The answer is always a page of a document you have uploaded, so an image column finds pictures rather than making them, and where it cannot pin down the region it shows the whole page — vague, but never wrong about which page. And typing over an image cell replaces the picture with your text, permanently: there is no way to hand-pick a region. See corrections.

Write the question, not the keyword

A prompt is read as a question asked of a whole document, so it can carry the qualifications you would give a colleague. “Which court has exclusive jurisdiction?” beats “jurisdiction”. “What is the notice period for termination for convenience?” beats “notice period”, which half your documents will answer about something else.

Say where to look when it matters. Contracts repeat themselves — recitals, definitions, operative clauses and schedules can all mention the same term with different force. A prompt that says “from the operative clauses, not the recitals” is doing real work.

  • Name the unit if there is one — “in months”, “in GBP” — rather than correcting it afterwards.
  • If two things could match, say which one you want. Ambiguity in the prompt becomes low confidence in the answer.
  • Ask for one thing per column. Two questions in one prompt produce a cell you cannot sort.

Compositional columns

By default a column is answered per document and the results are combined. Some questions are not like that — they need evidence gathered from across the whole row before anything can be concluded. Marking a column compositional switches it to retrieve across the row and answer once.

It costs more retrieval on an ordinary row, so use it where the question genuinely spans sources rather than as a general accuracy setting. On a row backed by a large bundle it is the cheaper of the two options, and by some distance: gathering across the documents once costs less than reading each of them separately.

The switch is per column; the table’s Review settings tab sets it for every column at once.

Presets

A table with no columns offers presets — a starter set for a common review scenario, with names, prompts and types already chosen. Eight ship with the app:

  • Private Equity / M&A — target companies in a VDR
  • Private Credit — credit agreements
  • Hedge Funds — quarterly transcripts
  • Legal & Procurement — vendor and customer contracts
  • Real Estate — commercial leases
  • Construction — subcontractor trade bids
  • Academia — peer-reviewed journal PDFs
  • Healthcare — clinical trial protocols

They are starting points, not authoritative definitions — the prompts are illustrative and are meant to be edited to fit your documents, not adopted as legal or financial definitions. Four of them are worked through end to end in use cases.

Three of the eight now open with an image column in them: Real Estate asks for the floor plan, Construction for the drawings a bid references, and Academia for the figures presenting a study’s results.

What a column costs

Extraction is charged per cell, at the column’s own rate, on success. A typed or scalar column sits at 1 credit; list and enumeration columns typically cost around 3, because they fan out into more retrieval and a longer generation. Image columns sit with the typed ones — a picture is not more expensive to find than a date. Rates are the same at every tier.

That rate multiplies by every row, which is the thing worth pausing over before adding a list column to a table of four hundred documents. Rows backed by bundles cost more again — see how credits work.

Editing a prompt marks its answers stale

Columns are versioned. Editing the prompt or the type bumps the version, and every cell produced by the old one is marked stale rather than silently rewritten — you decide when to spend the credits to rerun.

This is what makes iteration safe, and it suggests a loop: change the prompt, rerun two rows, read the result, then rerun the rest once you are happy. See running and reruns.