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

# Introduction

> Understand workflows, the named processes for document ingestion in Ingestly.

A **workflow** is the named process you configure to ingest documents. Each workflow holds its configuration (a visual graph of nodes and edges), the documents you submit to it, and a history of processing runs.

## What is a workflow?

Think of a workflow as a named process for handling a specific type of document. For example, you might create separate workflows for "Invoice Processing", "Receipt Scanning", or "Contract Analysis". You configure the workflow once in the [workflow editor](/workflows/editor), then send documents to it through any of its triggers.

## Properties

| Property              | Description                                                                                                                                                                                                                    |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Name**              | A descriptive name for the workflow                                                                                                                                                                                            |
| **Description**       | An optional description explaining the workflow's purpose. A [Classify](/nodes/classify) node in By example mode does not read it: it matches pages against the sample documents of its own examples                           |
| **Email address**     | An auto-generated email address for receiving documents via email (used with the email trigger)                                                                                                                                |
| **Retention**         | How long processed documents and run data are retained (in days)                                                                                                                                                               |
| **Strict references** | Whether a reference that does not resolve fails the step or renders as an empty string. On by default for new workflows. See [strict references](/guides/expressions#strict-references)                                        |
| **Status**            | Active or Paused. Only active workflows accept new documents and trigger runs                                                                                                                                                  |
| **Environment**       | Development or Production. New workflows are created in the environment selected in the app header. You can copy the saved graph to a linked workflow in the other environment. See [workflow environments](/workflows/stages) |

## Structure

The workflow configuration is a directed acyclic graph (DAG) made up of:

* **Nodes:** individual processing steps (triggers, actions, outputs)
* **Edges:** connections between nodes that define the flow of data

Data flows from trigger nodes through action nodes and out through output nodes. The graph must be acyclic. You cannot create loops.

## Validation rules

Before you can activate a workflow, its configuration must pass validation:

* At least one **trigger** node is required
* All nodes must be **connected:** no orphaned nodes
* The graph must be **acyclic:** no circular dependencies
* Each node must have valid **configuration** (required fields filled in)
* Edges must connect compatible node types (for example, a trigger cannot connect directly to another trigger)

## Activation

A workflow must be **activated** before it can process documents. Activation requires a valid configuration: at least one trigger, all nodes connected, and validation passing.

You can deactivate a workflow at any time to stop processing without deleting it.

## Versioning

Every save creates a new version. A run always executes the version that was current when it started, for its entire lifetime, including across pauses for review, a Wait, or a breakpoint. New runs use the latest saved version. You can restore an earlier version, or compare any two, from the [workflow editor](/workflows/editor) version history. See [Versions](/workflows/versions) for the full history model, retention, and how to run your latest changes against a paused run.

## Relationships

* A workflow has **many documents** (uploaded files)
* A workflow has **many runs** (one per document submitted)
* Documents submitted to a workflow trigger runs based on its configuration

## Visual editor

You build and edit workflows using the visual workflow editor. The editor provides a drag-and-drop canvas where you add nodes, connect them with edges, and configure each node's properties.

<Card title="Workflow editor" icon="diagram-project" href="/workflows/editor">
  Learn how to use the visual workflow editor
</Card>

## Node types

Workflows support three categories of nodes:

* **Triggers:** define how documents enter the workflow (upload, email, HTTP)
* **Actions:** process documents (extract, parse, merge, review, filter, split)
* **Outputs:** deliver results (callback, email, forward)

<Card title="Node types reference" icon="shapes" href="/nodes/introduction">
  See all available node types and their configuration
</Card>

## Managing workflows

You manage workflows from the [Workflows page](/workflows/managing). You can create, edit, activate, deactivate, and delete workflows.

<CardGroup cols={2}>
  <Card title="Workflows page" icon="browser" href="/workflows/managing">
    Learn how to manage workflows
  </Card>

  <Card title="Workflow editor" icon="diagram-project" href="/workflows/editor">
    Build and configure a workflow in the visual editor
  </Card>
</CardGroup>
