> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.instabase.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.instabase.com/_mcp/server.

# Planning and building flows

> Plan and build pipelines with core flow steps, Refiner, classifiers, extractors, and checkpoints.

Enterprise Single-tenant

Plan and assemble a document pipeline on the flow canvas.

## Planning flows

Plan a pipeline with the flow editor's essential building blocks:

* **Process files** -- OCR and image pre-processing.

* **Agent classifier** -- Categorize files with natural language definitions.

* **Filter** -- Route document types down parallel branches.

* **Agent extract** -- Extract tables and fields with the use of LLMs.

* **Combine** -- Merge parallel branches into one output packet.

* **Apply checkpoint** -- Validate fields and hold failures for human review.

User-defined functions (UDFs) extend the canvas for map, reduce, pre-flow, and post-flow logic--covered in [UDFs](/academy/learning-paths/developer/flow-editor/udfs).

## Using Refiner

The *Apply refiner* step maps, formats, and standardizes fields from *Agent extract* into a validated target schema for downstream systems. Place it after extraction, then model and align the schema in the Refiner program.

## Using Agent classifier

Configure an LLM-powered *Agent classifier* on the canvas after OCR:

1. Add the *Agent classifier* step and link a classifier module.

2. Replace defaults with natural language class definitions.

3. Run classification so downstream filters and extractors only process the target documents.

## Using Agent extract

Extract data from unstructured documents with the *Agent extract* step. A common pattern is to first filter, then run *Agent extract*, so extraction logic (for example, passport fields) runs only on correctly classified documents. Define the extraction schema in the extract module with natural language prompts.

## Using checkpoints and validations

This tutorial shows how to use validation rules as a human-in-the-loop gate. It covers configuring type checks, confidence thresholds, conditional branching, comparisons, and custom Python validation, as well as reviewing and correcting flagged fields before resuming the pipeline.

## Related documentation

* [Planning flows](/flow/planning-flows)

* [Flow step reference](/flow/step-config-reference)

* [Common flow patterns](/flow/guides/flow-patterns)