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

# Foundry overview

> Turn raw data into knowledge your agents can use. A visual pipeline for ingest, clean, chunk, enrich, and index.

**Foundry** is Nora's data pipeline surface. Agents are only as good as the knowledge behind them — Foundry is where you build that knowledge.

Every Foundry pipeline follows the same six-stage shape:

```
Trigger → Source → Clean → Normalize → Enrich → Output
```

You compose each stage from blocks, wire them, and publish. The pipeline runs on a schedule, on demand, or in reaction to an upstream event.

## When to reach for Foundry

* You have a folder of PDFs, spreadsheets, or web pages and you want your Agent to answer from them.
* You have a Notion, Google Drive, or Slack workspace and you want it kept in sync.
* You have raw database rows and you want them re-shaped, tagged, and indexed.
* You want to strip PII, normalize schemas, or add embeddings before storing.

## The six stages

| Stage         | Purpose                                                       |
| ------------- | ------------------------------------------------------------- |
| **Trigger**   | Kicks off a run. Manual, scheduled, watch-folder, or webhook. |
| **Source**    | Pulls raw items from the outside world.                       |
| **Clean**     | Removes noise, redacts PII, deduplicates.                     |
| **Normalize** | Chunks, parses, and reshapes into a consistent format.        |
| **Enrich**    | Adds embeddings, tags, entity extractions, language labels.   |
| **Output**    | Persists into a vector index, document store, or graph.       |

Skip any stage that doesn't apply. The wiring is checked at publish so you can't have Enrich without Normalize.

## Pipelines vs. Flows

A **Flow** runs an Agent. A **Foundry pipeline** prepares data for Agents to use.

You don't build agent behavior in Foundry. You don't build data ingest in a Flow. The separation keeps each surface focused on one job.

## Publishing a pipeline

Same model as Flows: **Draft** and **Published**. Publishing freezes a version, and scheduled runs use the frozen version. Rollback works the same way.

## Where to go next

<CardGroup cols={2}>
  <Card title="Triggers" icon="bolt" href="/build/foundry/triggers">
    How pipelines start — cron, watch, webhook, manual.
  </Card>

  <Card title="Connectors" icon="plug" href="/build/foundry/connectors">
    Google Drive, Notion, Slack, S3, databases.
  </Card>

  <Card title="Chunk & parse" icon="scissors" href="/build/foundry/chunk">
    Break documents into retrievable pieces.
  </Card>

  <Card title="Run logs" icon="clock-rotate-left" href="/build/foundry/logs">
    Inspect a run — stage-by-stage.
  </Card>
</CardGroup>
