InfoGrab Docs

데이터 병합 및 분할

요약

이 챕터에서는 데이터를 병합하고 분할하는 방법과 이러한 작업이 유용한 경우를 배웁니다. 경우에 따라 서로 다른 소스의 데이터를 병합(결합)하고 처리해야 할 수 있습니다. 데이터 병합에는 다음이 포함될 수 있습니다: 단방향 동기화에서는 데이터가 한 방향으로 동기화됩니다.

이 챕터에서는 데이터를 병합하고 분할하는 방법과 이러한 작업이 유용한 경우를 배웁니다.

데이터 병합#

경우에 따라 서로 다른 소스의 데이터를 병합(결합)하고 처리해야 할 수 있습니다.

데이터 병합에는 다음이 포함될 수 있습니다:

  • 여러 소스에서 하나의 데이터 세트 만들기.
  • 여러 시스템 간에 데이터 동기화. 여기에는 중복 데이터 제거나 한 시스템에서 변경 사항이 있을 때 다른 시스템의 데이터 업데이트가 포함될 수 있습니다.
단방향 vs. 양방향 동기화

단방향 동기화에서는 데이터가 한 방향으로 동기화됩니다. 하나의 시스템이 단일 소스 역할을 합니다. 해당 메인 시스템에서 정보가 변경되면 보조 시스템에서 자동으로 변경됩니다. 하지만 보조 시스템에서 정보가 변경되면 메인 시스템에 반영되지 않습니다.

양방향 동기화에서는 데이터가 양방향으로 동기화됩니다(두 시스템 모두). 두 시스템 중 하나에서 정보가 변경되면 다른 시스템에서도 자동으로 변경됩니다.

이 블로그 튜토리얼은 두 CRM 간에 단방향 및 양방향으로 데이터를 동기화하는 방법을 설명합니다.

n8n에서는 Merge 노드를 사용하여 서로 다른 두 노드의 데이터를 병합할 수 있으며, 여러 가지 병합 옵션을 제공합니다:

Combine > Merge by Fields는 매칭할 입력 필드를 입력해야 합니다. 이 필드들은 n8n이 데이터를 올바르게 매칭할 수 있도록 데이터 소스 간에 동일한 값을 포함해야 합니다. Merge 노드에서는 Input 1 FieldInput 2 Field라고 합니다.

Property Input fields in the Merge node
Merge 노드의 Property Input 필드
점 표기법의 Property Input

Merge 노드 파라미터 Input 1 FieldInput 2 Field에서 중첩된 값을 참조하려면 속성 키를 점 표기법 형식으로 입력해야 합니다(표현식이 아닌 텍스트로).

Note

Merge 노드는 Join이라는 별칭으로도 찾을 수 있습니다. SQL 조인에 익숙하다면 이 이름이 더 직관적일 수 있습니다.

병합 연습 문제#

Customer Datastore 노드와 Code 노드의 데이터를 병합하는 워크플로를 구축하세요.

  1. Customer Datastore 노드에서 Input 1을, Code 노드에서 Input 2를 받는 Merge 노드를 추가합니다.
  2. Customer Datastore 노드에서 Get All People 작업을 실행합니다.
  3. Code 노드에서 세 가지 속성 name, language, country를 가진 두 객체의 배열을 만들되, country 속성에는 두 개의 하위 속성 codename이 있어야 합니다.
    • Customer Database의 두 인물 정보로 이 속성들의 값을 채우세요.
    • 예를 들어, Jay Gatsby의 언어는 영어이고 국가 이름은 미국입니다.
  4. Merge 노드에서 다양한 병합 옵션을 시험해 보세요.
정답 보기
이 연습의 워크플로는 다음과 같이 보입니다:

<figure><img src="/images/docs/n8n/_images/courses/level-two/chapter-three/exercise_merge.png" alt="Workflow exercise for merging data" style="width:100%"><figcaption align = "center"><i>데이터 병합 워크플로 연습</i></figcaption></figure>

이름을 매칭할 입력 필드로 사용하여 **Keep Matches** 옵션으로 데이터를 병합하면 결과는 다음과 같아야 합니다(이 예시에는 Jay Gatsby만 포함되어 있습니다. 선택한 인물에 따라 다를 수 있습니다):

<figure><img src="/images/docs/n8n/_images/courses/level-two/chapter-three/exercise_merge_node.png" alt="Output of Merge node with option to keep matches" style="width:100%"><figcaption align = "center"><i>매칭 유지 옵션이 있는 Merge 노드 출력</i></figcaption></figure>

노드 설정을 확인하려면 아래 JSON 워크플로 코드를 복사하여 Editor UI에 붙여넣을 수 있습니다:

```json
{
"meta": {
	"templateCredsSetupCompleted": true,
	"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
},
"nodes": [
	{
	"parameters": {
		"mode": "combine",
		"mergeByFields": {
		"values": [
			{
			"field1": "name",
			"field2": "name"
			}
		]
		},
		"options": {}
	},
	"id": "578365f3-26dd-4fa6-9858-f0a5fdfc413b",
	"name": "Merge",
	"type": "n8n-nodes-base.merge",
	"typeVersion": 2.1,
	"position": [
		720,
		580
	]
	},
	{
	"parameters": {},
	"id": "71aa5aad-afdf-4f8a-bca0-34450eee8acc",
	"name": "When clicking \"Execute workflow\"",
	"type": "n8n-nodes-base.manualTrigger",
	"typeVersion": 1,
	"position": [
		260,
		560
	]
	},
	{
	"parameters": {
		"operation": "getAllPeople"
	},
	"id": "497174fe-3cab-4160-8103-78b44efd038d",
	"name": "Customer Datastore (n8n training)",
	"type": "n8n-nodes-base.n8nTrainingCustomerDatastore",
	"typeVersion": 1,
	"position": [
		500,
		460
	]
	},
	{
	"parameters": {
		"jsCode": "return [\n  {\n    'name': 'Jay Gatsby',\n    'language': 'English',\n    'country': {\n      'code': 'US',\n      'name': 'United States'\n    }\n    \n  }\n  \n];"
	},
	"id": "387e8a1e-e796-4f05-8e75-7ce25c786c5f",
	"name": "Code",
	"type": "n8n-nodes-base.code",
	"typeVersion": 2,
	"position": [
		500,
		720
	]
	}
],
"connections": {
	"When clicking \"Execute workflow\"": {
	"main": [
		[
		{
			"node": "Customer Datastore (n8n training)",
			"type": "main",
			"index": 0
		},
		{
			"node": "Code",
			"type": "main",
			"index": 0
		}
		]
	]
	},
	"Customer Datastore (n8n training)": {
	"main": [
		[
		{
			"node": "Merge",
			"type": "main",
			"index": 0
		}
		]
	]
	},
	"Code": {
	"main": [
		[
		{
			"node": "Merge",
			"type": "main",
			"index": 1
		}
		]
	]
	}
},
"pinData": {}
}
```

루핑#

경우에 따라 배열의 각 요소나 각 데이터 항목에 동일한 작업을 수행해야 할 수 있습니다(예: 주소록의 모든 연락처에 메시지 보내기). 기술적 용어로는 데이터를 순회(루프)해야 합니다.

n8n은 일반적으로 노드가 각 항목에 대해 한 번씩 실행되므로 이 반복 처리를 자동으로 처리합니다. 따라서 워크플로에 루프를 구축할 필요가 없습니다.

하지만 워크플로에 루프를 구축해야 하는 예외 노드와 작업이 있습니다.

n8n 워크플로에서 루프를 만들려면 한 노드의 출력을 이전 노드의 입력에 연결하고, 루프를 중지할 시기를 확인하는 If 노드를 추가해야 합니다.

배치로 데이터 분할#

대량의 들어오는 데이터를 처리해야 하거나, Code 노드를 여러 번 실행해야 하거나, API 속도 제한을 피해야 하는 경우 데이터를 배치(그룹)로 분할하고 이 배치들을 처리하는 것이 가장 좋습니다.

이러한 프로세스에는 Loop Over Items 노드를 사용하세요. 이 노드는 입력 데이터를 지정된 배치 크기로 분할하고, 각 반복마다 미리 정해진 양의 데이터를 반환합니다.

Loop Over Items 노드 실행

Loop Over Items 노드는 들어오는 모든 항목이 배치로 나누어지고 워크플로의 다음 노드로 전달되면 실행을 중지하므로, 루프를 중지하기 위한 If 노드를 추가할 필요가 없습니다.

루프/배치 연습 문제#

Medium과 dev.to에서 RSS 피드를 읽는 워크플로를 구축하세요. 워크플로는 세 개의 노드로 구성되어야 합니다:

  1. Medium(https://medium.com/feed/n8n-io)과 dev.to(https://dev.to/feed/n8n)의 RSS 피드 URL을 반환하는 Code 노드.
  2. Code 노드RSS Read 노드에서 입력을 받아 항목을 순회하는 Batch Size: 1Loop Over Items 노드.
  3. 표현식으로 전달된 Medium RSS 피드의 URL을 가져오는 RSS Read 노드: {{ $json.url }}.
    • RSS Read 노드는 첫 번째로 받은 항목만 처리하는 예외 노드 중 하나이므로, 여러 항목을 순회하려면 Loop Over Items 노드가 필요합니다.
정답 보기
1. **Code 노드**를 추가합니다. 코드 형식은 여러 방법이 있으며 한 가지 방법은 다음과 같습니다:
	- **Mode**를 `Run Once for All Items`로 설정합니다.
	- **Language**를 `JavaScript`로 설정합니다.
	- 아래 코드를 복사하여 JavaScript Code 에디터에 붙여넣습니다:
		```javascript
		let urls = [
			{
				json: {
				url: 'https://medium.com/feed/n8n-io'
				}
			},
			{
			json: {
				url: 'https://dev.to/feed/n8n'
				}
			}
		]
		return urls;
		```
2. **Code 노드**에 연결된 **Loop Over Items 노드**를 추가합니다.
	- **Batch Size**를 `1`로 설정합니다.
3. **Loop Over Items 노드**는 자동으로 "Replace Me"라는 노드를 추가합니다. 해당 노드를 **RSS Read 노드**로 교체합니다.
	- **URL**을 Code 노드의 url을 사용하도록 설정합니다: `{{ $json.url }}`.

이 연습의 워크플로는 다음과 같이 보입니다:

<figure><img src="/images/docs/n8n/_images/courses/level-two/chapter-three/exercise_splitinbatches.png" alt="Workflow for getting RSS feeds from two blogs" style="width:100%"><figcaption align = "center"><i>두 블로그에서 RSS 피드를 가져오는 워크플로</i></figcaption></figure>

노드 설정을 확인하려면 아래 JSON 워크플로 코드를 복사하여 Editor UI에 붙여넣을 수 있습니다:

```json
{
"meta": {
	"templateCredsSetupCompleted": true,
	"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
},
"nodes": [
	{
	"parameters": {},
	"id": "ed8dc090-ae8c-4db6-a93b-0fa873015c25",
	"name": "When clicking \"Execute workflow\"",
	"type": "n8n-nodes-base.manualTrigger",
	"typeVersion": 1,
	"position": [
		460,
		460
	]
	},
	{
	"parameters": {
		"jsCode": "let urls = [\n  {\n    json: {\n      url: 'https://medium.com/feed/n8n-io'\n    }\n  },\n  {\n   json: {\n     url: 'https://dev.to/feed/n8n'\n   } \n  }\n]\n\nreturn urls;"
	},
	"id": "1df2a9bf-f970-4e04-b906-92dbbc9e8d3a",
	"name": "Code",
	"type": "n8n-nodes-base.code",
	"typeVersion": 2,
	"position": [
		680,
		460
	]
	},
	{
	"parameters": {
		"options": {}
	},
	"id": "3cce249a-0eab-42e2-90e3-dbdf3684e012",
	"name": "Loop Over Items",
	"type": "n8n-nodes-base.splitInBatches",
	"typeVersion": 3,
	"position": [
		900,
		460
	]
	},
	{
	"parameters": {
		"url": "={{ $json.url }}",
		"options": {}
	},
	"id": "50e1c1dc-9a5d-42d3-b7c0-accc31636aa6",
	"name": "RSS Read",
	"type": "n8n-nodes-base.rssFeedRead",
	"typeVersion": 1,
	"position": [
		1120,
		460
	]
	}
],
"connections": {
	"When clicking \"Execute workflow\"": {
	"main": [
		[
		{
			"node": "Code",
			"type": "main",
			"index": 0
		}
		]
	]
	},
	"Code": {
	"main": [
		[
		{
			"node": "Loop Over Items",
			"type": "main",
			"index": 0
		}
		]
	]
	},
	"Loop Over Items": {
	"main": [
		null,
		[
		{
			"node": "RSS Read",
			"type": "main",
			"index": 0
		}
		]
	]
	},
	"RSS Read": {
	"main": [
		[
		{
			"node": "Loop Over Items",
			"type": "main",
			"index": 0
		}
		]
	]
	}
},
"pinData": {}
}
```

데이터 병합 및 분할

원문 보기
요약

이 챕터에서는 데이터를 병합하고 분할하는 방법과 이러한 작업이 유용한 경우를 배웁니다. 경우에 따라 서로 다른 소스의 데이터를 병합(결합)하고 처리해야 할 수 있습니다. 데이터 병합에는 다음이 포함될 수 있습니다: 단방향 동기화에서는 데이터가 한 방향으로 동기화됩니다.

이 챕터에서는 데이터를 병합하고 분할하는 방법과 이러한 작업이 유용한 경우를 배웁니다.

데이터 병합#

경우에 따라 서로 다른 소스의 데이터를 병합(결합)하고 처리해야 할 수 있습니다.

데이터 병합에는 다음이 포함될 수 있습니다:

  • 여러 소스에서 하나의 데이터 세트 만들기.
  • 여러 시스템 간에 데이터 동기화. 여기에는 중복 데이터 제거나 한 시스템에서 변경 사항이 있을 때 다른 시스템의 데이터 업데이트가 포함될 수 있습니다.
단방향 vs. 양방향 동기화

단방향 동기화에서는 데이터가 한 방향으로 동기화됩니다. 하나의 시스템이 단일 소스 역할을 합니다. 해당 메인 시스템에서 정보가 변경되면 보조 시스템에서 자동으로 변경됩니다. 하지만 보조 시스템에서 정보가 변경되면 메인 시스템에 반영되지 않습니다.

양방향 동기화에서는 데이터가 양방향으로 동기화됩니다(두 시스템 모두). 두 시스템 중 하나에서 정보가 변경되면 다른 시스템에서도 자동으로 변경됩니다.

이 블로그 튜토리얼은 두 CRM 간에 단방향 및 양방향으로 데이터를 동기화하는 방법을 설명합니다.

n8n에서는 Merge 노드를 사용하여 서로 다른 두 노드의 데이터를 병합할 수 있으며, 여러 가지 병합 옵션을 제공합니다:

Combine > Merge by Fields는 매칭할 입력 필드를 입력해야 합니다. 이 필드들은 n8n이 데이터를 올바르게 매칭할 수 있도록 데이터 소스 간에 동일한 값을 포함해야 합니다. Merge 노드에서는 Input 1 FieldInput 2 Field라고 합니다.

Property Input fields in the Merge node
Merge 노드의 Property Input 필드
점 표기법의 Property Input

Merge 노드 파라미터 Input 1 FieldInput 2 Field에서 중첩된 값을 참조하려면 속성 키를 점 표기법 형식으로 입력해야 합니다(표현식이 아닌 텍스트로).

Note

Merge 노드는 Join이라는 별칭으로도 찾을 수 있습니다. SQL 조인에 익숙하다면 이 이름이 더 직관적일 수 있습니다.

병합 연습 문제#

Customer Datastore 노드와 Code 노드의 데이터를 병합하는 워크플로를 구축하세요.

  1. Customer Datastore 노드에서 Input 1을, Code 노드에서 Input 2를 받는 Merge 노드를 추가합니다.
  2. Customer Datastore 노드에서 Get All People 작업을 실행합니다.
  3. Code 노드에서 세 가지 속성 name, language, country를 가진 두 객체의 배열을 만들되, country 속성에는 두 개의 하위 속성 codename이 있어야 합니다.
    • Customer Database의 두 인물 정보로 이 속성들의 값을 채우세요.
    • 예를 들어, Jay Gatsby의 언어는 영어이고 국가 이름은 미국입니다.
  4. Merge 노드에서 다양한 병합 옵션을 시험해 보세요.
정답 보기
이 연습의 워크플로는 다음과 같이 보입니다:

<figure><img src="/images/docs/n8n/_images/courses/level-two/chapter-three/exercise_merge.png" alt="Workflow exercise for merging data" style="width:100%"><figcaption align = "center"><i>데이터 병합 워크플로 연습</i></figcaption></figure>

이름을 매칭할 입력 필드로 사용하여 **Keep Matches** 옵션으로 데이터를 병합하면 결과는 다음과 같아야 합니다(이 예시에는 Jay Gatsby만 포함되어 있습니다. 선택한 인물에 따라 다를 수 있습니다):

<figure><img src="/images/docs/n8n/_images/courses/level-two/chapter-three/exercise_merge_node.png" alt="Output of Merge node with option to keep matches" style="width:100%"><figcaption align = "center"><i>매칭 유지 옵션이 있는 Merge 노드 출력</i></figcaption></figure>

노드 설정을 확인하려면 아래 JSON 워크플로 코드를 복사하여 Editor UI에 붙여넣을 수 있습니다:

```json
{
"meta": {
	"templateCredsSetupCompleted": true,
	"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
},
"nodes": [
	{
	"parameters": {
		"mode": "combine",
		"mergeByFields": {
		"values": [
			{
			"field1": "name",
			"field2": "name"
			}
		]
		},
		"options": {}
	},
	"id": "578365f3-26dd-4fa6-9858-f0a5fdfc413b",
	"name": "Merge",
	"type": "n8n-nodes-base.merge",
	"typeVersion": 2.1,
	"position": [
		720,
		580
	]
	},
	{
	"parameters": {},
	"id": "71aa5aad-afdf-4f8a-bca0-34450eee8acc",
	"name": "When clicking \"Execute workflow\"",
	"type": "n8n-nodes-base.manualTrigger",
	"typeVersion": 1,
	"position": [
		260,
		560
	]
	},
	{
	"parameters": {
		"operation": "getAllPeople"
	},
	"id": "497174fe-3cab-4160-8103-78b44efd038d",
	"name": "Customer Datastore (n8n training)",
	"type": "n8n-nodes-base.n8nTrainingCustomerDatastore",
	"typeVersion": 1,
	"position": [
		500,
		460
	]
	},
	{
	"parameters": {
		"jsCode": "return [\n  {\n    'name': 'Jay Gatsby',\n    'language': 'English',\n    'country': {\n      'code': 'US',\n      'name': 'United States'\n    }\n    \n  }\n  \n];"
	},
	"id": "387e8a1e-e796-4f05-8e75-7ce25c786c5f",
	"name": "Code",
	"type": "n8n-nodes-base.code",
	"typeVersion": 2,
	"position": [
		500,
		720
	]
	}
],
"connections": {
	"When clicking \"Execute workflow\"": {
	"main": [
		[
		{
			"node": "Customer Datastore (n8n training)",
			"type": "main",
			"index": 0
		},
		{
			"node": "Code",
			"type": "main",
			"index": 0
		}
		]
	]
	},
	"Customer Datastore (n8n training)": {
	"main": [
		[
		{
			"node": "Merge",
			"type": "main",
			"index": 0
		}
		]
	]
	},
	"Code": {
	"main": [
		[
		{
			"node": "Merge",
			"type": "main",
			"index": 1
		}
		]
	]
	}
},
"pinData": {}
}
```

루핑#

경우에 따라 배열의 각 요소나 각 데이터 항목에 동일한 작업을 수행해야 할 수 있습니다(예: 주소록의 모든 연락처에 메시지 보내기). 기술적 용어로는 데이터를 순회(루프)해야 합니다.

n8n은 일반적으로 노드가 각 항목에 대해 한 번씩 실행되므로 이 반복 처리를 자동으로 처리합니다. 따라서 워크플로에 루프를 구축할 필요가 없습니다.

하지만 워크플로에 루프를 구축해야 하는 예외 노드와 작업이 있습니다.

n8n 워크플로에서 루프를 만들려면 한 노드의 출력을 이전 노드의 입력에 연결하고, 루프를 중지할 시기를 확인하는 If 노드를 추가해야 합니다.

배치로 데이터 분할#

대량의 들어오는 데이터를 처리해야 하거나, Code 노드를 여러 번 실행해야 하거나, API 속도 제한을 피해야 하는 경우 데이터를 배치(그룹)로 분할하고 이 배치들을 처리하는 것이 가장 좋습니다.

이러한 프로세스에는 Loop Over Items 노드를 사용하세요. 이 노드는 입력 데이터를 지정된 배치 크기로 분할하고, 각 반복마다 미리 정해진 양의 데이터를 반환합니다.

Loop Over Items 노드 실행

Loop Over Items 노드는 들어오는 모든 항목이 배치로 나누어지고 워크플로의 다음 노드로 전달되면 실행을 중지하므로, 루프를 중지하기 위한 If 노드를 추가할 필요가 없습니다.

루프/배치 연습 문제#

Medium과 dev.to에서 RSS 피드를 읽는 워크플로를 구축하세요. 워크플로는 세 개의 노드로 구성되어야 합니다:

  1. Medium(https://medium.com/feed/n8n-io)과 dev.to(https://dev.to/feed/n8n)의 RSS 피드 URL을 반환하는 Code 노드.
  2. Code 노드RSS Read 노드에서 입력을 받아 항목을 순회하는 Batch Size: 1Loop Over Items 노드.
  3. 표현식으로 전달된 Medium RSS 피드의 URL을 가져오는 RSS Read 노드: {{ $json.url }}.
    • RSS Read 노드는 첫 번째로 받은 항목만 처리하는 예외 노드 중 하나이므로, 여러 항목을 순회하려면 Loop Over Items 노드가 필요합니다.
정답 보기
1. **Code 노드**를 추가합니다. 코드 형식은 여러 방법이 있으며 한 가지 방법은 다음과 같습니다:
	- **Mode**를 `Run Once for All Items`로 설정합니다.
	- **Language**를 `JavaScript`로 설정합니다.
	- 아래 코드를 복사하여 JavaScript Code 에디터에 붙여넣습니다:
		```javascript
		let urls = [
			{
				json: {
				url: 'https://medium.com/feed/n8n-io'
				}
			},
			{
			json: {
				url: 'https://dev.to/feed/n8n'
				}
			}
		]
		return urls;
		```
2. **Code 노드**에 연결된 **Loop Over Items 노드**를 추가합니다.
	- **Batch Size**를 `1`로 설정합니다.
3. **Loop Over Items 노드**는 자동으로 "Replace Me"라는 노드를 추가합니다. 해당 노드를 **RSS Read 노드**로 교체합니다.
	- **URL**을 Code 노드의 url을 사용하도록 설정합니다: `{{ $json.url }}`.

이 연습의 워크플로는 다음과 같이 보입니다:

<figure><img src="/images/docs/n8n/_images/courses/level-two/chapter-three/exercise_splitinbatches.png" alt="Workflow for getting RSS feeds from two blogs" style="width:100%"><figcaption align = "center"><i>두 블로그에서 RSS 피드를 가져오는 워크플로</i></figcaption></figure>

노드 설정을 확인하려면 아래 JSON 워크플로 코드를 복사하여 Editor UI에 붙여넣을 수 있습니다:

```json
{
"meta": {
	"templateCredsSetupCompleted": true,
	"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
},
"nodes": [
	{
	"parameters": {},
	"id": "ed8dc090-ae8c-4db6-a93b-0fa873015c25",
	"name": "When clicking \"Execute workflow\"",
	"type": "n8n-nodes-base.manualTrigger",
	"typeVersion": 1,
	"position": [
		460,
		460
	]
	},
	{
	"parameters": {
		"jsCode": "let urls = [\n  {\n    json: {\n      url: 'https://medium.com/feed/n8n-io'\n    }\n  },\n  {\n   json: {\n     url: 'https://dev.to/feed/n8n'\n   } \n  }\n]\n\nreturn urls;"
	},
	"id": "1df2a9bf-f970-4e04-b906-92dbbc9e8d3a",
	"name": "Code",
	"type": "n8n-nodes-base.code",
	"typeVersion": 2,
	"position": [
		680,
		460
	]
	},
	{
	"parameters": {
		"options": {}
	},
	"id": "3cce249a-0eab-42e2-90e3-dbdf3684e012",
	"name": "Loop Over Items",
	"type": "n8n-nodes-base.splitInBatches",
	"typeVersion": 3,
	"position": [
		900,
		460
	]
	},
	{
	"parameters": {
		"url": "={{ $json.url }}",
		"options": {}
	},
	"id": "50e1c1dc-9a5d-42d3-b7c0-accc31636aa6",
	"name": "RSS Read",
	"type": "n8n-nodes-base.rssFeedRead",
	"typeVersion": 1,
	"position": [
		1120,
		460
	]
	}
],
"connections": {
	"When clicking \"Execute workflow\"": {
	"main": [
		[
		{
			"node": "Code",
			"type": "main",
			"index": 0
		}
		]
	]
	},
	"Code": {
	"main": [
		[
		{
			"node": "Loop Over Items",
			"type": "main",
			"index": 0
		}
		]
	]
	},
	"Loop Over Items": {
	"main": [
		null,
		[
		{
			"node": "RSS Read",
			"type": "main",
			"index": 0
		}
		]
	]
	},
	"RSS Read": {
	"main": [
		[
		{
			"node": "Loop Over Items",
			"type": "main",
			"index": 0
		}
		]
	]
	}
},
"pinData": {}
}
```