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

# Choose Your Workflow

> Pick the right Pulse workflow for your document and output.

Most Pulse workflows start the same way: run **Extract** to create a reusable `extraction_id`. The question is what you do next.

If you receive **mixed document types** through one intake, there is an optional step before that: run **Classify** to identify each document and route it to the right pipeline. See [Do I need Classify?](#do-i-need-classify) below.

```mermaid theme={null}
flowchart TD
    S{Mixed document types?} -->|Yes| T[Classify, then route]
    S -->|No| A
    T --> A[Start with Extract]
    A --> B{What output do you need?}
    B -->|Clean text, layout, figures, chunks| C[Stop after Extract]
    B -->|Named fields or JSON| D[Add Schema]
    B -->|Tables are the product| E[Add Tables]
    B -->|Charts are the product| J[Add Charts]
    B -->|Different sections need different logic| F[Add Split]
    F --> G{Need structured fields per section?}
    G -->|Yes| H[Add Schema in split mode]
    G -->|No| I[Use split page assignments]
```

## Quick Picker

| Workflow                       | Use when                                                                                                | Avoid when                                                                            |
| ------------------------------ | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| **Classify -> pipeline**       | Documents of different types arrive through one intake and each type needs its own extraction settings. | Every document is the same type, or you already know the type from the source system. |
| **Extract**                    | You need markdown, layout-aware text, figures, chunks, or general document content.                     | You need normalized fields or table reconstruction as the final output.               |
| **Extract -> Schema**          | One schema describes the whole document: invoices, applications, policies, statements.                  | Different sections need different fields or instructions.                             |
| **Extract -> Tables**          | You need table HTML with row/column structure, merged tables, or chart-to-table conversion.             | You only need a few values from a table; Schema may be simpler.                       |
| **Extract -> Charts**          | You need reconstructed series, source boxes, confidence, or Excel/CSV/LAS output from charts.           | A textual chart summary is sufficient; figure descriptions may be simpler.            |
| **Extract -> Split**           | You need page groups by topic for routing, review, or downstream processing.                            | The whole document should be processed with one schema.                               |
| **Extract -> Split -> Schema** | Long mixed documents need per-topic schemas: annual reports, diligence packs, claim files.              | A single schema can handle the document reliably.                                     |
| **Batch**                      | You need the same workflow across many documents.                                                       | You are still designing the pipeline on a single sample.                              |

## Common Decisions

### Do I need Classify?

Use **Classify** when a single intake receives more than one kind of document and each kind needs different handling — for example a shared inbox or upload form that receives invoices, bank statements, and contracts.

Classify reads the raw file (no extraction required), inspects the first five pages by default, and returns the matching classification plus the `pipeline_id` you assigned to it. You then run that pipeline, which applies its own extraction settings.

Skip Classify when:

* every document is the same type, or
* the source system already tells you the type (folder, email subject, form field, or upstream metadata).

Classify costs 0.5 credits per page — half the Extract rate — because it only needs enough of the document to identify its type, not a full-fidelity parse. Treat the result as routing guidance and validate downstream where correctness matters.

See [Classify Document](/current/api-reference/endpoint/classify) for the request shape and [Pipeline Overview](/current/api-reference/endpoint/pipeline-overview) for how routing fits the wider pipeline.

### Schema or Tables?

Use **Schema** when your final output is a JSON object with named fields:

```json theme={null}
{
  "borrower_name": "Acme LLC",
  "loan_amount": 2500000,
  "maturity_date": "2028-06-30"
}
```

Use **Tables** when the table itself is the output, especially if row and column relationships matter:

```html theme={null}
<table>
  <tr><th>Year</th><th>Revenue</th><th>EBITDA</th></tr>
  <tr><td>2025</td><td>$12.4M</td><td>$3.1M</td></tr>
</table>
```

Many production workflows combine these steps: **Tables** preserves complex financial schedules,
**Charts** reconstructs plotted data, and **Schema** extracts summary fields.

### Split or Page Range?

Use a **page range** when you already know where the content lives, such as `1-5` for a cover memo.

Use **Split** when the location changes across documents or when topics are semantic rather than fixed by page number. Split assigns pages to named topics and returns a `split_id` you can reuse with Schema, Tables, or Charts.

### Inline Config or Saved Preset?

Use inline config while you are experimenting. Use saved presets once a workflow is stable:

* Extract presets store settings like page range, figures, chunking, and spreadsheet options.
* Split presets store topic names and descriptions.
* Schema presets store JSON Schema and prompts.
* Table presets store merge and chart-to-table settings.

Saved presets keep production code smaller and make changes easier to roll out.

## Recommended Path

1. Start in the [Platform Quickstart](/current/platform-quickstart) with one representative document.
2. Use this picker to choose your next step.
3. Save presets only after output quality looks right.
4. Use [Show Code](/current/platform-reference/platform-to-production) to move into the API.
5. Use [Chaining Steps](/current/concepts/chaining) to understand how IDs connect each step.

<Note>
  You can always rerun Schema, Split, Tables, or Charts from a saved extraction. You usually do not need to upload and extract the document again while iterating on downstream steps.
</Note>
