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

# Workflows

> A workflow is the set of instructions that tells anyformat what to pull out of your documents. Build it once; it runs on every document you add.

A **workflow** is the set of instructions that tells anyformat what to do with your documents. You build it once, and it runs the same way on every document you give it.

Think of it as an assembly line made of a few simple steps:

* **Read** the document (Parse)
* **Pull out** the fields you care about (Extract)
* and, when you need them, **sort** documents by type (Classify), **split** a multi-document file apart (Split), or **check** the results against your own rules (Validate)

Each workflow targets **one kind of document** and **one shape of output**. Need a different output? Build a different workflow.

<Tip>
  You don't have to assemble these steps by hand. The fastest way to start is to describe what you want in plain language and let anyformat build a Parse → Extract workflow for you. To arrange the steps yourself, use **[Studio](/concepts/studio)**, the visual editor.
</Tip>

***

## The five building blocks

Every workflow is built from five steps. Most workflows only need the first two.

| Step                  | What it does                                                                                                    | Example                                                                         |
| --------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| **Parse**             | Reads the document and turns it into clean text and tables anyformat can work with. Every workflow starts here. | Upload a bank statement PDF — Parse reads and prepares all the text and layout. |
| **Extract**           | Pulls out the specific fields you ask for.                                                                      | Get the invoice number, total, and date from each invoice.                      |
| **Classify**          | Sorts documents into types you define, so each type can be handled differently.                                 | Label each incoming file as "Invoice", "Contract", or "Statement".              |
| **Split**             | Breaks one file that contains several documents into separate pieces.                                           | A PDF with four invoices stapled together becomes four documents.               |
| **Validate** *(Beta)* | Checks the extracted data against rules you write in plain language, and flags anything that fails.             | Flag expired documents, or check that an IBAN looks valid.                      |

Most users never go past **Parse → Extract**. Classify, Split, and Validate are there for when your documents are more complicated.

***

## Three common shapes

These are the same building blocks arranged in different ways. You arrange them visually in **[Studio](/guides/studio/index)**.

### Read only

Just Parse, nothing else. You get clean text and tables back — handy when you want to feed anyformat's output into your own tools (search, a custom AI, etc.) rather than pulling out specific fields.

```
[ Parse ]
```

### Read, then pull out — the usual one

Parse into Extract. This is the default: "read this document and give me these fields."

```
[ Parse ] → [ Extract ]
```

### Sort first, then pull out

Classify decides what kind of document it is, then sends it to an Extract step tailored to that type. (Split works the same way for files that hold several documents.)

```
                          ┌──> [ Extract: invoice ]
[ Parse ] → [ Classify ] ─┤
                          └──> [ Extract: receipt ]
```

See the [recipes](/guides/recipes/index) for end-to-end examples of each shape, or the [Studio guide](/guides/studio/index) to build them yourself.

***

## How to think about workflows

Most users follow the same lifecycle:

<Steps>
  <Step title="Create">
    Decide which steps you need and how they connect — or just describe what you want and let anyformat build it
  </Step>

  <Step title="Refine">
    Run a few sample documents through it, look at the results, and tighten your fields and instructions
  </Step>

  <Step title="Publish">
    Mark it ready for everyday use
  </Step>

  <Step title="Run at scale">
    Apply it to many documents — by uploading them, connecting cloud storage, or (for developers) calling the API
  </Step>
</Steps>

In the [web platform](https://app.anyformat.ai) you build workflows visually — either by describing what you want from the home screen, or by arranging the steps yourself in [Studio](/guides/studio/index).

***

## What's next?

<CardGroup cols={2}>
  <Card title="Studio" icon="diagram-project" href="/concepts/studio">
    The visual editor where you arrange the building blocks into a workflow
  </Card>

  <Card title="Runs & results" icon="play" href="/concepts/runs-and-results">
    What happens when you run a workflow, and what comes back
  </Card>

  <Card title="Field types" icon="list" href="/concepts/field-types">
    The kinds of values a field can hold, and when to use each
  </Card>

  <Card title="Build your first workflow" icon="plus" href="/guides/quickstart">
    A step-by-step walkthrough — start in the UI, no code needed
  </Card>
</CardGroup>
