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 Repand summarizeDeal 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.
															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
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.
Be Careful with Empty Values
Decide whether empty values should be included in Append/Concatenate results.
Clean Input First
Use the IF, Set, or Function nodes to standardize data before summarizing.
Use Multiple Aggregations
You can summarize multiple fields at once (e.g.,
Sum of SalesandCount of Ordersgrouped 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
