Skip to main content
Pipelines are the Foundry surface: ingest, clean, chunk, enrich, index. The CLI mirrors the visual canvas — every node, every edge, every scheduled run is scriptable. The pipeline lifecycle is the biggest CLI surface after flows — plan on flows use for your Flow and separately reference pipelines by their IDs.

Command groups

  • CRUD: pipelines list/get/create/update/delete
  • Nodes: pipelines nodes add/list/update/remove
  • Edges: pipelines edges connect/list/update/delete
  • Schedule: pipelines schedule set/clear
  • Runs: pipelines dry-run, pipelines run file/document/folder
  • Blocks: pipelines blocks test/ingest-local
  • Publish: pipelines publish/rollback, pipelines publications list/live
  • Logs: pipelines logs list/get
  • Bulk: pipelines sync
  • Cloud ingest: pipelines ingest-cloud

Pipeline CRUD

List / get

list gives one row per pipeline. get prints full metadata plus nodes and edges.

Create

Flags:
  • --name (required) — display name.
  • --stages (required) — comma list of stage names in order.
  • --id <id> — optional explicit ID; otherwise server mints.
  • --vector-store pgvector|qdrant — index backend for the output stage.

Update

  • --set-name <n>, --set-stages <s,…>, --set-vector-store <backend>.

Delete

Nodes and edges cascade. Live pipeline versions remain reachable by ID for a grace period.

Nodes

Nodes are the individual blocks in the pipeline canvas — each palette entry (src_local, chunk_markdown, embed_openai, etc.) becomes a node instance.

List

Prints all nodes as JSON.

Add

Flags:
  • --palette-id (required) — the palette entry ID.
  • --stage (required) — which pipeline stage.
  • --title, --icon, --tone (required) — display.
  • --order (required) — visual order within the stage.
  • --id <id> — explicit ID; server mints if omitted.
  • --sublabel <text> — small caption under title.
  • --config <json> — block-specific config.
  • --notes <text> — free-text notes.
  • --output-ports <json> — override the palette’s default output ports.

Update

--set-* flags: --set-title, --set-sublabel, --clear-sublabel, --set-stage, --set-order, --set-config, --set-notes, --clear-notes, --set-output-ports.

Remove

Edges

List / connect / update / delete

Flags on connect: --from-node-id, --to-node-id (required), --id <id>, --from-port <port>, --label <text>.

Schedule

Set

  • --cron <expr> — 5-field cron.
  • --tz <IANA> — timezone.
  • --target <tag> — the folder tag to process on each run.
  • --sample <n> — cap items per scheduled run.
Only flags passed change. Omit --cron to keep the current one, e.g. change only the target.

Clear

Wipes all schedule fields — pipeline becomes manual-only.

Running a pipeline

Dry-run against inline text

Runs the pipeline end-to-end against the given text without persisting output. Prints results per stage.

Run against a file

Multipart-uploads the file and runs the pipeline.

Run against a stored document

Runs against a document already in the library.

Run against a folder

Runs against every document tagged billing (up to --max-documents).

Single-block testing

Test one palette block in isolation — no pipeline required. Useful when iterating on chunker or enricher config. For src_local nodes on a running pipeline:
Kicks off a local-filesystem scan.

Publishing pipelines

Pipelines version and publish like Flows.

Publish

Freezes DRAFT into a live version. Scheduled runs and downstream consumers use the live version.

Rollback

Flips the live pointer to version seq=5.

Publications

list shows history. live fetches the currently-live payload.

Logs

List runs

Filters:
  • --status ok|error
  • --search <text> — full-text over log payloads.
  • --since <ISO> / --until <ISO>
  • --run-kind <kind> — filter by which entry point.
  • --limit <n> — max rows.
  • --json — machine-readable.

Get one

Full per-stage detail for one run.

Bulk sync

Replaces the pipeline’s name, stages, nodes, and edges from a JSON file. Idempotent — safe to run in CI on every deploy.

Cloud ingest

Kicks off a manual bulk ingest for a src_cloud node (Google Drive, S3, etc.). Otherwise these run only on the schedule.

Recipes

Bootstrap a minimal pipeline in one script

CI: sync pipeline from git

Get the most recent errored run

Turn off a schedule for maintenance