An aggregatorYou can use a table aggregator to create a table from multiple bundles. The table aggregator merges values based on your specified column and row parameters and outputs into a single bundle. One possible use is compiling blog posts or emails into a single email summary. More is a type of module designed to merge several bundles of data into a single bundleA bundle is a chunk of data and the basic unit for use with modules. A bundle consists of items, similar to how a bag may contain separate, individual items. More.
When an aggregatorAn aggregator is a type of module that allows you to merge multiple bundles into one single bundle. Aggregators are useful in making data readable for certain modules or generating meaningful output. Boost.space Integrator offers:
Array aggregator
Numerical aggregator
Table aggregator
Text aggregator
is executed, it:
-
accumulates all the bundles it receives (during a single source module’s operationAn operation is a task performed by module. More)
-
outputs a single bundle with an arrayWithin a bundle, data items of the same type are sometimes in an array. You can find an array by looking at the details of a bundle. Depending on the details of your scenario, you can map other modules to a specific item in an array or use iterators and aggregators to manipulate your data into other formats. When mapping,... More containing one itemItems are rows in records (order/request/invoice/purchase...) per each accumulated bundle. The content of the array’s itemsItems are rows in records (order/request/invoice/purchase...) depends on particular aggregator moduleThe module is an application or tool within the Boost.space system. The entire system is built on this concept of modularity. (module - Contacts) More and its setup.
A typical example of an aggregator module is the Array aggregator module. Aggregators usually feature the following fields:
Source Module |
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. |
Group by |
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. |
Note | |
---|---|
Bundles outputted from the source module and any other modulesThe module is an application or tool within the Boost.space system. The entire system is built on this concept of modularity. (module - Contacts) More between the source module and the aggregator module are not outputted by the aggregator and thus items in these bundles are not accessible by the modules in the flow after the aggregator. |
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 aggregatorWhen designing a scenario, use an array aggregator to merge multiple bundles into one single bundle. This may be necessary to format data properly for subsequent modules. The array aggregator also lets you define your target data structure. module.
The scenarioA specific connection between applications in which data can be transferred. Two types of scenarios: active/inactive. More below shows how to:
-
Watch a mailbox for incoming emails: Email > Watch emails triggerEvery scenario has a trigger, an event that starts your scenario. A scenario must have a trigger. There can only be one trigger for each scenario. When you create a new scenario, the first module you choose is your trigger for that scenario. Create a trigger by clicking on the empty module of a newly created scenario or moving the... will output a bundle with item
Attachments[]
, which is an array containing all the email’s attachments. -
Iterate the email’s attachments: Email > Iterate attachments iteratorWhen creating a scenario, use an iterator to divide one bundle into smaller separate bundles. Subsequent modules then process the bundles separately. One common use is when automatically uploading email attachments to a cloud drive. You can find iterators under the Flow control of the tools section. More takes the items from the
Attachments[]
array one by one and sends them further as separate bundles. -
Aggregate the bundles outputted by the Email > Iterate attachments module: Archive > Create an archive aggregator accumulates all the bundles it receives and outputs a single bundle containing the ZIP file
-
Upload the resulting ZIP file to Dropbox: Dropbox > Upload a file obtains the ZIP file from the Archive > Create an archive module and uploads it to Dropbox.
Below is a sample setup of the Archive > Create an archive aggregator: