Input · Folders and loops

Directory

Lists the files in a folder, one row per file, instead of reading their rows. Wire it into a loop to process every file in turn.

Also known as: Batch of files, dynamic input

How it works

Add a folder from Add data source → Folder and drop it on the canvas; the node lists the files under it rather than reading them. File glob selects which files become rows; the default **/*.{csv,tsv,parquet,...} matches every format a loop can read, recursively. .json and .txt are left out on purpose, since folders often carry sidecar manifests and notes; add json to the glob when the folder holds JSON data. Each row has path, name, ext, size and mtime. Wire the node into a Loop's items port, and the Current item inside the loop reads each file.

Inputs and outputs

Inputs

None — this node starts a workflow.

Outputs

  • data — Table

Settings

The Attributes panel of Directory, as in the app: the controls work, but nothing runs — there is no data behind it.

Example

A folder of monthly exports with a README.txt beside them. File glob **/*.csv lists only the exports:

pathnameext
/data/exports/2026-01.csv2026-01.csv.csv
/data/exports/2026-02.csv2026-02.csv.csv