N8N

n8n summarize node

A lot of the time, when we work with workflows in n8n, we need to examine or condense data to make it more useful. The Summarize Node is made for this purpose and lets you group things together in a way that is similar to how pivot tables work in Excel.

 

Before we start, if you are looking for help with a n8n project, we are taking on customers. Head over to our n8n Automation Engineer page.

What is the Summarize Node?

The Summarize Node allows you to perform aggregations on incoming data such as counts, sums, averages, min/max values, and concatenations, grouped by one or more fields.

 

In other words, it’s like creating a pivot table inside your n8n workflow.

 

Example use cases:

  • Counting the number of orders per customer.

  • Summing total sales grouped by region.

  • Getting the highest and lowest values in a dataset.

  • Concatenating tags or comments into one field.

Node Parameters

The Summarize Node is highly configurable. Let’s break down its main options:

 

1. Fields to Summarize

This defines what you want to aggregate. Each field has two parts:

  • Field: The name of the field in your data (e.g., amount, userId).

  • Aggregation Method: How to process it.

Aggregation Methods:

  • Append → Collects values into an array.

    • Option: Include Empty Values.

  • Average → Returns the average of numeric values.

  • Concatenate → Combines values into a single string.

    • Options: Include Empty Values, Separator (comma, space, etc.).

  • Count → Counts the number of items.

  • Count Unique → Counts unique values only.

  • Max → Finds the largest number.

  • Min → Finds the smallest number.

  • Sum → Adds all numeric values together.

 

This is similar to choosing the calculation type in Excel pivot tables.

2. Fields to Split By

This defines how to group the data , like Excel’s “Rows” in a pivot table or SQL’s GROUP BY.

  • Enter one or more field names (comma-separated).

  • Example: If you split by Sales Rep and summarize Deal Amount (Sum), you’ll get each sales rep’s total deal value.

3. Node Options

  • Continue if Field Not Found

    • Default: Off → Node throws an error if the field doesn’t exist.

    • On → Node continues and returns an empty item instead.

  • Disable Dot Notation

    • Default: Off → You can reference nested fields with parent.child.

    • On → Dot notation is ignored, and fields are treated literally.

  • Output Format

    • Each Split in a Separate Item: Returns one item per group.

    • All Splits in a Single Item: Returns one item containing all groups.

  • Ignore items without valid fields to group by

    • On → Skips items missing split-by fields.

    • Off → Includes them, possibly as an “undefined” group.

Example 1

Let us summarize a json output by the categroy. i.e getting total category in a json output.

 

We start by adding the code node to return the following json output.

				
					return [
  { json: { id: 1, category: 'fruit',      item: 'apple'   } },
  { json: { id: 2, category: 'fruit',      item: 'banana'  } },
  { json: { id: 3, category: 'fruit',      item: 'apple'   } },
  { json: { id: 4, category: 'vegetable',  item: 'carrot'  } },
  { json: { id: 5, category: 'vegetable',  item: 'carrot'  } },
  { json: { id: 6, category: 'fruit',      item: 'banana'  } },
  { json: { id: 7, category: 'grain',      item: 'rice'    } },
];
				
			

Next, we add summarize node, and input the following parameters.

Aggregation: count
Field: category
 
 
After executing the flow, 
The summarize node returns the count_categroy, in this case 7
 
 

full flow

Example 2

Next , using the same Json output from the code node, we add a summarize node that does something different.

we set up the summarize node with the following parameters:

Aggregation: Count Unique

Field: Item.

 

We want to get the unique Items in the json data

full flow

Example 3

Here, we are going to summarize and get the min number in a list of numbers.

We start by adding the Edit Field node(set node).

and manually input a list of numbers:

[20, 15, 11, 8, 7]

Next, we add the splitout node.

The n8n Split Out node separates a single data item containing a list (an array) into multiple, individual data items, with each new item containing one element from the original list.

Next, we add the summarize node with the following parameters:

Aggregation: Min

Fields: numbers

 

After excuting the flow, we get the min_numbers = 7

full flow

Example 4

In this example, we are going to find the max number.

Simlar to the previous flow, the only difference is the parameters in the sumarize node.

Parameters:

Aggregation: Max

Field: numbers

 

When the workflow gets excuted, this returns the largest number.

full flow

Example 5

In this example uwe find the sum of all numbers using the summarize node.

Using same node and inputs, the only difference is in the summarize node parameters:

Aggregation: Sum

Field: numbers.

 

It returns the sum of all the numbers when the work flow gets executed

 

full flow

Example 6

In this example, we find the average number.

we use the same set up as previous example , the only difference are the parameters in the summarize node

Parameters:

Aggregation: Average

Field: numbers

when the flow gets executed, it returns the average number = 12.2

full flow

Example 7

In this example, we perform multiple summaries on the numbers

we use the same set up as previous example , the only difference are the parameters in the summarize node

Parameters:

Aggregation: count

Field: numbers

 

Aggregation: Average

Field: numbers

 

 

Aggregation: max

Field: numbers

 

Aggregation: min

Field: numbers

when the flow gets executed, it returns the count,average, max, min

full flow

Example 8

In this example, we set the field to split by.

 

we start by adding the edit field node to return the following json output

				
					[   {"name": "Person A", "Orders": 5},   {"name": "Person A", "Orders": 2}, {"name": "Person B", "Orders": 11}, {"name": "Person B", "Orders": 2},  {"name": "Person C", "Orders": 1} ] 
				
			

Next, we add the split node and select numbers as the field to split by

Next, we add the summarize node with the following parameters:

Aggregation: Count

Field: Orders

 

Aggregation: Average

Field: Orders

 

Aggregation: Max

Field: Orders

 

Fields to split by:

name

When the flow gets executed, it returns the following output

				
					[
  {
    "count_Orders": 2,
    "average_Orders": 3.5,
    "max_Orders": 5,
    "name": "Person A"
  },
  {
    "count_Orders": 2,
    "average_Orders": 6.5,
    "max_Orders": 11,
    "name": "Person B"
  },
  {
    "count_Orders": 1,
    "average_Orders": 1,
    "max_Orders": 1,
    "name": "Person C"
  }
]
				
			

full flow

Example 9

In this example, we would look at output format.

using similar workflow as the previous example, we set the following summarize node parameters:

Aggregation: Count

Fields: Orders

 

Aggregation: Average

Fields: Orders

 

Aggregation: Max

Fields: Orders

 

Fields to Group By: name

 

Options:

      Output Format: All Splits in a Split Item 

full flow

Example 10

We can also choose how we seperate Items (comma, space, none e.t.c)

Lets start with the edit node returning a list of numbers.

we add the splitout node

Next we connect the summarize node with the following parameters:

Aggregation: Concatenate

Field: numbers

Separator: other 

Custom Separator: —–

full flow

Example 11

In this example, we append the numbers.

Using the same workflow, the only difference is in the summarize node parameters.

Aggregation: Append

Field: numbers

Output Format: Each Split in a Seperate Item.

full flow

Best Practices

  1. Choose Output Format Wisely

    • Use Each Split in a Separate Item for downstream nodes that expect one item per group.

    • Use All Splits in a Single Item when you need a compact structure.

  2. Be Careful with Empty Values

    • Decide whether empty values should be included in Append/Concatenate results.

  3. Clean Input First

    • Use the IF, Set, or Function nodes to standardize data before summarizing.

  4. Use Multiple Aggregations

    • You can summarize multiple fields at once (e.g., Sum of Sales and Count of Orders grouped by region).

Final thought

The Summarize Node in n8n is a powerful way to perform pivot table–style aggregations directly within your workflows. Whether you’re counting, summing, averaging, or concatenating data, it helps transform raw inputs into structured, actionable insights.

By combining it with nodes like HTTP Request, Database, or Google Sheets, you can create end-to-end workflows that automatically fetch, aggregate, and report data — without needing Excel or SQL.

 

Thank you for reading this article. Make sure to check out our other n8n content on the website. If you need any help with n8n workflows we are taking on customers so reach out

Leave a Reply

Your email address will not be published. Required fields are marked *