> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudsquid.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart: extraction

> Turn a batch of documents into structured rows — as its own job, or as input to a reconcile process.

Use an **extraction table** when you need structured data out of documents at volume: one file per row, a schema you define, structured values in the columns. It works as a standalone job (export the rows, push them to a webhook), or as the upstream step that feeds a [reconcile table](/concepts/tables) where an agent works the actual process.

<Note>
  If you're building a *process* — matching, checking, deciding, drafting — start with the [agent quickstart](/quickstart) instead. Reconcile tables can read files directly; you only need an extraction table when document volume makes pre-structuring worth it.
</Note>

## 1. Create an extraction table

1. In your project, create a new table and choose **Extraction**.
2. Give it a name and create it. {/* ⚠️ VERIFY: create-table flow/labels */}

You land in the extraction table interface: your table in the center, the agent chat available for schema work.

## 2. Upload files

* **Drag and drop** files into the center of the table, or click **Add Files** to pick them from your computer.
* **API upload** — send files directly via the [API](/concepts/async-run-pattern).
* **Workflow connectors** — pull files automatically from connected systems (SharePoint, a shared mailbox, S3). See [Integrations](/concepts/integrations).

Uploaded files appear as rows with the status **Waiting for run**. PDFs, images, spreadsheets, audio, and video are supported.

## 3. Define your extraction schema

Each column is one extraction task. You don't have to write them by hand:

1. In the agent chat, describe what you need pulled out of these files.
2. The agent reads your files and your description, then proposes columns.
3. Click **Apply Schema** to add them to the table. {/* ⚠️ VERIFY: button label */}

Column names and descriptions matter — the model reads them. `invoice_total_net` with a one-line description beats `col_4`.

Nested lists (invoice line items, order positions) are supported as array columns, so one file can produce a header record plus its line items.

## 4. Run the extraction

1. Select one or more rows.
2. Click **Run AI**.
3. Extracted values appear in the table as each run finishes.

## 5. Review and refine

* **File viewer** — open a row to see the original document side by side with the extracted values, so you can check any value against its source.
* **Iterate with the agent** — ask it to add, remove, or adjust columns, then re-run.
* **Manual edits** — add columns directly, or use the column menu to edit an existing extraction task.
* **Re-run after edits** — select the rows you want reprocessed and hit **Run AI** again. Only the selected rows are reprocessed.

## 6. Settings worth knowing

* **System prompt** — high-level guidance applied to every extraction on this table (e.g. "dates are DD.MM.YYYY", "amounts are net unless stated").
* **Pipeline** — the model configuration used for runs. See [Extraction pipelines](/concepts/pipelines) for the trade-offs.
* **Bounding boxes** — records where in the source document each value came from. Useful for audit and human review; slower on every run.
* **Review mode** — adds a human approval gate on extracted rows. See [Review & approvals](/concepts/review-approvals).
* **Bulk actions** — select multiple rows to export or delete them.

## 7. Get the data out

* **CSV or Excel** — export the whole table or just the selected rows.
* **Webhook delivery** — push each finished row to an endpoint of your choice.
* **API** — poll for results with the [async run pattern](/concepts/async-run-pattern), or use the synchronous `/extract` call for one-file-at-a-time integrations.
* **Into a process** — feed the rows into a [reconcile table](/concepts/tables), where an agent works them against your master data following an [SOP](/concepts/sops).

## Where to go next

<CardGroup cols={2}>
  <Card title="Build a process on top" icon="rocket" href="/quickstart">
    Structured rows are the input. The agent quickstart shows what works them.
  </Card>

  <Card title="Extraction pipelines" icon="microchip" href="/concepts/pipelines">
    Pick the right pipeline for your accuracy and speed requirements.
  </Card>

  <Card title="Async run pattern" icon="repeat" href="/concepts/async-run-pattern">
    Upload → start → poll, the standard pattern for extraction at scale.
  </Card>

  <Card title="Connect real inputs" icon="plug" href="/concepts/integrations">
    Feed the table from a mailbox, SharePoint, or a webhook instead of manual upload.
  </Card>
</CardGroup>
