Skip to content

Commit 8bd6c4a

Browse files
authored
Improve first two pages identified by feedback widget (n8n-io#2847)
1 parent c27a12a commit 8bd6c4a

File tree

3 files changed

+184
-8
lines changed

3 files changed

+184
-8
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
{
2+
"nodes": [
3+
{
4+
"parameters": {},
5+
"type": "n8n-nodes-base.manualTrigger",
6+
"typeVersion": 1,
7+
"position": [
8+
0,
9+
0
10+
],
11+
"id": "e6e1cfe6-eff1-48bd-b21c-6ba83d4244d9",
12+
"name": "When clicking ‘Test workflow’"
13+
},
14+
{
15+
"parameters": {
16+
"jsCode": "return [\n\t{\n\t\tjson: {\n\t\t\turl: 'https://medium.com/feed/n8n-io',\n\t\t}\n\t},\n\t{\n\t\tjson: {\n\t\t\turl: 'https://dev.to/feed/n8n',\n\t\t}\n\t}\n];"
17+
},
18+
"type": "n8n-nodes-base.code",
19+
"typeVersion": 2,
20+
"position": [
21+
220,
22+
0
23+
],
24+
"id": "137f1128-45b6-4bc4-a9fb-8660baa652a9",
25+
"name": "Code"
26+
},
27+
{
28+
"parameters": {
29+
"options": {}
30+
},
31+
"type": "n8n-nodes-base.splitInBatches",
32+
"typeVersion": 3,
33+
"position": [
34+
440,
35+
0
36+
],
37+
"id": "3449a953-49c2-4a36-ba3d-cbc0573f3f6c",
38+
"name": "Loop Over Items"
39+
},
40+
{
41+
"parameters": {
42+
"url": "={{ $json.url }}",
43+
"options": {}
44+
},
45+
"type": "n8n-nodes-base.rssFeedRead",
46+
"typeVersion": 1.1,
47+
"position": [
48+
660,
49+
100
50+
],
51+
"id": "cc2e59d7-0a9b-4640-8052-d8f7f8d8c9fe",
52+
"name": "RSS Read"
53+
}
54+
],
55+
"connections": {
56+
"When clicking ‘Test workflow’": {
57+
"main": [
58+
[
59+
{
60+
"node": "Code",
61+
"type": "main",
62+
"index": 0
63+
}
64+
]
65+
]
66+
},
67+
"Code": {
68+
"main": [
69+
[
70+
{
71+
"node": "Loop Over Items",
72+
"type": "main",
73+
"index": 0
74+
}
75+
]
76+
]
77+
},
78+
"Loop Over Items": {
79+
"main": [
80+
[],
81+
[
82+
{
83+
"node": "RSS Read",
84+
"type": "main",
85+
"index": 0
86+
}
87+
]
88+
]
89+
},
90+
"RSS Read": {
91+
"main": [
92+
[
93+
{
94+
"node": "Loop Over Items",
95+
"type": "main",
96+
"index": 0
97+
}
98+
]
99+
]
100+
}
101+
},
102+
"pinData": {},
103+
"meta": {
104+
"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
105+
}
106+
}

docs/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches.md

+20-5
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,16 @@ The Loop Over Items node helps you loop through data.
1212

1313
The node saves the original incoming data, and with each iteration, returns a predefined amount of data through the **loop** output.
1414

15-
When the node execution completes, it combines all the data and returns it through the **done** output.
15+
When the node execution completes, it combines all of the processed data and returns it through the **done** output.
16+
17+
## When to use the Loop Over Items node
18+
19+
n8n automatically processes incoming items. Depending on what you're trying to achieve, you often don't need the Loop Over Items node in your workflow. You can learn more about how n8n processes multiple items on the [looping in n8n](/flow-logic/looping.md) page.
20+
21+
In particular, these two sections are of particular interest to the Loop Over Items node:
22+
23+
* [Loop until all items are processed](/flow-logic/looping.md#loop-until-all-items-are-processed): describes how the Loop Over Items node differs from normal item processing and when you might want to incorporate this node.
24+
* [Node exceptions](/flow-logic/looping.md#node-exceptions): outlines specific cases and nodes where you may need to use the Loop Over Items node to manually build looping logic.
1625

1726
## Node parameters
1827

@@ -24,12 +33,16 @@ Enter the number of items to return with each call.
2433

2534
### Reset
2635

27-
If turned on, the node will reset with the current input-data newly initialized with each loop.
36+
If turned on, the node will reset with the current input-data newly initialized with each loop. Use this when you want the Loop Over Items node to treat incoming data as a new set of data instead of a continuation of previous items.
2837

29-
/// note | Check if you need this node
30-
n8n automatically processes incoming items. You may not need the Loop Over Items node in your workflow. To learn more about how n8n handles multiple items, refer to the documentation on [Looping in n8n](/flow-logic/looping.md).
38+
For example, you can use the Loop Over Items node with the reset option and an [If node](/integrations/builtin/core-nodes/n8n-nodes-base.if.md) to query a paginated service when you don't know how many pages you need in advance. The loop queries pages one at a time, performs any processing, and increments the page number. The loop reset ensures the loop recognizes each iteration as a new set of data. The If node evaluates an exit condition to decide whether to perform another iteration or not.
39+
40+
/// warning | Include a valid termination condition
41+
For workflows like the example described above, it's critical to include a valid termination condition for the loop. If your termination condition never matches, your workflow execution will get stuck in an infinite loop.
3142
///
3243

44+
When enabled, you can adjust the reset conditions by switching the parameter representation from **Fixed** to **Expression**. The results of your expression evaluation determine when the node will reset item processing.
45+
3346
## Templates and examples
3447

3548
<!-- see https://www.notion.so/n8n/Pull-in-templates-for-the-integrations-pages-37c716837b804d30a33b47475f6e3780 -->
@@ -43,7 +56,9 @@ The example walks through building the workflow, but assumes you are already fam
4356

4457
The final workflow looks like this:
4558

46-
![A workflow with the Loop Over Items node](/_images/integrations/builtin/core-nodes/splitinbatches/workflow.png)
59+
[[ workflowDemo("file:///integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/rss-feed-example.json") ]]
60+
61+
Copy the workflow file above and paste into your instance, or manually build it by following these steps:
4762

4863
1. Add the manual trigger.
4964
2. Add the Code node.

docs/integrations/builtin/trigger-nodes/n8n-nodes-base.airtabletrigger.md

+58-3
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,66 @@ priority: medium
1010

1111
[Airtable](https://airtable.com/){:target=_blank .external-link} is a spreadsheet-database hybrid, with the features of a database but applied to a spreadsheet. The fields in an Airtable table are similar to cells in a spreadsheet, but have types such as 'checkbox', 'phone number', and 'drop-down list', and can reference file attachments like images.
1212

13+
On this page, you'll find a list of events the Airtable Trigger node can respond to and links to more resources.
14+
1315
/// note | Credentials
1416
You can find authentication information for this node [here](/integrations/builtin/credentials/airtable.md).
1517
///
1618

17-
/// note | Examples and templates
18-
For usage examples and templates to help you get started, refer to n8n's [Airtable Trigger integrations](https://n8n.io/integrations/airtable-trigger/){:target=_blank .external-link} page.
19-
///
19+
## Events
20+
21+
* **New Airtable event**
22+
23+
## Related resources
24+
25+
n8n provides an app node for Airtable. You can find the node docs [here](/integrations/builtin/app-nodes/n8n-nodes-base.airtable/index.md).
26+
27+
View [example workflows and related content](https://n8n.io/integrations/airtable-trigger/) on n8n's website.
28+
29+
Refer to [Airtable's documentation](https://airtable.com/developers/web/api/introduction) for details about their API.
30+
31+
## Node parameters
32+
33+
Use these parameters to configure your node.
34+
35+
### Poll Times
36+
37+
n8n's Airtable node uses polling for check for updates on configured Airtable resources. The **Poll Times** parameter configures the querying frequency:
38+
39+
* Every Minute
40+
* Every Hour
41+
* Every Day
42+
* Every Week
43+
* Every Month
44+
* Every X: Check for updates every given number of minutes or hours.
45+
* Custom: Customize the polling interval by providing a [cron expression](https://en.wikipedia.org/wiki/Cron).
46+
47+
Use the **Add Poll Time** button to add more polling intervals.
48+
49+
### Base
50+
51+
The [Airtable base](https://support.airtable.com/docs/airtable-bases-overview) you want to check for updates on. You can provide your base's URL or [base ID](https://support.airtable.com/docs/finding-airtable-ids#finding-base-table-and-view-ids-from-urls).
52+
53+
### Table
54+
55+
The [Airtable table](https://support.airtable.com/docs/tables-overview) within the Airtable base that you want to check for updates on. You can provide the table's URL or [table ID](https://support.airtable.com/docs/finding-airtable-ids#finding-base-table-and-view-ids-from-urls).
56+
57+
### Trigger Field
58+
59+
A created or last modified field in your table. The Airtable Trigger node uses this to determine what updates occurred since the previous check.
60+
61+
### Download Attachments
62+
63+
Whether to download attachments from the table. When enabled, the **Download Fields** parameter defines the attachment fields.
64+
65+
### Download Fields
66+
67+
When you enable the **Download Attachments** toggle, this field defines which table fields to download. Field names are case sensitive. Use a comma to separate multiple field names.
68+
69+
### Additional Fields
70+
71+
Use the **Add Field** button to add the following parameters:
2072

73+
* **Fields**: A comma-separated list of fields to include in the output. If you don't specify anything here, the output will contain only the **Trigger Field**.
74+
* **Formula**: An [Airtable formula](https://support.airtable.com/docs/formula-field-reference) to further filter the results. You can use this to add further constraints to the events that trigger the workflow. Note that formula values aren't taken into account for manual executions, only for production polling.
75+
* **View ID**: The name or ID of a table view. When defined, only returns records available in the given view.

0 commit comments

Comments
 (0)