Skip to main content
transform.archive-list reads a ZIP archive and returns a deterministic list of files. Use it to discover paths before Extract Archive File, or to page through a large bundle without unpacking it. ZIP is the only accepted archive format in this version. Directories and junk paths are omitted. Matching entries are sorted by normalized path, then offset / limit paginate that sorted list. total is the match count before paging, so you can loop until you have seen every entry. Point archive at a workflow file input or a previous step that produced a trusted file (including another extract of a nested ZIP). Nested ZIP files stay opaque application/zip files until you list or extract them in a later step.

List, extract, then parse

Typical composition: list the archive, iterate entries, extract one path, then parse the extracted file. The extract output is a file — pass the whole output into Parse, Vision, or another archive step:
The same body works under control.parallel_map (independent iterations, concurrency default 5, max 50). Nested ZIP example: extract nested/packet.zip, then list or search that extract output. control.parallel_map can replace foreach when iterations are independent. See Extract Archive File for per-entry, per-reader, and process-wide concurrent inflation limits. Encrypted ZIP entries are rejected. Nested ZIP files stay application/zip until you extract them and pass {{ steps.extract.output }} into another list, extract, or Search Files step. Git-backed Agents do not run archive steps — they inspect sandbox files with filesystem tools. Hosted vs headless vs on-prem ceilings: Upload files.

Limits

Listing does not inflate file payloads. Extraction limits apply only when a later step reads an entry.

Configuration

Configuration goes inside the step’s with: block.
string
required
Template expression or file reference for the ZIP archive to list. ZIP is the only accepted format in this version.
string
Optional folder prefix inside the archive after path normalization (for example invoices or invoices/).
Optional case-insensitive substring match on the normalized archive path.
integer
Number of matching entries to skip after sorting. Default 0.
integer
Maximum matching entries to return after sorting. Capped at 10000. Omit to return every matching entry up to that cap.

Output

Matching files, sorted by normalized path. Directories and junk paths are omitted.
Number of matching entries before offset/limit pagination.