|
/ Documentation /Core Features/ Using Data Aggregator App in OttoKit

Using Data Aggregator App in OttoKit

Table of Contents

What Is Data Aggregator?

Data Aggregator is a built-in app inside OttoKit, so no external account or connection is required. It lets you combine and summarize a list of items; think of it like a spreadsheet full of rows, where you can total values, calculate averages, count items, or group them together without writing any code. It can work with data collected from Loop steps, API actions, Tables, and other workflow steps.

This guide walks through the complete workflow-builder experience for both Data Aggregator actions, Aggregate Items and Summarize Data, with annotated screenshots captured live on OttoKit, covering every field, mode, and operation. A separate “Use Cases” section is included at the end as an addendum.

Prerequisites

Before adding a Data Aggregator step, make sure you have:

1. An OttoKit workflow

An existing (or new) workflow with at least one trigger. In this guide, a “Trigger Manually” trigger is used purely to test the workflow on demand; in production, you would typically use a real trigger (e.g., a form submission, webhook, or scheduled trigger).

2. A JSON array to work with

Data Aggregator needs a list of items to process. This can be an array mapped from a previous step (a Loop, an API response, a Table query), or a JSON array pasted directly into the field for testing; both are demonstrated below.

How to Add a Data Aggregator Step

1. Click the “+” icon on your workflow canvas

  • Click the “+” between any two steps (or after your trigger) to open the Add Action panel.
data aggregator workflow editor with webhook module

2. Search for “Data Aggregator” and select it

  • Type “Data Aggregator” into the Search apps box and click the Data Aggregator result.
data aggregator workflow builder interface

3. Choose an Action

  • OttoKit shows the two available actions for Data Aggregator, each with its own description:
  • Aggregate Items – “Combines separate items from a JSON array into a single list.”
  • Summarize Data – “Summarizes a JSON array of items using operations such as count, sum, average, min, max, concatenate, and group by.”
data aggregator configuration interface

4. (For testing) Configure your trigger

If you’re building a demo workflow like this one, the “Trigger Manually” trigger just needs a placeholder field/value pair; it isn’t used by Data Aggregator itself, but OttoKit requires the trigger step to be configured before you can test downstream actions.

Action 1: Aggregate Items

Use Aggregate Items when you want to pull one field out of every item and turn it into a single array, for example, pulling the customer names and emails out of a batch of new WooCommerce orders so you can send a bulk shipping update, or when you simply want to combine every item, unchanged, into one list (e.g., merging several pages of a WooCommerce orders API response before sending them onward).

Fields

Items to Aggregate (JSON Array) (required)

Map the array from a previous step (e.g., a Loop or API step), or paste a JSON array directly.

Aggregate Mode (required)

Choose Aggregate Individual Fields (pick specific fields) or Aggregate All Item Data (keep items exactly as they are).

Fields to Aggregate (only shown in “Individual Fields” mode)

Add one row per field you want to collect:

  • Field to Aggregate – the field name to pull from each item. Supports dot notation for nested fields, e.g., user.email.
  • Output Field Name (optional) – what to call the resulting array. Leave blank to reuse the field name.
data aggregator configuration interface (1)

Mode A – Aggregate All Item Data

This mode keeps every item exactly as it is and simply combines them into a single list – useful for merging several pages of a WooCommerce orders API response, or several Loop outputs, before sending them onward to a Table or a Slack digest.

Sample input used in this test; think of these as WooCommerce order line items, alongside a customer satisfaction rating collected on a post-purchase review:

[{"product":"Widget","rating":4,"price":9.99},
 {"product":"Gadget","rating":5,"price":19.5},
 {"product":"Widget","rating":3,"price":9.99}]

With Aggregate Mode set to Aggregate All Item Data, running the test returns the same three items, unchanged, inside a single result array:

data aggregator software workflow interface

Mode B – Aggregate Individual Fields

This mode lets you pick out specific fields and collect each one into its own array, for example, pulling just the product names ordered today out of a batch of WooCommerce orders, so you can post a quick summary to a #daily-orders Slack channel.

In the live test below, the Field to Aggregate is set to product with an Output Field Name of all_products:

data aggregator configuration interface (2)

Running the test collects the product field from every item into its own array (output field name all_products), alongside the field’s original name for reference:

data aggregator interface testing workflow

The same mechanism works for any field. For example, pulling the customer name and email out of a batch of new WooCommerce orders, mapping name to all_names and leaving email’s Output Field Name blank (so it defaults to email), builds two ready-to-use lists for a bulk shipping-update email:

{
  "result": {
    "all_names": ["Rahul", "Priya", "Aman"],
    "email": ["[email protected]", "[email protected]", "[email protected]"]
  }
}

Tip: for nested data such as { “user”: { “email”: “[email protected]” } }, use dot notation – user.email.

Action 2: Summarize Data

Use Summarize Data when you want a calculated result from a list of items, for example, calculating the total value of today’s WooCommerce orders, or the average product rating from a batch of customer reviews, optionally split into groups (e.g. totals per product, per region, or per order status).

Fields

Items to Summarize (JSON Array) (required)

Map the array from a previous step, or paste a JSON array directly.

Fields to Summarize (at least one row required)

  • Field – the field to calculate on. Supports dot notation, e.g. order.total. Can be left blank for the Count operation.
  • Operation – the calculation to run (see below).
  • Separator (Concatenate Only) – the text used to join values. Defaults to “, “.
  • Output Field Name (optional) – defaults to field_operation (e.g. rating_average) if left blank.

Group By (optional)

Add one or more fields to split your items into groups before summarizing. Leave empty to summarize everything together.

data aggregator configuration interface (4)

Available Operations

  • Count – total number of items (no field needed).
  • Count Unique – number of distinct values for the field.
  • Sum – adds up all numeric values for the field.
  • Average – average of all numeric values for the field.
  • Min / Max – smallest / largest numeric value for the field.
  • Concatenate – joins all values for the field into one string, separated by your chosen separator.

Blank or empty values are skipped automatically in every operation except Count.

data aggregator interface with configuration menu

Example – Summarize without Group By

Using the same WooCommerce order line items, summarizing without any Group By produces one overall result for today’s orders: Count → total_items, Average of rating → rating_average (average customer satisfaction), Sum of price → total_price (today’s revenue), and Concatenate of product (separator “, “) → all_products (a quick list ready to post in a Slack summary):

{
  "result": {
    "total_items": 3,
    "rating_average": 4,
    "total_price": 39.48,
    "all_products": "Widget, Gadget, Widget"
  }
}

Example – Summarize with Group By (verified live)

Setting Group By to product instead breaks today’s WooCommerce orders down per product, splitting the three items into two groups (2 items where product = “Widget”, 1 item where product = “Gadget”), and calculating the Average rating and Count separately for each group. This is exactly what you’d want before routing a per-product summary to a Slack channel:

data aggregator workflow testing interface

Without Group By you get one summary object; with it, you get an array, one summary object per group. You can group by more than one field at once (e.g. product + region); a new group is created for every unique combination.

Pair this with a Slack action afterward (e.g. Send Channel Message) to post the per-product summary straight into a Slack channel, no code required.

Completed Workflow

With both actions configured and tested, the workflow canvas shows the full chain: Trigger Manually → Data Aggregator (Aggregate Items) → Data Aggregator (Summarize Data) → End, each step marked with a green check once it has been tested successfully:

data aggregator workflow interface

Good to know: Data Aggregator accepts a JSON array of items (most common), a single JSON object (automatically treated as one item), or an array mapped directly from a previous step. Dot notation works everywhere a field name is needed. If a required field is missing or the input isn’t valid JSON, the action shows a clear error message before running.

Addendum: Use Cases

The examples below show common, real-world ways to combine Data Aggregator’s two actions inside an OttoKit workflow. These are provided as a reference addendum, separate from the step-by-step configuration guide above.

1. Getting total order value from WooCommerce

Collect today’s orders from a WooCommerce webhook (via a Loop step), then use Summarize Data with the Sum operation on price to calculate total revenue in one step.

2. Merging paginated WooCommerce API responses into one list

Use Aggregate Items with Aggregate Mode set to Aggregate All Item Data to combine several pages of a WooCommerce REST API orders response into a single list before sending them to a Table or Google Sheet.

3. Counting WooCommerce customers per country

Use Summarize Data with Group By set to customer.country and the Count operation on your WooCommerce customer list to get the number of customers in each country.

4. Averaging customer feedback ratings for a report

Use Summarize Data with the Average operation on rating from a SureForms customer-feedback form, then send the result in a Slack message or email report.

5. Building a bulk email list for a SureMail campaign

Use Summarize Data’s Concatenate operation on the email field from a batch of WooCommerce orders, with a separator of “, “, to build a single string of addresses ready for a bulk send.

6. Routing sales totals per product to a Slack channel

Use Summarize Data with Group By set to that field (e.g. product), plus Sum, Count, or Average, then route the summary straight to a Slack channel (e.g. #sales-updates) so the team sees new totals as they come in. Exactly as demonstrated in the live Group By test in this guide (Widget: rating_average 3.5, count 2; Gadget: rating_average 5, count 1).

Need Help?

If you run into any issues while setting up the Data Aggregator step, reach out to us at [email protected], and our support team will be happy to help you.

Visit our Support page

Browse the Knowledge Base

Was this doc helpful?
What went wrong?

We don't respond to the article feedback, we use it to improve our support content.

Need help? Contact Support
Scroll to Top