Skip to content

Extract

Module · Stable

Turn an unstructured source (scanned/digital PDF, image, or free text) into typed fields with per-field confidence, driven by a reusable extraction recipe.

The single, format- and domain-agnostic reader for unstructured documents. A reusable, versioned extraction RECIPE declares the target fields (typed + required), the reader mode, and a confidence policy; the node reads the source — a PDF text-layer-first with a vision fallback, an image via OCR, or free text as-is — then runs one structured LLM pass that returns each field as {value, value_normalized, confidence, source_page, source_excerpt}. Honours the recipe’s confidence policy: a field below the floor is dropped to null (uncheckable but safe — never a confidently-wrong value), and a weak required field sets needs_review so a Branch can route to a person. No document standard is hardcoded — an invoice is just a recipe authored on top. Never raises on an extraction failure; mis-configuration (no source / no recipe) does raise.

Use when a document arrives from an upstream step — an Incoming email attachment, a Document Store output, or an actor upload — and you need its fields (invoice number, total, dates, …) as typed values WITH a confidence you can branch on. Apply the matching extraction recipe by slug; the fields dict and needs_review flag feed naturally into a Branch (confidence gate), an Ask a person review step, Create record, or any send step.

For a STRUCTURED file (Excel / CSV, or an XML/ISDOC e-invoice sidecar) do NOT use an LLM — read it deterministically with Read spreadsheet (or a deterministic reader on a flow branch). For a printed leaflet with MANY price tags per page use Read PDF. For one field on a proposal PDF the Extract Proposal Field tile is more specific. To extract from audio, transcribe first with Speech to Text and run Extract on the transcript.

Configured per use: file_path, ref, text, recipe_key, recipe_version, recipe, fields, mode, model.

  • fields
  • missing
  • needs_review
  • overall_confidence
  • reader
  • recipe_key
  • recipe_version
  • ai_model

Auto-generated from the skill registry (load_skills()). Do not edit by hand.