8
n8n 한국어amn8n.com

Dumpling AI와 GPT-4o를 사용한 AI 뉴스 댓글 자동 생성

중급

이것은AI, Marketing분야의자동화 워크플로우로, 14개의 노드를 포함합니다.주로 Code, Wait, SplitOut, Aggregate, HttpRequest 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. Dumpling AI와 GPT-4o로 AI 뉴스 코멘트리 자동 생성

사전 요구사항
  • 대상 API의 인증 정보가 필요할 수 있음
  • Google Sheets API 인증 정보
  • OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "M8PPLx0heLyG4kmQ",
  "meta": {
    "instanceId": "a1ae5c8dc6c65e674f9c3947d083abcc749ef2546dff9f4ff01de4d6a36ebfe6",
    "templateCredsSetupCompleted": true
  },
  "name": "Auto-Generate AI News Commentary with Dumpling AI and GPT-4o",
  "tags": [],
  "nodes": [
    {
      "id": "35ce9dd5-cc21-4cf9-a7ac-6cc9718fa86a",
      "name": "작업 없음, 아무것도 하지 않음",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -420,
        -160
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c572b2c3-9e72-4d7d-89f9-364aa5c00f79",
      "name": "일정에 따라 실행 (매일)",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1080,
        -60
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "412b5965-1278-4748-8d77-4c85d9eb9cff",
      "name": "댓글이 없는 주제 가져오기",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -860,
        -60
      ],
      "parameters": {
        "options": {
          "returnFirstMatch": true
        },
        "filtersUI": {
          "values": [
            {
              "lookupColumn": "generated commentary"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1rCXEWnIZd6cKIqsVRRynHEygQTztJM76rm4HM8Xlqbw/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1rCXEWnIZd6cKIqsVRRynHEygQTztJM76rm4HM8Xlqbw/edit?usp=drivesdk",
          "cachedResultName": "News articles"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "GaJqJHuS5mQxap7q",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "c04e7811-4e30-4e68-8342-55d79669072e",
      "name": "각 주제를 반복 처리",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -640,
        -60
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "435798d5-59b3-4379-831a-9b8801a99f38",
      "name": "뉴스 검색 전 대기",
      "type": "n8n-nodes-base.wait",
      "position": [
        -420,
        40
      ],
      "webhookId": "2f67769b-0637-4b7e-9324-f8ba9520969c",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "f0098d01-fa3b-40e8-aeeb-e9dd31606ddb",
      "name": "Dumpling AI로 뉴스 검색",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -200,
        40
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/search-news",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"query\": \"{{ $json.Topic }}\",\n  \"country\": \"US\",\n  \"page\": 3,\n  \"language\": \"en\"\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "RLFzAcGRepr5eXZB",
          "name": "Dumpling AI-n8n"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "43862942-4e19-4856-a3b0-2546d8a7a462",
      "name": "반환된 뉴스 기사 분할",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        20,
        40
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "news"
      },
      "typeVersion": 1
    },
    {
      "id": "9b45eb16-66b1-45bc-b4a3-5ad46696b295",
      "name": "Dumpling AI로 기사 내용 스크래핑",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        240,
        40
      ],
      "parameters": {
        "url": "https://app.dumplingai.com/api/v1/scrape",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"url\": \"{{ $json.link}}\"\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "RLFzAcGRepr5eXZB",
          "name": "Dumpling AI-n8n"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ffa392af-04d1-4c6a-a05e-f63f765d7eca",
      "name": "스크래핑된 기사 내용 통합",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        460,
        40
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "content"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5204f7c9-e5f8-4594-9428-4b46e92ba81d",
      "name": "기사 내용 정리",
      "type": "n8n-nodes-base.code",
      "position": [
        680,
        40
      ],
      "parameters": {
        "jsCode": "let rawContent = $input.first().json.content;\n\n// If content is not a string, try to stringify it\nif (typeof rawContent !== 'string') {\n  rawContent = JSON.stringify(rawContent);\n}\n\nconst cleaned = rawContent\n  .replace(/https?:\\/\\/[^\\s]+/g, '')           // Remove full URLs\n  .replace(/www\\.[^\\s]+/g, '')                  // Remove www links\n  .replace(/\\[([^\\]]+)\\]\\(([^)]+)\\)/g, '$1')    // Remove markdown links\n  .replace(/<a[^>]*>(.*?)<\\/a>/gi, '$1')        // Remove HTML anchor tags\n  .replace(/\\s{2,}/g, ' ')                      // Remove extra spaces\n  .trim();\n\nreturn [{\n  json: {\n    cleaned_content: cleaned\n  }\n}];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "04fe4476-023b-49a5-8e72-0d251d78ae1a",
      "name": "LinkedIn 댓글 생성 (GPT-4o)",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        900,
        40
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "chatgpt-4o-latest",
          "cachedResultName": "CHATGPT-4O-LATEST"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=You are a thought leader on LinkedIn. I will provide you with a news articles related to {{ $('Fetch Topics with Empty Commentary').item.json.Topic }}, and you will write a personal commentary in a confident, insightful, first-person voice.\n\nYour response should:\n- Start with a strong personal opinion or observation\n- Briefly connect the news to real-world trends or implications\n- Mention how this relates to your work, experience, or thinking\n- Use a human tone, no robotic phrasing or generic statements\n- End with a question or call to action to invite engagement\n\nKeep it under 600 characters. Avoid buzzwords or fluff. Be authentic.\n\nHere are the news articles:{{ $json.cleaned_content }}\n"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "dd8NvMC6rvx8RITo",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "ecc25fb7-52c0-4b89-94eb-06088b92e095",
      "name": "댓글을 시트에 다시 추가",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1260,
        40
      ],
      "parameters": {
        "columns": {
          "value": {
            "Topic": "={{ $('Fetch Topics with Empty Commentary').item.json.Topic }}",
            "generated commentary": "={{ $json.message.content }}"
          },
          "schema": [
            {
              "id": "Topic",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Topic",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "generated commentary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "generated commentary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Image",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Topic"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1rCXEWnIZd6cKIqsVRRynHEygQTztJM76rm4HM8Xlqbw/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1rCXEWnIZd6cKIqsVRRynHEygQTztJM76rm4HM8Xlqbw/edit?usp=drivesdk",
          "cachedResultName": "News articles"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "GaJqJHuS5mQxap7q",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "62e5001b-0aa9-40eb-bf65-6ca6ff1e3b32",
      "name": "스티커 메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1100,
        -260
      ],
      "parameters": {
        "width": 1100,
        "height": 340,
        "content": "### 📥 Fetch Topics and Search News via Dumpling AI\n\nThis section starts with a scheduled trigger. It pulls entries from a Google Sheet where the “generated commentary” is empty, meaning the topic hasn’t been processed. Each topic is looped individually. A short wait is applied to manage rate limits. Dumpling AI’s `/search-news` endpoint is then triggered to retrieve relevant articles based on the topic keyword.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "3c3904a5-90d3-486a-8f69-bb6b33b5d234",
      "name": "스티커 메모1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        -280
      ],
      "parameters": {
        "width": 1120,
        "height": 360,
        "content": "### ✍️ Scrape Articles, Clean Text, Generate Commentary, and Append\n\nEach article is split out and scraped using Dumpling AI’s `/scrape` endpoint to get full content. The aggregated content is cleaned via a Code node, removing links and excess formatting. GPT-4o generates a LinkedIn-style first-person commentary using this cleaned content. The final output is saved back to the Google Sheet under the “generated commentary” field.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "2f3ec71f-7ba1-46bf-bbd3-633a9e526a47",
  "connections": {
    "5204f7c9-e5f8-4594-9428-4b46e92ba81d": {
      "main": [
        [
          {
            "node": "04fe4476-023b-49a5-8e72-0d251d78ae1a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c04e7811-4e30-4e68-8342-55d79669072e": {
      "main": [
        [
          {
            "node": "35ce9dd5-cc21-4cf9-a7ac-6cc9718fa86a",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "435798d5-59b3-4379-831a-9b8801a99f38",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c572b2c3-9e72-4d7d-89f9-364aa5c00f79": {
      "main": [
        [
          {
            "node": "412b5965-1278-4748-8d77-4c85d9eb9cff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "435798d5-59b3-4379-831a-9b8801a99f38": {
      "main": [
        [
          {
            "node": "f0098d01-fa3b-40e8-aeeb-e9dd31606ddb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f0098d01-fa3b-40e8-aeeb-e9dd31606ddb": {
      "main": [
        [
          {
            "node": "43862942-4e19-4856-a3b0-2546d8a7a462",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "43862942-4e19-4856-a3b0-2546d8a7a462": {
      "main": [
        [
          {
            "node": "9b45eb16-66b1-45bc-b4a3-5ad46696b295",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ecc25fb7-52c0-4b89-94eb-06088b92e095": {
      "main": [
        [
          {
            "node": "c04e7811-4e30-4e68-8342-55d79669072e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ffa392af-04d1-4c6a-a05e-f63f765d7eca": {
      "main": [
        [
          {
            "node": "5204f7c9-e5f8-4594-9428-4b46e92ba81d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "412b5965-1278-4748-8d77-4c85d9eb9cff": {
      "main": [
        [
          {
            "node": "c04e7811-4e30-4e68-8342-55d79669072e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "04fe4476-023b-49a5-8e72-0d251d78ae1a": {
      "main": [
        [
          {
            "node": "ecc25fb7-52c0-4b89-94eb-06088b92e095",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9b45eb16-66b1-45bc-b4a3-5ad46696b295": {
      "main": [
        [
          {
            "node": "ffa392af-04d1-4c6a-a05e-f63f765d7eca",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

중급 - 인공지능, 마케팅

유료인가요?

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

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

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34