SFTP Read
Read a file from an SFTP server with optional CSV / TSV / JSON / JSON Lines / XML parsing.
Requires an SFTP connection.
Configuration
| Field | Description | Notes |
|---|---|---|
| SFTP Connection | The SFTP connection to use | Required. Select from your configured SFTP connections. |
| File Path | Path to the file on the SFTP server | Required. Supports templates. Example: /exports/report.csv |
| Parse Format | How to parse the downloaded body | raw (default), json, jsonl, csv, tsv, or xml |
Input
The node accepts an optional file_path input. If the File Path field is left empty, the node extracts a path from upstream data (looking for file_path, path, or file fields).
Output
Returns {path, filename, size, content_type, modified_at, parse_format, content} where:
| Field | Description |
|---|---|
path | The full path that was read |
filename | The filename portion of path |
size | File size in bytes |
content_type | MIME type (best-effort; may be empty for SFTP) |
modified_at | Last-modified timestamp |
parse_format | Echoes the parse_format setting |
content | Parsed body — string for raw, []map[string]any for csv/tsv/jsonl, map/[]any for json/xml |
Streaming
Per-item fan-out: when wired downstream of an SFTP List Files node, SFTP Read processes one file per upstream item using {{ item.path }} (or whatever template you set for File Path).
TIP
The multi-file selection (single / multiple / latest with pattern matching) and built-in gzip decompression that earlier versions of this node supported have been removed. If you need to read several files, do SFTP List Files + SFTP Read with per-item fan-out. For compressed bodies, run the bytes through a downstream gzip-decode step.