> ## 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.

# Build your first pipeline

> Step-by-step guide to building a document processing pipeline in the visual editor.

This guide walks you through building a complete pipeline using the visual pipeline editor, from choosing a trigger to testing the final result.

## Prerequisites

* A Ingestly account with an existing pipeline (see [quickstart](/quickstart))

## Step 1: Open the pipeline editor

Navigate to your pipeline and click the **Pipeline** tab. The visual editor opens with an empty canvas (or your existing configuration if you already started one).

## Step 2: Add a trigger

Every pipeline starts with a trigger. Click **Add node** and select a trigger type:

* **Upload trigger:** for documents uploaded via the UI
* **Email trigger:** for documents received via email
* **Webhook trigger:** for documents submitted via API

For this guide, choose **Upload trigger**.

<Tip>You can have multiple triggers in a single pipeline. For example, you might accept documents via both upload and email.</Tip>

## Step 3: Add an action

Click **Add node** and select **Extract action**. This node uses AI to extract structured data from your documents.

Connect the upload trigger to the extract action by dragging from the trigger's output handle to the action's input handle.

### Configure the schema

Click the extract action node to open its properties panel. Define a schema with the fields you want to extract. See [schema design](/guides/schema-design) for best practices.

### Add instructions (optional)

You can provide natural language instructions to guide the AI extraction. For example: "Extract all line items including tax. Use ISO 8601 format for dates."

## Step 4: Add an output

Click **Add node** and select **Download output**. This makes the run's structured result available to download once processing completes.

Connect the extract action to the download output.

The download output needs no configuration. After a run finishes, you can download its structured result as JSON from the **Runs** page.

## Step 5: Save and validate

Click **Save**. The editor validates your pipeline and highlights any errors. Common issues:

* Missing required configuration on a node
* Disconnected nodes
* Missing trigger

Fix any errors before proceeding.

## Step 6: Activate

Click **Activate** to enable the pipeline. It now accepts documents and processes them through the workflow you configured.

## Step 7: Test

Go to the **Documents** tab and upload a test document. Watch the run progress in real time on the **Runs** page.

Check that:

* The run completes successfully
* The extracted data matches what you expect
* You can download the structured result as JSON from the **Runs** page

## Next steps

<CardGroup cols={2}>
  <Card title="Add human review" icon="user-check" href="/guides/human-review">
    Add a review step to validate extracted data
  </Card>

  <Card title="Conditional routing" icon="split" href="/guides/conditional-routing">
    Route documents through different paths based on content
  </Card>

  <Card title="Schema design" icon="table" href="/guides/schema-design">
    Design effective extraction schemas
  </Card>

  <Card title="Node types" icon="shapes" href="/nodes/introduction">
    Explore all available node types
  </Card>
</CardGroup>
