N8N 워크플로우를 Github에 백업합니다.
고급
이것은자동화 워크플로우로, 30개의 노드를 포함합니다.주로 If, N8n, Set, Code, Wait 등의 노드를 사용하며. N8N 워크플로우를 Github에 백업합니다.
사전 요구사항
- •GitHub Personal Access Token
- •Discord Bot Token 또는 Webhook
사용된 노드 (30)
카테고리
-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "7a94cd64cdcb53cb721e010cea9e90907c1dc5fd6766b2d732b573c42bb273f8",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "696255b0-7786-410c-927f-ffb4fa7784b9",
"name": "'실행' 클릭 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
400,
-400
],
"parameters": {},
"typeVersion": 1
},
{
"id": "5ffbd7ff-596c-4d69-a327-95ab9e31c144",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
140
],
"parameters": {
"color": 6,
"width": 2111,
"height": 752,
"content": "## Subworkflow"
},
"typeVersion": 1
},
{
"id": "d552bfbd-24cc-43ab-b008-ba837525e234",
"name": "워크플로우 트리거 실행",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
180,
540
],
"parameters": {},
"typeVersion": 1
},
{
"id": "4cf656ea-b62c-4c9a-9a2c-f3cd4736af6f",
"name": "n8n",
"type": "n8n-nodes-base.n8n",
"position": [
800,
-300
],
"parameters": {
"filters": {},
"requestOptions": {}
},
"credentials": {
"n8nApi": {
"id": "n99peePbw8bFtE9X",
"name": "N8N Key (Github Backup)"
}
},
"typeVersion": 1
},
{
"id": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
"name": "반환",
"type": "n8n-nodes-base.set",
"position": [
2140,
340
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "8d513345-6484-431f-afb7-7cf045c90f4f",
"name": "Done",
"type": "boolean",
"value": true
}
]
}
},
"typeVersion": 3.3
},
{
"id": "cc1748c6-972e-4909-a0d9-2aada40e49b6",
"name": "파일이 너무 큰 경우",
"type": "n8n-nodes-base.if",
"position": [
820,
260
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "45ce825e-9fa6-430c-8931-9aaf22c42585",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.content }}",
"rightValue": ""
},
{
"id": "3ce332ca-3827-4c2d-becd-837da737d285",
"operator": {
"type": "string",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $json.error }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
"name": "항목 병합",
"type": "n8n-nodes-base.merge",
"position": [
820,
520
],
"parameters": {},
"typeVersion": 2
},
{
"id": "627cc21c-1f7f-4266-a558-357289bb2746",
"name": "동일 파일 - 조치 없음",
"type": "n8n-nodes-base.noOp",
"position": [
1680,
340
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6e77f25e-b58c-4e23-a5c7-1951c36e59b6",
"name": "파일이 다른 경우",
"type": "n8n-nodes-base.noOp",
"position": [
1680,
500
],
"parameters": {},
"typeVersion": 1
},
{
"id": "37d72317-7140-45eb-ac62-e88ec7b9fc97",
"name": "새 파일인 경우",
"type": "n8n-nodes-base.noOp",
"position": [
1680,
700
],
"parameters": {},
"typeVersion": 1
},
{
"id": "770c9612-e6fb-4d6c-9a89-459e7d5acc31",
"name": "새 파일 생성",
"type": "n8n-nodes-base.github",
"position": [
1900,
700
],
"webhookId": "fc6b1cf0-6440-4fb0-94bf-fadabb6ea1fd",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').first().json.repo_owner }}"
},
"filePath": "={{ $('Create sub path').item.json.subPath }}/{{ $('Execute Workflow Trigger').first().json.id }}.json",
"resource": "file",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').first().json.repo_name }}"
},
"fileContent": "={{ JSON.stringify($('Config').first().json.data) }}",
"commitMessage": "={{$('Execute Workflow Trigger').first().json.name}} ({{$json.githubStatus}})"
},
"credentials": {
"githubApi": {
"id": "nEsQmNXwV6LPvaNE",
"name": "GitHub account"
}
},
"typeVersion": 1
},
{
"id": "121272d6-0535-494e-b14a-3cc00f87cb8d",
"name": "기존 파일 편집",
"type": "n8n-nodes-base.github",
"position": [
1900,
500
],
"webhookId": "81fc5f33-06e3-4368-ba2e-0ef46dd8b021",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').first().json.repo_owner }}"
},
"filePath": "={{ $('Create sub path').item.json.subPath }}/{{ $('Execute Workflow Trigger').first().json.id }}.json",
"resource": "file",
"operation": "edit",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').first().json.repo_name }}"
},
"fileContent": "={{ JSON.stringify($('Config').first().json.data) }}",
"commitMessage": "={{$('Execute Workflow Trigger').first().json.name}} ({{ $json.githubStatus }})"
},
"credentials": {
"githubApi": {
"id": "nEsQmNXwV6LPvaNE",
"name": "GitHub account"
}
},
"typeVersion": 1
},
{
"id": "2847116a-c862-4803-8079-a40e4edd22f7",
"name": "항목 루프",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1000,
-300
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "ec0c92a3-73fa-480b-bdd3-e51648e8b0a0",
"name": "스케줄 트리거",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
400,
-200
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks",
"triggerAtDay": [
6
],
"triggerAtHour": 1
}
]
}
},
"typeVersion": 1.2
},
{
"id": "289ec775-7191-4710-85e8-ae33542f9fbd",
"name": "하위 경로 생성",
"type": "n8n-nodes-base.set",
"position": [
1260,
520
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "dae43d3b-56e5-4098-b602-862ebf5cd073",
"name": "subPath",
"type": "string",
"value": "={{ $now.setZone('UTC').toFormat('yyyy') }}/{{ $now.setZone('UTC').toFormat('MM') }}/{{ $now.setZone('UTC').toFormat('dd') }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.3
},
{
"id": "b9bf504a-3acf-4706-992d-a522e9693df8",
"name": "스티키 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
-500
],
"parameters": {
"color": 7,
"width": 2113,
"height": 616,
"content": "## Main workflow loop"
},
"typeVersion": 1
},
{
"id": "2470503e-cb6a-44a5-a4aa-b431874e2e09",
"name": "설정",
"type": "n8n-nodes-base.set",
"position": [
440,
540
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "8f6d1741-772f-462a-811f-4c334185e4f0",
"name": "repo_owner",
"type": "string",
"value": "=datproto"
},
{
"id": "8cac215c-4fd7-422f-9fd2-6b2d1e5e0383",
"name": "repo_name",
"type": "string",
"value": "=datproto-backup-n8n"
},
{
"id": "2b38f96a-a970-4d13-900e-f15e4cd65c51",
"name": "data",
"type": "object",
"value": "={{\n {\n \"nodes\": $('Execute Workflow Trigger').item.json.nodes,\n \"connections\": $('Execute Workflow Trigger').item.json.connections,\n \"pinData\": $('Execute Workflow Trigger').item.json.pinData,\n \"meta\": $('Execute Workflow Trigger').item.json.meta\n }\n}}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "a7d835f2-de5e-4121-acad-9041c126401c",
"name": "시작 메시지",
"type": "n8n-nodes-base.discord",
"position": [
600,
-300
],
"webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
"parameters": {
"content": "=The Git backup here. Below is my latest activity:\n```\n👉 Starting Workflow Backup [{{ $execution.id }}]\n```",
"guildId": {
"__rl": true,
"mode": "list",
"value": "1344944764851851344",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344",
"cachedResultName": "Dat Proto's server"
},
"options": {},
"resource": "message",
"channelId": {
"__rl": true,
"mode": "list",
"value": "1344944973958873212",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
"cachedResultName": "n8n"
}
},
"credentials": {
"discordBotApi": {
"id": "i8z7R64uXW2cjYik",
"name": "N8N Bot"
}
},
"typeVersion": 2
},
{
"id": "c71ddc51-cbf9-4437-b2b4-9d60f2e1a039",
"name": "완료 알림",
"type": "n8n-nodes-base.discord",
"position": [
1640,
-440
],
"webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
"parameters": {
"content": "=The Git backup here. Below is my latest activity:\n```\n✅ Backup has completed - {{ $('n8n').all().length }} workflows have been processed.\n```",
"guildId": {
"__rl": true,
"mode": "list",
"value": "1344944764851851344",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344",
"cachedResultName": "Dat Proto's server"
},
"options": {},
"resource": "message",
"channelId": {
"__rl": true,
"mode": "list",
"value": "1344944973958873212",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
"cachedResultName": "n8n"
}
},
"credentials": {
"discordBotApi": {
"id": "i8z7R64uXW2cjYik",
"name": "N8N Bot"
}
},
"executeOnce": true,
"typeVersion": 2
},
{
"id": "110ba2cd-6a39-4663-81d5-6b2893d42e18",
"name": "파일 데이터 가져오기",
"type": "n8n-nodes-base.github",
"position": [
620,
260
],
"webhookId": "883c4829-4a9d-4320-ab49-226a5bc15863",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ $json.repo_owner }}"
},
"filePath": "={{ $now.setZone('UTC').toFormat('yyyy') }}/{{ $now.setZone('UTC').toFormat('MM') }}/{{ $now.setZone('UTC').toFormat('dd') }}/{{ $('Execute Workflow Trigger').item.json.id }}.json",
"resource": "file",
"operation": "get",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ $json.repo_name }}"
},
"asBinaryProperty": false,
"additionalParameters": {}
},
"credentials": {
"githubApi": {
"id": "nEsQmNXwV6LPvaNE",
"name": "GitHub account"
}
},
"typeVersion": 1,
"continueOnFail": true,
"alwaysOutputData": true
},
{
"id": "2bdbcb80-2c2b-4fb8-bddb-eb9e6c6db0e0",
"name": "워크플로우 실행",
"type": "n8n-nodes-base.executeWorkflow",
"onError": "continueErrorOutput",
"position": [
1420,
-200
],
"parameters": {
"options": {},
"workflowId": {
"__rl": true,
"mode": "id",
"value": "={{ $workflow.id }}"
},
"workflowInputs": {
"value": {},
"schema": [],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "2366b904-8f2f-42ce-aa2f-fc941cb73ad4",
"name": "대기",
"type": "n8n-nodes-base.wait",
"position": [
1640,
-100
],
"webhookId": "577d599b-e2eb-4e7c-92aa-b9ca787cc40a",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "e9ad632a-0506-4709-a485-67c45bf388f6",
"name": "파일 가져오기",
"type": "n8n-nodes-base.github",
"position": [
1040,
240
],
"webhookId": "81fc5f33-06e3-4368-ba2e-0ef46dd8b021",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').item.json.repo_owner }}"
},
"filePath": "={{ $now.setZone('UTC').toFormat('yyyy') }}/{{ $now.setZone('UTC').toFormat('MM') }}/{{ $now.setZone('UTC').toFormat('dd') }}/{{ $('Execute Workflow Trigger').item.json.id }}.json",
"resource": "file",
"operation": "get",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').item.json.repo_name }}"
},
"additionalParameters": {}
},
"credentials": {
"githubApi": {
"id": "nEsQmNXwV6LPvaNE",
"name": "GitHub account"
}
},
"typeVersion": 1
},
{
"id": "656913c3-cb57-4129-ae12-42f70800a9ef",
"name": "대기1",
"type": "n8n-nodes-base.wait",
"position": [
1420,
-440
],
"webhookId": "4a7448b4-930e-4110-b205-95c55cac5bba",
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "09738ea8-1a61-4967-ac3d-2a9f64b39329",
"name": "차이점 확인",
"type": "n8n-nodes-base.code",
"position": [
1040,
520
],
"parameters": {
"jsCode": "const _ = require(\"underscore\")\n\nlet fileInput = null\n\nif (Object.keys($input.first().json).includes(\"content\")) {\n fileInput = JSON.parse(Buffer.from($input.all()[0].json.content, 'base64').toString())\n}\n\nconst n8nInput = $input.last().json.data\n\nif (!fileInput) {\n return {\n \"githubStatus\": \"new\"\n }\n}\n\nif (_.isMatch(fileInput, n8nInput)) {\n return {\n \"githubStatus\": \"same\"\n }\n} else {\n return {\n \"githubStatus\": \"different\"\n }\n}"
},
"typeVersion": 2
},
{
"id": "7cb7b34c-8742-44c3-9792-1084abf2783a",
"name": "스위치",
"type": "n8n-nodes-base.switch",
"position": [
1460,
520
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "same",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1e6de6b4-3074-41bc-8a9d-465c0eb9a773",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('verifyTheDifference').first().json.githubStatus }}",
"rightValue": "same"
}
]
},
"renameOutput": true
},
{
"outputKey": "different",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "cf6e130e-c85d-4a24-b11a-abfd0ecfcb19",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('verifyTheDifference').first().json.githubStatus }}",
"rightValue": "different"
}
]
},
"renameOutput": true
},
{
"outputKey": "=new",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f2fc6dda-85f5-4b81-b016-3e033b1dbcab",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('verifyTheDifference').first().json.githubStatus }}",
"rightValue": "new"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "c6410f39-34d8-448f-9efd-d66da067637b",
"name": "대기2",
"type": "n8n-nodes-base.wait",
"position": [
1640,
-280
],
"webhookId": "4a7448b4-930e-4110-b205-95c55cac5bba",
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "a3c4ff40-9887-4e38-985a-f32536d9306f",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-540,
-500
],
"parameters": {
"color": 4,
"width": 680,
"height": 1400,
"content": "# Workflows backup to Github\n======================================================================\n\n## Introduction\nThis workflow will backup all of your existed workflows to a single Github repository.\n\nThe Backup folders' name are based on the current backup date and have default format: \"yyyy/MM/dd\" (setup at \"Create sub path\" node).\n\nThroughout the backup process, the N8N will inform user via discord with clear message about Start, Success and Failure backups.\n\n## Tech Stack\nThe following nodes / services / libraries are used in this workflow:\n\n### Nodes:\n1. **Discord:** To send message to configured setup channel.\n2. **N8N:** To get all workflows' information.\n3. **Github:** To store backup data.\n4. **Code:** To run data comparison (Existed vs Latest workflow data).\n5. **Wait:** To avoid discord message rate limit.\n\n### External libraries:\n1. **Underscore.js:** JavaScript library that provides lots of common Javascript functions, to help user save time when using code node.\n\n## Guideline\n1. Open \"Config\" node and setup the following information:\n - **repo_owner:** Your Github username.\n - **repo_name:** The repository that you want to store workflows backup data.\n2. Open \"Create sub path\" node and change the naming and path format of backup folder(s).\n3. Setup custom messages in 3 discord nodes:\n - **Starting Message:** N8N inform user at the time workflow start.\n - **Inform Success Flows:** After each success backup, N8N will notify user.\n - **Inform Failed Flows:** After each failure backup, N8N will notify user to have appropriate action.\n - **Completed Notifications:** Then at the final, the workflow will give user a summary."
},
"typeVersion": 1
},
{
"id": "d511ce8a-1617-4a2a-96d8-6e71ddc372b7",
"name": "성공 흐름 알림",
"type": "n8n-nodes-base.discord",
"onError": "continueRegularOutput",
"position": [
1840,
-280
],
"webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
"parameters": {
"content": "=The Git backup here. Below is my latest activity:\n```\n✅ Success to backup {{ $('Loop Over Items').item.json.id }}\n```",
"guildId": {
"__rl": true,
"mode": "list",
"value": "1344944764851851344",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344",
"cachedResultName": "Dat Proto's server"
},
"options": {},
"resource": "message",
"channelId": {
"__rl": true,
"mode": "list",
"value": "1344944973958873212",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
"cachedResultName": "n8n"
}
},
"credentials": {
"discordBotApi": {
"id": "i8z7R64uXW2cjYik",
"name": "N8N Bot"
}
},
"typeVersion": 2
},
{
"id": "21052f64-d4b6-4b67-8cb4-dd022a0dab71",
"name": "실패 흐름 알림",
"type": "n8n-nodes-base.discord",
"position": [
1840,
-100
],
"webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
"parameters": {
"content": "=The Git backup here. Below is my latest activity:\n```\n👉 Failed to backup {{ $('Loop Over Items').item.json.id }}\n```",
"guildId": {
"__rl": true,
"mode": "list",
"value": "1344944764851851344",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344",
"cachedResultName": "Dat Proto's server"
},
"options": {},
"resource": "message",
"channelId": {
"__rl": true,
"mode": "list",
"value": "1344944973958873212",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
"cachedResultName": "n8n"
}
},
"credentials": {
"discordBotApi": {
"id": "i8z7R64uXW2cjYik",
"name": "N8N Bot"
}
},
"typeVersion": 2
}
],
"pinData": {},
"connections": {
"4cf656ea-b62c-4c9a-9a2c-f3cd4736af6f": {
"main": [
[
{
"node": "2847116a-c862-4803-8079-a40e4edd22f7",
"type": "main",
"index": 0
}
]
]
},
"2366b904-8f2f-42ce-aa2f-fc941cb73ad4": {
"main": [
[
{
"node": "21052f64-d4b6-4b67-8cb4-dd022a0dab71",
"type": "main",
"index": 0
}
]
]
},
"656913c3-cb57-4129-ae12-42f70800a9ef": {
"main": [
[
{
"node": "c71ddc51-cbf9-4437-b2b4-9d60f2e1a039",
"type": "main",
"index": 0
}
]
]
},
"c6410f39-34d8-448f-9efd-d66da067637b": {
"main": [
[
{
"node": "d511ce8a-1617-4a2a-96d8-6e71ddc372b7",
"type": "main",
"index": 0
}
]
]
},
"2470503e-cb6a-44a5-a4aa-b431874e2e09": {
"main": [
[
{
"node": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
"type": "main",
"index": 1
},
{
"node": "110ba2cd-6a39-4663-81d5-6b2893d42e18",
"type": "main",
"index": 0
}
]
]
},
"7cb7b34c-8742-44c3-9792-1084abf2783a": {
"main": [
[
{
"node": "627cc21c-1f7f-4266-a558-357289bb2746",
"type": "main",
"index": 0
}
],
[
{
"node": "6e77f25e-b58c-4e23-a5c7-1951c36e59b6",
"type": "main",
"index": 0
}
],
[
{
"node": "37d72317-7140-45eb-ac62-e88ec7b9fc97",
"type": "main",
"index": 0
}
]
]
},
"e9ad632a-0506-4709-a485-67c45bf388f6": {
"main": [
[
{
"node": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
"type": "main",
"index": 0
}
]
]
},
"37d72317-7140-45eb-ac62-e88ec7b9fc97": {
"main": [
[
{
"node": "770c9612-e6fb-4d6c-9a89-459e7d5acc31",
"type": "main",
"index": 0
}
]
]
},
"68c529b3-8530-42c9-8efa-7c35ea6c24f0": {
"main": [
[
{
"node": "09738ea8-1a61-4967-ac3d-2a9f64b39329",
"type": "main",
"index": 0
}
]
]
},
"110ba2cd-6a39-4663-81d5-6b2893d42e18": {
"main": [
[
{
"node": "cc1748c6-972e-4909-a0d9-2aada40e49b6",
"type": "main",
"index": 0
}
]
]
},
"770c9612-e6fb-4d6c-9a89-459e7d5acc31": {
"main": [
[
{
"node": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
"type": "main",
"index": 0
}
]
]
},
"289ec775-7191-4710-85e8-ae33542f9fbd": {
"main": [
[
{
"node": "7cb7b34c-8742-44c3-9792-1084abf2783a",
"type": "main",
"index": 0
}
]
]
},
"2847116a-c862-4803-8079-a40e4edd22f7": {
"main": [
[
{
"node": "656913c3-cb57-4129-ae12-42f70800a9ef",
"type": "main",
"index": 0
}
],
[
{
"node": "2bdbcb80-2c2b-4fb8-bddb-eb9e6c6db0e0",
"type": "main",
"index": 0
}
]
]
},
"2bdbcb80-2c2b-4fb8-bddb-eb9e6c6db0e0": {
"main": [
[
{
"node": "c6410f39-34d8-448f-9efd-d66da067637b",
"type": "main",
"index": 0
}
],
[
{
"node": "2366b904-8f2f-42ce-aa2f-fc941cb73ad4",
"type": "main",
"index": 0
}
]
]
},
"ec0c92a3-73fa-480b-bdd3-e51648e8b0a0": {
"main": [
[
{
"node": "a7d835f2-de5e-4121-acad-9041c126401c",
"type": "main",
"index": 0
}
]
]
},
"a7d835f2-de5e-4121-acad-9041c126401c": {
"main": [
[
{
"node": "4cf656ea-b62c-4c9a-9a2c-f3cd4736af6f",
"type": "main",
"index": 0
}
]
]
},
"6e77f25e-b58c-4e23-a5c7-1951c36e59b6": {
"main": [
[
{
"node": "121272d6-0535-494e-b14a-3cc00f87cb8d",
"type": "main",
"index": 0
}
]
]
},
"cc1748c6-972e-4909-a0d9-2aada40e49b6": {
"main": [
[
{
"node": "e9ad632a-0506-4709-a485-67c45bf388f6",
"type": "main",
"index": 0
}
],
[
{
"node": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
"type": "main",
"index": 0
}
]
]
},
"121272d6-0535-494e-b14a-3cc00f87cb8d": {
"main": [
[
{
"node": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
"type": "main",
"index": 0
}
]
]
},
"21052f64-d4b6-4b67-8cb4-dd022a0dab71": {
"main": [
[
{
"node": "2847116a-c862-4803-8079-a40e4edd22f7",
"type": "main",
"index": 0
}
]
]
},
"09738ea8-1a61-4967-ac3d-2a9f64b39329": {
"main": [
[
{
"node": "289ec775-7191-4710-85e8-ae33542f9fbd",
"type": "main",
"index": 0
}
]
]
},
"d511ce8a-1617-4a2a-96d8-6e71ddc372b7": {
"main": [
[
{
"node": "2847116a-c862-4803-8079-a40e4edd22f7",
"type": "main",
"index": 0
}
]
]
},
"696255b0-7786-410c-927f-ffb4fa7784b9": {
"main": [
[
{
"node": "a7d835f2-de5e-4121-acad-9041c126401c",
"type": "main",
"index": 0
}
]
]
},
"627cc21c-1f7f-4266-a558-357289bb2746": {
"main": [
[
{
"node": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
"type": "main",
"index": 0
}
]
]
},
"d552bfbd-24cc-43ab-b008-ba837525e234": {
"main": [
[
{
"node": "2470503e-cb6a-44a5-a4aa-b431874e2e09",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
자동화된 n8n 워크플로우 백업至 GitHub 및 삭제 추적
삭제 추적이 포함된 GitHub 자동화 n8n 워크플로우 백업
If
N8n
Set
+
If
N8n
Set
31 노드Marcial Ambriz
데브옵스
GitHub(서브 폴더)에 작업 흐름을 백업
Github에 작업 흐름 백업(서브 폴더)
If
N8n
Set
+
If
N8n
Set
25 노드Nazmy
기타
GitHub에 작업 흐름을 백업
Github에 작업 흐름 백업
If
N8n
Set
+
If
N8n
Set
23 노드Solomon
기타
Typebot 플로우와 GitHub 양방향 동기화, Typebot API 사용
Typebot API를 활용한 Typebot 플로우와 GitHub 양방향 동기화
If
Set
Code
+
If
Set
Code
31 노드Marcial Ambriz
데브옵스
GitHub 동기화 대시보드 - V2
提交 기록과 롤백 기능을 갖춘 GitHub 워크플로우 버전 관리 대시보드
If
N8n
Set
+
If
N8n
Set
94 노드Eduard
데브옵스
자동화된 Discord 스팸 메시지 심사
AI와 인간-기계 협업을 결합한 자동화된 Discord 스팸 모더레이션
If
Set
Code
+
If
Set
Code
30 노드Jimleuk
인공지능