diff --git a/docs/courses/level-two/chapter-1.md b/docs/courses/level-two/chapter-1.md index 766a8126021..476472f8785 100644 --- a/docs/courses/level-two/chapter-1.md +++ b/docs/courses/level-two/chapter-1.md @@ -168,7 +168,7 @@ The two most common operations for data transformation are: There are several ways to transform data for the purposes mentioned above: -- With the [Item Lists node](/integrations/builtin/core-nodes/n8n-nodes-base.itemLists){:target="_blank" .external}, you can `Split Out Items` or `Aggregate Items`. This node is the easy way to modify the structure of incoming data that contain lists (arrays), without needing to use JavaScript code in the Code node. +- Using n8n's [data transformation nodes](/data/#data-transformation-nodes). This the easy way to modify the structure of incoming data that contain lists (arrays), without needing to use JavaScript code in the Code node. Use [Split Out](/integrations/builtin/core-nodes/n8n-nodes-base.splitout/) to separate a single data item containing a list into multiple items, and [Aggregate](/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/) to take separate items, or portions of them, and group them together into individual items. - With the Code node, you can write JavaScript functions to modify the data structure of incoming data using the *Run Once for All Items* mode: To create multiple items from a single item, you can use this JavaScript code: diff --git a/docs/courses/level-two/chapter-5/chapter-5.2.md b/docs/courses/level-two/chapter-5/chapter-5.2.md index d3059c7485c..495751ac818 100644 --- a/docs/courses/level-two/chapter-5/chapter-5.2.md +++ b/docs/courses/level-two/chapter-5/chapter-5.2.md @@ -28,7 +28,7 @@ The first part of the workflow consists of five nodes: 2. Use the [Airtable node](/integrations/builtin/app-nodes/n8n-nodes-base.airtable/){:target="_blank" .external} to list data from the `customers` table (where you updated the fields `region` and `subregion`). 3. Use the [Merge node](/integrations/builtin/core-nodes/n8n-nodes-base.merge/){:target="_blank" .external} to merge data from the Airtable and HTTP Request node, based on the common key `customer ID`. -4. Use the [Item Lists node](/integrations/builtin/core-nodes/n8n-nodes-base.itemlists/){:target="_blank" .external} to sort data by orderPrice in descending order. +4. Use the [Sort](/integrations/builtin/core-nodes/n8n-nodes-base.sort/) node to sort data by orderPrice in descending order. /// question | Quiz questions * What is the name of the employee assigned to customer 1? diff --git a/docs/data/binary-data.md b/docs/data/binary-data.md index c35f66cf958..9d0c1f06541 100644 --- a/docs/data/binary-data.md +++ b/docs/data/binary-data.md @@ -41,7 +41,7 @@ And nodes for performing common tasks: You can trigger a workflow based on changes to a local file using the [Local File trigger](/integrations/builtin/core-nodes/n8n-nodes-base.localfiletrigger/). -To split or concatenate binary data items, use the [Item Lists](/integrations/builtin/core-nodes/n8n-nodes-base.itemlists/) node. +To split or concatenate binary data items, use the [data transformation nodes](/data/#data-transformation-nodes). ### Code diff --git a/docs/data/index.md b/docs/data/index.md index bcb254040ec..75007c9105d 100644 --- a/docs/data/index.md +++ b/docs/data/index.md @@ -18,3 +18,16 @@ This section covers: * [Process data using code](/data/code/) * [Pinning](/data/data-pinning/) and [editing](/data/data-editing/) data during workflow development. * [Data mapping](/data/data-mapping/data-mapping-ui/) and [Item linking](/data/data-mapping/data-item-linking/): how data items link to each other. + +## Related resources + +### Data transformation nodes + +n8n provides a collection of nodes to transform data: + +* [Aggregate](/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/): take separate items, or portions of them, and group them together into individual items. +* [Limit](/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/): remove items beyond a defined maximum number. +* [Remove Duplicates](/integrations/builtin/core-nodes/n8n-nodes-base.removeduplicates/): identify items that are identical across all fields or a subset of fields. +* [Sort](/integrations/builtin/core-nodes/n8n-nodes-base.sort/): organize lists of in a desired ordering, or generate a random selection. +* [Split Out](/integrations/builtin/core-nodes/n8n-nodes-base.splitout/): separate a single data item containing a list into multiple items. +* [Summarize](/integrations/builtin/core-nodes/n8n-nodes-base.summarize/): aggregate items together, in a manner similar to Excel pivot tables. diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.itemlists.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.itemlists.md index 763eeb2c31f..1e57d1d9ad3 100644 --- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.itemlists.md +++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.itemlists.md @@ -13,7 +13,7 @@ n8n removed the Item Lists node in version [TODO]. Use the following nodes inste * [Limit](/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/): remove items beyond a defined maximum number. * [Remove Duplicates](/integrations/builtin/core-nodes/n8n-nodes-base.removeduplicates/): identify items that are identical across all fields or a subset of fields. * [Sort](/integrations/builtin/core-nodes/n8n-nodes-base.sort/): organize lists of in a desired ordering, or generate a random selection. -[Split Out](/integrations/builtin/core-nodes/n8n-nodes-base.splitout/): separate a single data item containing a list into multiple items. +* [Split Out](/integrations/builtin/core-nodes/n8n-nodes-base.splitout/): separate a single data item containing a list into multiple items. * [Summarize](/integrations/builtin/core-nodes/n8n-nodes-base.summarize/): aggregate items together, in a manner similar to Excel pivot tables. /// diff --git a/docs/integrations/builtin/core-nodes/n8n-nodes-base.respondtowebhook.md b/docs/integrations/builtin/core-nodes/n8n-nodes-base.respondtowebhook.md index 95c66396866..02d4c719f9a 100644 --- a/docs/integrations/builtin/core-nodes/n8n-nodes-base.respondtowebhook.md +++ b/docs/integrations/builtin/core-nodes/n8n-nodes-base.respondtowebhook.md @@ -50,9 +50,7 @@ The Respond to Webhook node runs once, using the first incoming data item. This If you need to return more than one data item, you can either: - Instead of using the Respond to Webhook node, use the **When Last Node Finishes** option in **Respond** in the Webhook node. Use this when you want to return the final data that the workflow outputs. -- Use the [Item Lists](/integrations/builtin/core-nodes/n8n-nodes-base.itemlists/) node to turn multiple items into a single item before passing the data to the Respond to Webhook node. Use the following parameter settings in the Item Lists node: - - **Operation** > **Concatenate Items** - - **Aggregate** > **All Item Data (Into a Single List)** +- Use the [Aggregate](/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/) node to turn multiple items into a single item before passing the data to the Respond to Webhook node. Set **Aggregate** to **All Item Data (Into a Single List)**. ## Workflow behavior diff --git a/document-templates/core-nodes.md b/document-templates/core-nodes.md index eacaea83c82..ea37e0b3f29 100644 --- a/document-templates/core-nodes.md +++ b/document-templates/core-nodes.md @@ -2,7 +2,7 @@ # How to use this template 1. Make a new branch. If working on an internal ticket, include it at the start of the name. For example, DOC-123-feature-summary. -2. Create a new file, or find the file you want to edit, in integrations/builtin/core-nodes/. If creating a new file, pay attention to the naming conventions: it should match the node name in the codex file. For example, in the Item Lists node, the codex file (https://github.com/n8n-io/n8n/blob/master/packages/nodes-base/nodes/ItemLists/ItemLists.node.json) reads: `"node": "n8n-nodes-base.itemList"`. So the app node file name is n8n-nodes-base.itemList. +2. Create a new file, or find the file you want to edit, in integrations/builtin/core-nodes/. If creating a new file, pay attention to the naming conventions: it should match the node name in the codex file. 3. Copy the template into the file (don't copy this comment). 4. Placeholder text is in _italic_ or between <>. Make sure to replace it! 5. Before publishing, delete any comments.