> ## 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 pipelines, the named workflow for document processing in Ingestly.

A **pipeline** is the named workflow you configure to ingest documents. Each pipeline 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 pipeline?

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

## Properties

| Property          | Description                                                                                                                                                                                                                    |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Name**          | A descriptive name for the pipeline                                                                                                                                                                                            |
| **Description**   | An optional description explaining the pipeline's purpose                                                                                                                                                                      |
| **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)                                                                                                                                                               |
| **Status**        | Active or Paused. Only active pipelines accept new documents and trigger runs                                                                                                                                                  |
| **Environment**   | Development or Production. New pipelines are created in the environment selected in the app header. You can copy the saved graph to a linked pipeline in the other environment. See [pipeline environments](/pipelines/stages) |

## Structure

The pipeline 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 pipeline, 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 pipeline 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 pipeline at any time to stop processing without deleting it.

## Versioning

When you save changes to a pipeline, a new version is created. In-flight runs continue using the version that was current when the run started. New runs use the latest saved version. You can restore an earlier version from the [pipeline editor](/pipelines/editor) version history, which appends a new "Restored" version so the restore itself is reversible.

## Relationships

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

## Visual editor

You build and edit pipelines using the visual pipeline 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="Pipeline editor" icon="diagram-project" href="/pipelines/editor">
  Learn how to use the visual pipeline editor
</Card>

## Node types

Pipelines support three categories of nodes:

* **Triggers:** define how documents enter the pipeline (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 pipelines

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

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

  <Card title="Pipeline editor" icon="diagram-project" href="/pipelines/editor">
    Build and configure a pipeline in the visual editor
  </Card>
</CardGroup>
