8
n8n 한국어amn8n.com

[astro/nextjs] 글/게시물에 카테고리/태그 할당

고급

이것은Content Creation, AI Summarization분야의자동화 워크플로우로, 29개의 노드를 포함합니다.주로 Code, Form, Merge, Github, Switch 등의 노드를 사용하며. OpenAI GPT-4, GitHub, Google Sheets로 Astro/Next.js 블로그 게시물 자동 분류

사전 요구사항
  • GitHub Personal Access Token
  • Google Sheets API 인증 정보
  • OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "c3REFIr9ubIDDYJ5",
  "meta": {
    "instanceId": "2295c029f4cb86c8f849f9c87dade323734dc279619eb9e2704f8473c381e4d1",
    "templateCredsSetupCompleted": true
  },
  "name": "[astro/nextjs] Assign cattegories / tags for article / post",
  "tags": [],
  "nodes": [
    {
      "id": "48cac2b7-14b3-4d02-8db7-082c9a8a5cec",
      "name": "AI 에이전트",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2192,
        96
      ],
      "parameters": {
        "text": "={{ $json.path }}",
        "options": {
          "systemMessage": "You are a helpful assistant which helps to assign proper tags and categories for post. Example of post is added in section <post>.  \n\nEach post has a section which starts with \"---\" and ands with next ocurance of \"---\". This section is metadata which describes the post. After second ocurance of \"---\" file has a content. \n\nRead tags and categories and assign them to <tags> and <categories> variables used later in response.\n\nBased on content please provide categories assigned to <new_assigned_categories> and tags list assigned to <new_assigned_tags> as example below:\n\n<example>\ncategories: [\"business\"] \ntags: [\"DigitalGirls\", \"ITPioneers\", \"WomenInIT\", \"IT\", \"FemalePower\", \"Debugging\", \"GraceHopper\"] \n</example>\n\nFinal result should be post with updated metadata passed to variable <content>.\n\n<post> \n--- \ntitle: \"Where Did the Term ‘Debug’ Come From? – Women in IT\" \npubDate: 2024-07-23 description: \"Did you know that the term ‘debug’ was coined by Admiral Grace Hopper?\" \ncategories: [\"business\"] \ntags: [\"DigitalGirls\", \"ITPioneers\", \"WomenInIT\", \"IT\", \"FemalePower\", \"Debugging\", \"GraceHopper\"] \ncoverImage: \"@assets/2024-07-23-skad-sie-wzielo-okreslenie-debug-kobiety-w-it.jpeg\" \n---\n\nDid you know that the term debug was coined by Admiral Grace Hopper?\nWhile working on the Mark II computer at Harvard University, a moth got trapped in a relay, interfering with the machine’s operation. Removing the dead insect was humorously referred to by Admiral Hopper as debugging.\n\nPS. After a conversation with Wioletta Klimczak, I got my hands on the book “Digital Girls. Pioneers of Polish Computer Science” by Karolina Wasielewska. The story above comes from that book. It’s proof that women are an important part of the IT world!\n\n#DigitalGirls #ITPioneers #WomenInIT #IT #FemalePower #Debugging #GraceHopper\n</post>"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "1844db4c-6da3-47cb-be7a-2aad32126178",
      "name": "단순 메모리",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        2272,
        288
      ],
      "parameters": {
        "sessionKey": "simple_memory",
        "sessionIdType": "customKey",
        "contextWindowLength": 2
      },
      "typeVersion": 1.3
    },
    {
      "id": "5467bd31-25c6-4133-ba33-a6c66c332881",
      "name": "OpenAI 채팅 모델",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2128,
        288
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {
          "responseFormat": "json_object"
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "7lmHcPMAjhsZFa1f",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d462260a-ba85-4e3b-9ddf-f3e0d37ea249",
      "name": "게시물/아티클/페이지 나열",
      "type": "n8n-nodes-base.github",
      "position": [
        -240,
        512
      ],
      "webhookId": "ecf1a2e3-4fc4-4660-b4a9-a97743df2a1b",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "list",
          "value": "pjsikora",
          "cachedResultUrl": "https://github.com/pjsikora",
          "cachedResultName": "pjsikora"
        },
        "filePath": "src/content/blog/pl/",
        "resource": "file",
        "operation": "list",
        "repository": {
          "__rl": true,
          "mode": "list",
          "value": "astro-n8n-test",
          "cachedResultUrl": "https://github.com/pjsikora/astro-n8n-test",
          "cachedResultName": "astro-n8n-test"
        }
      },
      "credentials": {
        "githubApi": {
          "id": "Qjzxc6aMdLBzUGJB",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "3fb2d73a-f707-46dc-8357-67772d6a9b67",
      "name": "스티키 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        208
      ],
      "parameters": {
        "color": 6,
        "width": 256,
        "height": 480,
        "content": "## Define repository\nDefine repository and directory in which workflow can find articles / post "
      },
      "typeVersion": 1
    },
    {
      "id": "41217dfe-2aa3-43bc-a415-88d22bb7e042",
      "name": "스티키 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1424,
        -576
      ],
      "parameters": {
        "color": 5,
        "height": 416,
        "content": "## Get file content\nGet file content and pass it to AI Agent"
      },
      "typeVersion": 1
    },
    {
      "id": "9985d456-e5ec-4546-9020-ce0a0f9eb57c",
      "name": "게시물/아티클 분석으로 행 추가",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2768,
        400
      ],
      "parameters": {
        "columns": {
          "value": {
            "Tags": "={{ JSON.stringify($json.output.old_tags) }}",
            "FileName": "={{ $('Get post/article file').item.json.path }}",
            "Categories": "={{ JSON.stringify($json.output.old_categories) }}",
            "Proposed Tags": "={{ JSON.stringify($json.output.tags) }}",
            "Proposed Categories": "={{ JSON.stringify($json.output.categories) }}"
          },
          "schema": [
            {
              "id": "FileName",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "FileName",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Categories",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Categories",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Proposed Categories",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Proposed Categories",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Tags",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Tags",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Proposed Tags",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Proposed Tags",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo/edit?usp=drivesdk",
          "cachedResultName": "[AstroPosts]"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "sgj6aGeryqEVmS3h",
          "name": "GSheets - Piotr.Sikora.Ck@gmail.com"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "2476998a-9a1b-4d40-b9d1-32f6f68d5d02",
      "name": "스티키 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2624,
        112
      ],
      "parameters": {
        "color": 4,
        "width": 368,
        "height": 464,
        "content": "## Save propositions to Google SHeet file\n\nPrepare Google Sheet to contain following columns:\n- FileName\n- Categories\n- Proposed Categories\n- Tags\n- Proposed Tags"
      },
      "typeVersion": 1
    },
    {
      "id": "b8e31673-da84-4368-9f88-7a9cc2980e43",
      "name": "게시물/아티클 파일 가져오기",
      "type": "n8n-nodes-base.github",
      "position": [
        1504,
        -352
      ],
      "webhookId": "682a79e6-7c61-452d-8170-6f83196743a8",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "list",
          "value": "pjsikora",
          "cachedResultUrl": "https://github.com/pjsikora",
          "cachedResultName": "pjsikora"
        },
        "filePath": "={{ $json.path }}",
        "resource": "file",
        "operation": "get",
        "repository": {
          "__rl": true,
          "mode": "list",
          "value": "piotr-sikora.com",
          "cachedResultUrl": "https://github.com/pjsikora/piotr-sikora.com",
          "cachedResultName": "piotr-sikora.com"
        },
        "additionalParameters": {}
      },
      "credentials": {
        "githubApi": {
          "id": "Qjzxc6aMdLBzUGJB",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "980668bc-d2d2-4452-8f89-b16bec365c91",
      "name": "시트에서 행 가져오기",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -512,
        -512
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1MU35s5OAZ4rcCXRnvkkcxrgSVAjXISeULPrCdCl0gXo/edit?usp=drivesdk",
          "cachedResultName": "[AstroPosts]"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "sgj6aGeryqEVmS3h",
          "name": "GSheets - Piotr.Sikora.Ck@gmail.com"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "00c43343-2e97-43fb-96d7-a1df7492516e",
      "name": "파일명만 나열 / 중복 제거",
      "type": "n8n-nodes-base.code",
      "position": [
        -240,
        -512
      ],
      "parameters": {
        "jsCode": "const filteredList = $input.all().map(item => {\n  return {\n    json: {\n      path: item.json.FileName\n    }\n  };\n});\n\n\nconst seen = new Set();\nconst unique = [];\n\nfor (const item of filteredList) {\n  const name = item.json.path;\n  if (!seen.has(name)) {\n    seen.add(name);\n    unique.push(item);\n  }\n}\n\nreturn unique;"
      },
      "typeVersion": 2
    },
    {
      "id": "2f1096f5-0280-4a3b-9a6f-3247bdd1ea44",
      "name": "GitHub 저장소에서 파일 경로만 가져오기",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        48,
        512
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "renameField": true,
              "outputFieldName": "githubPaths",
              "fieldToAggregate": "path"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "31799c27-6a3b-4220-bceb-e7dcf6277f5f",
      "name": "GoogleSheets에서 파일 경로만 가져오기",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        32,
        -512
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "renameField": true,
              "outputFieldName": "googlesheetsPaths",
              "fieldToAggregate": "path"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3aba4eab-3305-4f86-9976-ef33d5a7c96e",
      "name": "AI 처리를 위한 새 저장소 파일 확인",
      "type": "n8n-nodes-base.code",
      "position": [
        800,
        -448
      ],
      "parameters": {
        "jsCode": "const allItems = $input.all();\n\n// Extract arrays \nconst googlePaths = allItems.find(i => i.json.googlesheetsPaths)?.json.googlesheetsPaths || [];\nconst githubPaths = allItems.find(i => i.json.githubPaths)?.json.githubPaths || [];\n\n// Compute difference: elements in githubPaths not in googlesheetsPaths\nconst difference = githubPaths.filter(path => !googlePaths.includes(path));\n\n// Return as n8n item array\nreturn difference.map(path => ({ json: { path } }));"
      },
      "typeVersion": 2,
      "alwaysOutputData": true
    },
    {
      "id": "1b542ec1-b963-4064-89fb-40a2a846c5f6",
      "name": "스위치",
      "type": "n8n-nodes-base.switch",
      "position": [
        1008,
        -448
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Empty JSON",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "7a2c39ae-c079-4e60-ac98-163b1b148244",
                    "operator": {
                      "type": "object",
                      "operation": "empty",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Not empty JSON",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "90067dec-6a4b-4a26-8703-61d4fd44ed7a",
                    "operator": {
                      "type": "object",
                      "operation": "notEmpty",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.3
    },
    {
      "id": "8e129b23-d5a7-4630-ab8a-e780373657db",
      "name": "폼 제출 시",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -832,
        -512
      ],
      "webhookId": "67880b06-ee61-4732-9324-3440d25c9f95",
      "parameters": {
        "options": {},
        "formTitle": "Start process ",
        "formDescription": "Start process of adding tags and categories"
      },
      "typeVersion": 2.3
    },
    {
      "id": "47908ded-1702-483c-9ab9-f60a1ba3c82f",
      "name": "GitHub에 새 게시물/아티클 없음",
      "type": "n8n-nodes-base.form",
      "position": [
        1488,
        -848
      ],
      "webhookId": "bee21cb0-92f3-45a1-b680-d9fc37b4f9d8",
      "parameters": {
        "options": {},
        "operation": "completion",
        "completionTitle": "List is empty",
        "completionMessage": "List of articles is empty (there is no new articles/pages in repository)"
      },
      "typeVersion": 2.3
    },
    {
      "id": "a1410a1b-0ce6-490e-912b-3c14107b13bb",
      "name": "처리 완료 - 카테고리 및 태그 추가됨",
      "type": "n8n-nodes-base.form",
      "position": [
        2176,
        -560
      ],
      "webhookId": "bee21cb0-92f3-45a1-b680-d9fc37b4f9d8",
      "parameters": {
        "options": {},
        "operation": "completion",
        "completionTitle": "Proces finished",
        "completionMessage": "Categories and tags added"
      },
      "typeVersion": 2.3
    },
    {
      "id": "ec135e1d-ba4d-4069-8da0-a1d663ad839c",
      "name": "GitHub 및 Google Sheets 읽기 병합",
      "type": "n8n-nodes-base.merge",
      "position": [
        560,
        -448
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "ba6b4acc-e548-4df7-9559-bf3ba9b087b6",
      "name": "구조화된 출력 파서",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2416,
        288
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"old_categories\": [\"category1\"],\n  \"categories\": [\"category1\",\"category2\"],\n  \"old_tags\": [\"tag1\",\"tag2\"],\n  \"tags\": [\"tag1\",\"tag2\",\"tag3\",\"tag4\"]\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "a637ee7d-af38-420d-8717-e82dbafb3edb",
      "name": "스티키 노트3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -592,
        -960
      ],
      "parameters": {
        "color": 4,
        "width": 256,
        "height": 608,
        "content": "## Get list of posts from Google Sheets\n\nThis step prevents repeating usage of AI Agent for previously analysed posts/pages.\n\nPrepare Google Sheet to contain following columns:\n- FileName\n- Categories\n- Proposed Categories\n- Tags\n- Proposed Tags"
      },
      "typeVersion": 1
    },
    {
      "id": "3fa92146-9b0d-45a9-be49-9cf6be9d66ec",
      "name": "스티키 노트4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -960
      ],
      "parameters": {
        "color": 7,
        "width": 256,
        "height": 608,
        "content": "## List FileNames only and Remove duplicates\n\nThis function filters out duplicate items from a list of Google Sheet objects based on the value of each item’s `FileName` property"
      },
      "typeVersion": 1
    },
    {
      "id": "1653cada-fdf6-418e-aab6-bb715d25ebf1",
      "name": "스티키 노트5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -960
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 608,
        "content": "## Conver JSON to Array\n\nConvert from:\n```\n{\n\"path\": \"src1\"\n},\n{\n\"path\": \"src2\"\n},\n```\nTo\n```\n{\n\"googlesheetsPaths\": \n[\n\"src1\", \n\"src2\"\n]\n}\n```"
      },
      "typeVersion": 1
    },
    {
      "id": "45a2544a-424d-466c-9fa4-afa25ea1f08c",
      "name": "스티키 노트6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1424,
        -1008
      ],
      "parameters": {
        "height": 352,
        "content": "## No new files in GitHub repository\n"
      },
      "typeVersion": 1
    },
    {
      "id": "8b7ed568-b0fb-4589-9d5d-cf10699794d1",
      "name": "스티키 노트7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        208
      ],
      "parameters": {
        "color": 7,
        "width": 320,
        "height": 480,
        "content": "## Conver JSON to Array\n\nConvert complex JSON to Array\n```\n{\n\"githubPaths\": \n[\n\"src1\", \n\"src2\"\n]\n}\n```"
      },
      "typeVersion": 1
    },
    {
      "id": "c39a9ece-2d68-47c0-b4e5-82e6acb0eb1e",
      "name": "스티키 노트8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        -608
      ],
      "parameters": {
        "color": 7,
        "width": 256,
        "height": 320,
        "content": "## Compare list from Google Sheets with list from Github\n"
      },
      "typeVersion": 1
    },
    {
      "id": "97c232f0-6358-442d-a8c1-8234e7afff4d",
      "name": "스티키 노트9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2080,
        -288
      ],
      "parameters": {
        "color": 7,
        "width": 480,
        "height": 736,
        "content": "## AI Agent\n\nRole of **AI Agent** is to:\n- Analyse content of the file (post/page)\n- Assign categories and tags per analysed file\n- Return JSON in format by `Structured output` like below:\n\n```\n{\n  \"old_categories\": [\"category1\"],\n  \"categories\": [\"category1\",\"category2\"],\n  \"old_tags\": [\"tag1\",\"tag2\"],\n  \"tags\": [\"tag1\",\"tag2\",\"tag3\",\"tag4\"]\n}\n```"
      },
      "typeVersion": 1
    },
    {
      "id": "935037f1-860d-42a3-b898-fccbd545c145",
      "name": "게시물/페이지 반복 처리",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1776,
        -352
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "779d1b8f-1523-4c49-bdcc-6f4ed34ca301",
      "name": "스티키 노트10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2096,
        -736
      ],
      "parameters": {
        "height": 352,
        "content": "## No new files in GitHub repository\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e501f3f5-a580-4fdb-94cb-62bb5de8d0dc",
  "connections": {
    "1b542ec1-b963-4064-89fb-40a2a846c5f6": {
      "main": [
        [
          {
            "node": "47908ded-1702-483c-9ab9-f60a1ba3c82f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "b8e31673-da84-4368-9f88-7a9cc2980e43",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "48cac2b7-14b3-4d02-8db7-082c9a8a5cec": {
      "main": [
        [
          {
            "node": "9985d456-e5ec-4546-9020-ce0a0f9eb57c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1844db4c-6da3-47cb-be7a-2aad32126178": {
      "ai_memory": [
        [
          {
            "node": "48cac2b7-14b3-4d02-8db7-082c9a8a5cec",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "5467bd31-25c6-4133-ba33-a6c66c332881": {
      "ai_languageModel": [
        [
          {
            "node": "48cac2b7-14b3-4d02-8db7-082c9a8a5cec",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "8e129b23-d5a7-4630-ab8a-e780373657db": {
      "main": [
        [
          {
            "node": "980668bc-d2d2-4452-8f89-b16bec365c91",
            "type": "main",
            "index": 0
          },
          {
            "node": "d462260a-ba85-4e3b-9ddf-f3e0d37ea249",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "980668bc-d2d2-4452-8f89-b16bec365c91": {
      "main": [
        [
          {
            "node": "00c43343-2e97-43fb-96d7-a1df7492516e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b8e31673-da84-4368-9f88-7a9cc2980e43": {
      "main": [
        [
          {
            "node": "935037f1-860d-42a3-b898-fccbd545c145",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "935037f1-860d-42a3-b898-fccbd545c145": {
      "main": [
        [
          {
            "node": "a1410a1b-0ce6-490e-912b-3c14107b13bb",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "48cac2b7-14b3-4d02-8db7-082c9a8a5cec",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba6b4acc-e548-4df7-9559-bf3ba9b087b6": {
      "ai_outputParser": [
        [
          {
            "node": "48cac2b7-14b3-4d02-8db7-082c9a8a5cec",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "d462260a-ba85-4e3b-9ddf-f3e0d37ea249": {
      "main": [
        [
          {
            "node": "2f1096f5-0280-4a3b-9a6f-3247bdd1ea44",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ec135e1d-ba4d-4069-8da0-a1d663ad839c": {
      "main": [
        [
          {
            "node": "3aba4eab-3305-4f86-9976-ef33d5a7c96e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3aba4eab-3305-4f86-9976-ef33d5a7c96e": {
      "main": [
        [
          {
            "node": "1b542ec1-b963-4064-89fb-40a2a846c5f6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "31799c27-6a3b-4220-bceb-e7dcf6277f5f": {
      "main": [
        [
          {
            "node": "ec135e1d-ba4d-4069-8da0-a1d663ad839c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "00c43343-2e97-43fb-96d7-a1df7492516e": {
      "main": [
        [
          {
            "node": "31799c27-6a3b-4220-bceb-e7dcf6277f5f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9985d456-e5ec-4546-9020-ce0a0f9eb57c": {
      "main": [
        [
          {
            "node": "935037f1-860d-42a3-b898-fccbd545c145",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2f1096f5-0280-4a3b-9a6f-3247bdd1ea44": {
      "main": [
        [
          {
            "node": "ec135e1d-ba4d-4069-8da0-a1d663ad839c",
            "type": "main",
            "index": 1
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - 콘텐츠 제작, AI 요약

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수29
카테고리2
노드 유형14
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34