Skip to main content

Zip

A Zip node combines every file it receives in a run into one ZIP archive and passes on the archive. Use it to package a day's files for one delivery, to send a partner one attachment instead of forty, or to archive a completed batch as a single file.

Zip accepts file items, and it accepts data items by writing each one to a .json file first, so a Transform node's output can be packaged with the files it came from.

Settings

The node takes a required destination path, the path of the archive to write, with the same tokens and templates as every destination. Because every item the node receives is written to one archive, the path must resolve to the same value for every item, so build it from the run's date or a fixed name rather than from a value that differs per file, for example /deliveries/%Y-%m-%d.zip. The overwrite setting is off by default, so an existing archive at the destination fails with processing-failure/destination-exists instead of being replaced.

What the Next Node Receives

Zip passes on one file item, the archive, in place of the items it received. The files it archived are unchanged.

Errors

A file that no longer exists when the node runs fails with a not-found error. Error Handling rules on the node determine what happens to a failed item.

Zip vs. Aggregate

Zip combines the files in a run into one archive and passes on the archive as a file. An Aggregate node combines data items into one data item. Use Zip to deliver many files as one attachment or download. Use Aggregate to build one record or one report from many data items, and follow it with a Transform node with a destination to write that report as a file.