Skip to main content
Nodes are stateless building blocks that transform document data. Each node performs a specific operation and can be chained together in flows.

Available Nodes

Import

All nodes are exported from @doclo/flows:

Basic Usage

Nodes are functions that return configured node objects. Use them with createFlow().step():

Node Types

Provider Nodes

Nodes that require an AI provider to process documents:
  • parse - Requires OCR or VLM provider
  • extract - Requires VLM (for images/PDFs) or LLM (for text)
  • split - Requires VLM provider
  • categorize - Requires VLM provider

Utility Nodes

Nodes that transform data without calling external providers:
  • chunk - Splits DocumentIR into smaller pieces
  • combine - Merges results from parallel operations
  • output - Selects and transforms final output

Common Patterns

Direct VLM Extraction

Fastest path for simple documents:

OCR → LLM Extraction

Most accurate path for text-heavy documents:

Split → Process Each

Handle multi-document PDFs:

Categorize → Route

Route to different schemas:

Consensus Support

Most provider nodes support consensus voting for improved accuracy:
See Consensus Voting for details.

Node Execution

Each node execution produces:
  • Output: The transformed data
  • Metrics: Duration, cost, token usage

Trigger Node

The trigger node executes a child flow from within a parent flow, enabling flow composition and reusable sub-flows.

Basic Usage

Configuration Options

Input Transformation

Transform input before passing to child flow:

Provider Overrides

Override providers for the child flow:

Conditional Flow Routing

Use with conditionals to route to different flows:

Circular Dependency Detection

The trigger node automatically detects circular dependencies and enforces a maximum depth (default: 10 levels).

Next Steps

parse

Document parsing with OCR/VLM

extract

Structured data extraction

Flows

Learn about flow orchestration

Providers

Configure AI providers