> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.instabase.com/flow/step-config-reference/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.instabase.com/_mcp/server. # Flow steps > Combine flow steps to create your document processing pipeline. Enterprise Single-tenant Combine flow steps to create your document processing pipeline. Most steps link to a module, a folder containing the artifacts which support the step's actions, such as schema files, validations files, custom function files (also called user-defined functions, or UDFs), and refiner programs. > **Note** > > Importing a module into a flow copies the module code into that flow, so any future edits you make to the original module aren't reflected. Importing is useful for reuse, but doesn't support syncing. ## Map steps Use map steps to define processing steps in your pipeline. | Step | Purpose | Linked module | | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | | [Agent classifier](/flow/step-config-reference/agent-classifier) | Classifies documents into predefined classes using LLMs. The platform handles the LLM call and grounds the result in the document content. This step is recommended for most classification needs. | Agent classifier, linked to a classification schema JSON file | | [Agent extract](/flow/step-config-reference/agent-extraction) | Extracts structured data from documents using LLMs. The platform handles the LLM call and ensures extracted values are grounded in the source document. This step is recommended for most extraction needs. | Agent extract, linked to an extraction schema JSON file. | | [Apply checkpoint](/flow/step-config-reference/apply-checkpoint) | Evaluates extracted and refined data against validation rules. Files failing validation are routed to human review. Multiple checkpoints can be used in a single flow for staged review. | Checkpoint, linked to a [validations](/flow/step-config-reference/creating-validation-checkpoints) configuration. | | [Apply classifier](/flow/step-config-reference/apply-classifier) | Runs rule-based split classification using a custom Python classifier. Use for code-driven, deterministic class assignments, rule-based routing, or cases where external context is needed before classification. | Classifier, linked to a classifier file. | | [Apply refiner](/flow/step-config-reference/apply-refiner) | Post-processes extracted data using refiner logic. Used to clean, transform, standardize, and enrich output before it reaches validation or downstream systems. | Refiner | | [Map records](/flow/step-config-reference/map-records) | Specify how multipage documents are parsed into separate records. | | | [Map UDF](/flow/step-config-reference/apply-udf) | Applies a UDF to each record individually. Used for per-document transformations, lookups, or custom processing logic. | UDF | | [Process case](/flow/step-config-reference/process-case) | Run a case program against a packet of input files for [packet processing](/flow/guides/packet-processing-flows), also called case management, and populate cross-class fields using a refiner program. | refiner | | [Process files](/flow/step-config-reference/process-files) | Digitizes input documents using OCR. This is typically the first step in any flow, converting raw files (PDF, TIFF, images) into machine-readable text that downstream steps can process. | Reader | > **Note** > > The following steps generally aren't required when developing new flows and advanced apps. They remain available in the UI to support existing apps. > > * Apply redactor to refined fields > * Doc gen > * Run extraction model > * Unified extractor ## Filter step The filter step lets you filter results based on defined parameters. ## Reduce steps Use reduce steps to combine streams in your pipeline, reducing the output. | Step | Purpose | Linked module | | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | | Combine | Combine branches into a single flow output. | | | Reduce UDF | Applies a UDF across all records in a batch. Used for aggregations, cross-document comparisons, or batch-level output generation. See [Custom functions in flow](/flow/custom-functions/custom-functions-flow/) for details. | UDF | > Combine flow steps to create your document processing pipeline. ## Docs - [Process files](https://docs.instabase.com/flow/step-config-reference/process-files.md): Digitize documents. - [Map records](https://docs.instabase.com/flow/step-config-reference/map-records.md): Specify how multipage documents are parsed. - [Agent classifier](https://docs.instabase.com/flow/step-config-reference/agent-classifier.md): Classify records using a large language model (LLM) and your classification schema. - [Apply classifier](https://docs.instabase.com/flow/step-config-reference/apply-classifier.md): Classify records using rule-based, code-driven split classification. - [Apply checkpoint](https://docs.instabase.com/flow/step-config-reference/apply-checkpoint.md): Verify details identified in a previous step according to validation formulas, and trigger a review for failed validations. - [Creating validation checkpoints](https://docs.instabase.com/flow/step-config-reference/creating-validation-checkpoints.md): Configure validations and link them to checkpoint modules in your flow so extracted data is checked before downstream use. - [Agent extract](https://docs.instabase.com/flow/step-config-reference/agent-extraction.md): Extract structured fields using a large language model (LLM) and your extraction schema. - [Apply refiner](https://docs.instabase.com/flow/step-config-reference/apply-refiner.md): Reformat extracted data according to your specifications. - [Creating refiner programs](https://docs.instabase.com/flow/step-config-reference/creating-refiner-programs.md): Use refiner to build extractions, connect refiner programs to a flow, and work with text, layout, and structure in a document. - [Process case](https://docs.instabase.com/flow/step-config-reference/process-case.md): Configure the Process case step, kwargs, and the packet refiner program for cross-class fields.