Skip to main content

Workflows Overview

A workflow defines the processing pipeline for a project: which activities run, in what order, and how they are configured. Every transaction in the project is processed by walking its workflow from the first activity to the last.

You design workflows visually in Project Settings → Workflow, where each activity is a node on a canvas. You can enable or disable nodes, reorder them, configure each one, and add branching.

The processing pipeline

A typical document pipeline looks like this:

Import → OCR → Split → Classify → Extract → Validate → Review → Export

Each step consumes the output of the previous one:

StageWhat it produces
ImportNormalized page images from the uploaded files
OCRMachine-readable text (and optional barcodes) per page
SplitPage ranges grouped into documents
ClassifyA document class (type) for each document
ExtractStructured field values for each document
ValidateBusiness-rule results (warnings and errors)
ReviewA human decision (accept, reject, or redirect)
ExportOutput files (PDF, JSON, and more)

Not every project needs every stage. If your documents are already single-page and pre-classified, you can disable Split and Classify and go straight to Extract.

Activity categories

Activities fall into three groups:

  • Processing activities do the document work: Import, OCR, Split, Classify, Extract, Validate, Review, Export, Notification.
  • Transform activities reshape data programmatically: Data Transform runs your own JavaScript over the whole transaction.
  • Control-flow activities change the path through the workflow: If, Switch, and For Each Document.

See the Activities section for one article per activity.

Enabling and disabling activities

Toggle any activity on or off from its node. A disabled node is skipped at runtime but stays on the canvas, so you can turn it back on without rebuilding it. This is the quickest way to trim a pipeline for a project that does not need a given stage.

Branching

Workflows are not limited to a straight line. Use control-flow activities to route transactions:

  • If Condition sends the transaction down a true or false branch based on a condition.
  • Switch routes to one of several named branches based on a value.
  • Review can expose accept, reject, and custom send-to exits that jump to other steps.

Branches let you, for example, send high-value invoices to human review while auto-approving the rest.

Settings inheritance

Activity configuration follows an inheritance chain:

Project defaults → Workflow activity config → Per-transaction overrides

Set sensible defaults at the project level, tune them on the activity node, and override per transaction only when a specific document needs it.

How the engine runs a workflow

The workflow engine:

  1. Picks up transactions from the Redis queue.
  2. Runs each enabled activity in order, following any branches.
  3. Tracks status and duration per activity.
  4. Retries transient failures (for example, a temporary model rate limit).
  5. Reports completion, or stops on a terminal failure.

Monitoring progress

Open a transaction to watch its workflow. Each activity shows its status (pending, running, completed, or failed), its duration, and any error detail if it stopped. See Troubleshooting when a step fails.

Next steps