ÃÛ¶¹ÊÓƵ

Aggregator module in ÃÛ¶¹ÊÓƵ Workfront Fusion

An aggregator module is a type of module designed to merge several bundles of data into a single bundle.

For more information about module types, see Types of modules.

Access requirements

Expand to view access requirements for the functionality in this article.

You must have the following access to use the functionality in this article:

table 0-row-2 1-row-2 2-row-2 3-row-2 layout-auto html-authored no-header
ÃÛ¶¹ÊÓƵ Workfront plan* Pro or higher
ÃÛ¶¹ÊÓƵ Workfront license* Plan, Work
ÃÛ¶¹ÊÓƵ Workfront Fusion license**

Current license requirement: No Workfront Fusion license requirement.

Or

Legacy license requirement: Workfront Fusion for Work Automation and Integration

Product

Current product requirement: If you have the Select or Prime ÃÛ¶¹ÊÓƵ Workfront Plan, your organization must purchase ÃÛ¶¹ÊÓƵ Workfront Fusion as well as ÃÛ¶¹ÊÓƵ Workfront to use functionality described in this article. Workfront Fusion is included in the Ultimate Workfront plan.

Or

Legacy product requirement: Your organization must purchase ÃÛ¶¹ÊÓƵ Workfront Fusion as well as ÃÛ¶¹ÊÓƵ Workfront to use functionality described in this article.

To find out what plan, license type, or access you have, contact your Workfront administrator.

For information on ÃÛ¶¹ÊÓƵ Workfront Fusion licenses, see ÃÛ¶¹ÊÓƵ Workfront Fusion licenses.

Aggregator module overview

When an Aggregator module executes, it does the following:

  • Accumulates all the bundles it receives during a single source module’s operation.
  • Outputs a single bundle with an array containing one item per each accumulated bundle. The content of the array’s items depends on particular Aggregator module and its setup.

The following image shows a typical setup of the Aggregator module :

Source Module

The module where the bundle aggregation starts. The source module is usually an iterator or a search module that outputs a series of bundles.

When you setup the aggregator's source module (and close the aggregator's setup), the route between the source module and the aggregator module are wrapped in a grey area so that you can see clearly the start and the end of the aggregation.

For more information on iterators, see Iterator module in ÃÛ¶¹ÊÓƵ Workfront Fusion

For more information on search modules see search modules in Types of modules.

Target structure type

(Applicable only for the Array aggregator module.) The target structure where the data is aggregated. The default option, Custom, enables you to choose items that should be aggregated into the Array aggregator's output bundle's Array item:

Once you connect more modules after the Array aggregator module and get back to the module's setup, the Target structure type drop-down menu will contain all following modules and their fields that are `Array of Collections` type, as shown in the Attachments field of the Slack >Create a Message module:

Aggregated fields
The fields that you want to include in the aggregator module output.
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:

  • Key contains the distinct value.
  • Array contains the aggregated data from the bundles for which the formula evaluated to the Key value.
Stop processing after an empty aggregation
By default, the Aggregator module outputs the result of the aggregation even in case no bundles reached the Aggregator module (for example, because they have been all filtered out on their way). If the option Stop processing after an empty aggregation is enabled, the Aggregator module will not produce any output bundle in this case and the flow will stop.
NOTE
Bundles generated by modules between the source module and the Aggregator module are not outputted by the Aggregator module, so they are not accessible by the modules in the flow after the Aggregator. If you need any data from a bundle outputted by a module between the source module and the Aggregator module, make sure to include the given item in the Aggregator module’s setup (as in the Aggregated fields field in the setup of the Array aggregator module).

Example scenario of how aggregators work

This example scenario shows how to zip all email attachments and uploading the ZIP to Dropbox.

The scenario below shows how to:

  • The first module watches a mailbox for incoming emails: Email >Watch emails trigger will output a bundle with item Attachments[], which is an array containing all the email’s attachments.

  • The second model iterates the email’s attachments: Email >Iterate attachments iterator takes the items from the Attachments[] array one by one and sends them further as separate bundles.

  • The third module aggregates 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.

  • The last module uploads 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:

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43