Skip to main content
The Output stage is where cleaned, chunked, enriched data becomes retrievable knowledge. Every pipeline must have at least one Output block.

Output block types

Document store

Writes chunks into a Nora document collection. This is the default target for most pipelines. Configure:
  • Collection name — new or existing.
  • Write mode — see below.
  • Retention — how long chunks stay after their source is deleted (default: 90 days as tombstones, then removed).
Once written, agents can retrieve from this collection by attaching it as a data source (see Attach data to agents).

Memory space

Writes chunks or summary facts into a memory space. Choose the space type when creating (Wiki, Index, Session, Evolution — see Memory spaces). Common recipe: run a Foundry pipeline over a chat transcript archive, output as a memory space, and attach that space to your support Agent so it can recall prior conversations.

Knowledge graph

Writes extracted entities and relationships as graph nodes and edges. Useful for structured domain data. See Causal graph overview.

External sink

Push results to a system outside Nora:
  • HTTP webhook (POST each chunk).
  • Kafka topic.
  • S3 (as JSONL).
  • Postgres (upsert into a table).
Useful when Nora is producing knowledge consumed by systems you already have.

Write modes

  • Upsert — write new chunks, update chunks whose content hash changed, leave unchanged chunks alone. Default. What you want in 90% of cases.
  • Replace — clear the collection first, then write everything from this run. Use only for full rebuilds.
  • Append — never touch existing chunks, always write new. Rare — use if you want historical versions accessible.

Handling deletes

When a source item disappears, Nora emits a delete event. Output blocks default to marking derived chunks as superseded — retrieval skips them, but they remain queryable for audit. Change to hard-delete in the Output block settings if you need it.

Idempotency

Output writes are idempotent by chunk content hash. Re-running a pipeline against the same source produces the same store state. This lets you rerun freely without duplication.

Transactions

An Output block’s writes are committed atomically per source item: either all chunks from a given source land, or none do (with the run marked as failed for that item). This prevents partial ingest from leaving your Agents with half-consistent state.

Split outputs

You can wire multiple Output blocks in parallel — e.g., write to a general document collection and a specialized memory space. Each Output has its own filter — put a filter step upstream if you want different subsets going to different destinations.

Verifying the write

The Run logs page shows per-Output stats: items written, items updated, items skipped as unchanged, items superseded, bytes stored.