Aggregator is a type of module designed to merge several bundles of data into a single bundle.
When an aggregator is executed, it:
A typical example of an aggregator module is the Array aggregator module. Aggregators usually feature the following fields:
The module from which the bundle aggregation will start. The source module is usually an iterator or a search module that outputs a series of bundles. Once you setup the aggregator's Source Module (and close the aggregator's setup), the route between the source module and the aggregator will be wrapped in a grey area to visualize the start and the end of the aggregation.
The aggregator's output can be split into several groups with the help of the Group by field. The Group by field can contain a formula that is evaluated for each aggregator's input bundle. The aggregator then outputs one bundle per each distinct formula's value. Each bundle contains two items:
|Stop processing after an empty aggregation||
By default, the aggregator outputs the result of the aggregation even in case no bundles reached the aggregator (e.g. because they have been all filtered out on their way). If the Stop processing after an empty aggregation option is enabled, the aggregator will not produce any output bundle in this case and the flow will stop.
If you need to access items from bundles outputted from the source module and any other modules between the source module and the aggregator module, make sure to include them in the aggregator's setup, e.g. in the Aggregated fields field in the setup of the Array aggregator module.
Use Case: Zipping all email attachments and uploading the ZIP to Dropbox
The scenario below shows how to:
Attachments, which is an array containing all the email's attachments.
Attachmentsarray one by one and sends them further as separate bundles.