File Input Node
Overview
Section titled “Overview”File Input loads data into a workflow run from a file upload or from pasted plaintext.
- Supports CSV, JSON, XML, Excel (
.xls/.xlsx), and other formats with configurable import settings (delimiter, encoding, headers) - PDF and document text extraction modes on the engine
- Paste mode for email or other plaintext: one row with a
bodycolumn
Canvas tile
Section titled “Canvas tile”On the workflow canvas, File Input is a square icon-led tile. Empty tiles show the file-type icon and the File Input title; hover reveals Choose source. Loaded tiles show the icon plus an editable title, with filename and row/column stats on hover. When the file is a workbook with more than one sheet, hover also shows the sheet count. Change source and Clear live on the selection toolbar (not as a permanent row on the tile). See Workflow orchestration (Square canvas tiles).
Source modes
Section titled “Source modes”You choose a source on the canvas tile (Choose source) or in the node editor (File | Paste). The modes are mutually exclusive: switching clears the other source so a single clear owner feeds _input.
| Mode | What you provide | How the engine builds _input |
|---|---|---|
| File | Upload (CSV, JSON, XML, Excel, PDF, and supported types) | Existing parse / Docling paths |
| Paste | Full email or plaintext | Text blob (pasted-email.txt by default) → one row { body } |
Paste mode stores the body as run data (engine file + inputFileRefs). Node config holds sourceMode only; you do not persist the pasted body in the workflow template.
Paste row shape
Section titled “Paste row shape”When sourceMode is paste, preload emits one row:
body: full pasted text (including any email headers)
Extract From, Sent, Subject, and body-specific fields in a downstream Template node (string operations on row.body).
File-mode .txt uploads stay on the generic text/CSV path. Use Paste when you want the email body row schema.
Excel dates
Section titled “Excel dates”When you upload an Excel workbook, date-formatted cells import as ISO dates (YYYY-MM-DD, or YYYY-MM-DDTHH:mm:ss when the cell includes a time). Numeric cells that are not dates stay numbers.
Excel workbooks with several sheets
Section titled “Excel workbooks with several sheets”A single-sheet workbook still loads as tabular rows (one row per spreadsheet row).
When the workbook has two or more populated sheets, File Input emits one output row keyed by sheet name. Each value is { _sheetName, _sheetData }, and _sheetData keeps that sheet’s own columns. Create input from schema can then type each sheet separately instead of merging every sheet into one array schema.
On a Schema node, wire the item port under _sheetData (the {} row, path ending in .0) to get that sheet as a table (one row per spreadsheet row, columns such as Col A and Col B). The _sheetData field port itself stays one cell containing the nested array.
The File Input Data tab (and the output port grid) shows sheet tabs named as they are in the workbook. Switching a tab shows that sheet’s table. Cell edits stay off for this preview because the stored payload is one nested workbook row. File Info lists each sheet with its row and column counts.
Empty sheets are skipped. Re-upload workbooks that you ingested before this shape existed.
XML records
Section titled “XML records”When you upload .xml, File Input parses the document into structured rows (not one row per line). Repeating sibling elements become one row each with dotted nested paths. Invalid XML is rejected. See Supported formats (XML parsing). Re-upload files that were ingested before this parse path existed.
Downstream extract
Section titled “Downstream extract”Wire a Template node in entry mode and emit a JSON object string so output columns are flat (same pattern as PDF text extract). The Template node owns headers and body fields via string splits on row.body. Place a Schema node after Template so the typed columns show clearly on the canvas (Paste → extract → typed shape).
Paste an email into File Input, then ask the agent to analyse it and extract structured data. You do not need to mention Template or Schema; the email-structured-data-extract skill builds Paste → Template → Schema by default from the corpus (structured digital+hedge tickets and freeform strike/price/punched notes). Explore ships Template-only visual references (email-paste-hsbc-digital, email-paste-strike-note) plus a dual-path reference (email-paste-dual-path): one Operation SWITCH (step output ports) sends recognised confirmations through Template and routes everything else to an AI exception node.
Scheduled runs
Section titled “Scheduled runs”Cron triggers currently fire with empty inputFileRefs, so File Input (upload or paste) does not preload on a pure cron path. Manual and agent-inherited runs that attach refs remain the supported path for paste.
Related
Section titled “Related”- Workflow schema – Full schema reference