8
n8n 한국어amn8n.com

매일 과학 기술 뉴스 정리: RSS, GPT-4o-Mini, Gmail 배달

중급

이것은Multimodal AI분야의자동화 워크플로우로, 11개의 노드를 포함합니다.주로 Set, Code, Gmail, SplitOut, Aggregate 등의 노드를 사용하며. 매일 과학 기술 뉴스 선택: RSS, GPT-4o-Mini, Gmail 배달

사전 요구사항
  • Google 계정 및 Gmail API 인증 정보
  • OpenAI API Key

카테고리

워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "7888501fe66f93847229a4fe1e4efd9754bf14b1b98634200b2ff2090b5002a3",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "69394736-5c78-420e-9f03-ac18501cb377",
      "name": "데일리 뉴스레터 트리거",
      "type": "n8n-nodes-base.scheduleTrigger",
      "notes": "⏰ Triggers daily at 8 AM UTC\n\nCustomize:\n- Change triggerAtHour (0-23)\n- Add timezone settings\n- Set weekday-only schedule",
      "position": [
        624,
        1040
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 8
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1ee57ce6-d7aa-49d5-bac7-814bde5b0a65",
      "name": "RSS 소스 설정",
      "type": "n8n-nodes-base.set",
      "notes": "📡 Premium tech news RSS feeds\n\nSources:\n• TechCrunch AI\n• The Verge AI\n• MIT Tech Review\n• Wired AI\n• VentureBeat\n• ZDNet\n• Towards Data Science\n• NY Times Tech\n• Guardian Tech\n• BBC Tech",
      "position": [
        864,
        1040
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "53097a16-a525-4c89-828e-a36c5e0c3742",
              "name": "urls",
              "type": "array",
              "value": "[\n  \"https://techcrunch.com/tag/artificial-intelligence/feed/\",\n  \"https://www.theverge.com/artificial-intelligence/rss/index.xml\",\n  \"https://www.technologyreview.com/feed/\",\n  \"https://www.wired.com/feed/category/science/artificial-intelligence/latest/rss\",\n  \"https://venturebeat.com/category/ai/feed/\",\n  \"https://www.zdnet.com/topic/artificial-intelligence/rss.xml\",\n  \"https://towardsdatascience.com/feed\",\n  \"https://rss.nytimes.com/services/xml/rss/nyt/Technology.xml\",\n  \"https://www.theguardian.com/uk/technology/rss\",\n  \"https://feeds.bbci.co.uk/news/technology/rss.xml\"\n]"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "6477cbf0-790d-41ce-8b45-a273e03c9247",
      "name": "RSS URL 분할",
      "type": "n8n-nodes-base.splitOut",
      "notes": "🔄 Splits URL array for parallel processing\n\nCreates individual execution paths\nfor each RSS feed URL",
      "position": [
        1088,
        1040
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "urls"
      },
      "typeVersion": 1
    },
    {
      "id": "37cfed68-0740-4e77-a1ab-827f8f1eec28",
      "name": "RSS 기사 가져오기",
      "type": "n8n-nodes-base.rssFeedRead",
      "notes": "📰 Fetches articles from RSS feeds\n\nExtracts:\n• Title\n• Content snippet\n• Article URL\n• Publication date\n\nContinues on errors to prevent\nsingle feed failures",
      "onError": "continueErrorOutput",
      "position": [
        1296,
        1040
      ],
      "parameters": {
        "url": "={{ $json.urls }}",
        "options": {}
      },
      "retryOnFail": false,
      "typeVersion": 1.2
    },
    {
      "id": "d7f56edb-cd31-4a53-b390-e910b7c50ce8",
      "name": "기사 필터링",
      "type": "n8n-nodes-base.code",
      "notes": "⚖️ Balances article sources\n\n• Max 5 articles per domain\n• Prevents single-source domination\n• Ensures diverse coverage\n• Groups by domain, then flattens",
      "position": [
        1504,
        1040
      ],
      "parameters": {
        "jsCode": "// Limit articles per domain for balanced coverage\nconst input = $input.all();\nconst grouped = {};\n\nfor (const item of input) {\n  const link = item.json.link;\n  const domainMatch = link.match(/\\/\\/([^\\/]+)/);\n  const domain = domainMatch ? domainMatch[1].replace(/^www\\./, '') : 'unknown';\n\n  if (!grouped[domain]) grouped[domain] = [];\n  if (grouped[domain].length < 5) {\n    grouped[domain].push(item.json);\n  }\n}\n\n// Flatten results\nconst result = [];\nfor (const domain in grouped) {\n  result.push(...grouped[domain]);\n}\n\nreturn result.map(i => ({ json: i }));"
      },
      "typeVersion": 2
    },
    {
      "id": "14562212-87cc-4321-8277-bd8519c1adcf",
      "name": "데이터 정제",
      "type": "n8n-nodes-base.set",
      "notes": "🧹 Standardizes article structure\n\nMaps to clean format:\n• title → headline\n• content → summary\n• link → article URL\n• pubDate → timestamp",
      "position": [
        1712,
        1040
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "568b89e0-be16-4977-8c2a-882563174c9b",
              "name": "title",
              "type": "string",
              "value": "={{ $json.title }}"
            },
            {
              "id": "dfbf5a07-d66a-434e-8208-5a14946193de",
              "name": "content",
              "type": "string",
              "value": "={{ $json.contentSnippet }}"
            },
            {
              "id": "b3f87e87-2f95-4d84-a03d-f44f3f206db4",
              "name": "link",
              "type": "string",
              "value": "={{ $json.link }}"
            },
            {
              "id": "74e93f7a-908b-486c-bb2f-02e4f5ff204c",
              "name": "pubDate",
              "type": "string",
              "value": "={{ $json.pubDate }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "6769221a-1d99-4c17-9828-46ee92be5926",
      "name": "기사 통합",
      "type": "n8n-nodes-base.aggregate",
      "notes": "📊 Aggregates all articles\n\nCombines filtered articles from\nall sources into single dataset\nfor AI processing",
      "position": [
        1920,
        1040
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "6c430d53-cbd3-4881-b86b-48707c9e32a5",
      "name": "AI 뉴스레터 생성",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "notes": "🤖 AI-powered article curation\n\nAnalyzes all articles and:\n• Selects top 10 most relevant\n• Creates HTML newsletter\n• Provides article summaries\n• Focuses on trending topics\n\nRequires: OpenAI API key",
      "position": [
        2176,
        1040
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "You are an AI Tech News Curator. Analyze the provided articles and create an HTML newsletter with the top 10 most relevant AI/tech articles.\n\nFormat as clean HTML starting with <!DOCTYPE html>\nInclude: article title, brief summary, and link for each article.\nFocus on trending AI, machine learning, and technology topics.\n\nArticles data: {{ JSON.stringify($json.data) }}"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "MViSj0jQLBUcuA6t",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "fb8881bc-7831-43f8-97f7-4a604a4a9806",
      "name": "뉴스레터 전송",
      "type": "n8n-nodes-base.gmail",
      "notes": "📧 Sends HTML newsletter via Gmail\n\nSetup:\n1. Enable Gmail API\n2. Create OAuth2 credentials\n3. Update recipient email\n\nFeatures:\n• HTML email format\n• Dynamic date in subject\n• Professional newsletter style",
      "position": [
        2528,
        1040
      ],
      "webhookId": "2f333782-f060-4720-9bb9-b1f23c27f780",
      "parameters": {
        "sendTo": "your.email@example.com",
        "message": "={{ $json.message.content }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "=Daily AI Tech Digest - {{ $now.toFormat('EEEE, MMMM d, yyyy') }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "ObKdXRExIEHrpaND",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b43da764-1c99-4cdd-8b9c-338753c68826",
      "name": "스티키 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -208,
        384
      ],
      "parameters": {
        "color": 5,
        "width": 736,
        "height": 1136,
        "content": "# AI Tech News Aggregator & Newsletter\n\n### 🎯 Key Features\n- **Premium Sources** - Curates from 14 top-tier tech publications\n- **AI Quality Control** - Intelligent article selection and summarization\n- **Balanced Coverage** - Prevents source bias with smart filtering\n- **Professional Format** - Clean HTML newsletter design\n- **Scheduled Automation** - Daily delivery at customizable times\n- **Error Resilience** - Continues processing even if some feeds fail\n\n## Setup Steps\n\n### ⚙️ Workflow Configuration\n1. **Import the workflow** into your n8n instance\n2. **Update node configurations**:\n   - **Google Vertex AI Model**: Set your Google Cloud Project ID\n   - **Send Newsletter Email**: Update recipient email address\n   - **Daily Newsletter Trigger**: Adjust schedule time if needed\n3. **Verify credentials** are properly connected to respective nodes\n\n### 📰 RSS Sources Customization (Optional)\nThe workflow includes 14 premium tech news sources:\n- TechCrunch (AI & Startups)\n- The Verge (AI section)\n- MIT Technology Review\n- Wired (AI/Science)\n- VentureBeat (AI)\n- ZDNet (AI topics)\n- AI Trends\n- Nature (Machine Learning)\n- Towards Data Science\n- NY Times Technology\n- The Guardian Technology\n- BBC Technology\n- Nikkei Asia Technology\n\n**To customize sources:**\n- Edit the \"Configure RSS Sources\" node\n- Add/remove RSS feed URLs as needed\n- Ensure feeds are active and properly formatted\n\n### 🚀 Testing & Deployment\n1. **Manual Test**: Execute the workflow manually to verify setup\n2. **Check Email**: Confirm newsletter arrives with proper formatting\n3. **Verify AI Output**: Ensure articles are relevant and well-summarized\n4. **Schedule Activation**: Enable the daily trigger for automated operation\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c96013fe-cde1-4ef2-b833-683fb6269d67",
      "name": "스티키 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        400
      ],
      "parameters": {
        "color": 3,
        "width": 2192,
        "height": 848,
        "content": "## Workflow\n\n### 💡 Customization Options\n\n**Newsletter Timing:**\n- Default: 8:00 AM UTC daily\n- Modify \"triggerAtHour\" in the Schedule Trigger node\n- Add multiple daily sends if desired\n\n**Content Focus:**\n- Adjust the AI prompt in \"AI Tech News Curator\" node\n- Specify different topics (e.g., focus on startups, enterprise AI, etc.)\n- Change output language or format\n\n**Email Recipients:**\n- Update single recipient in Gmail node\n- Or modify to send to multiple addresses\n- Integrate with mailing list services\n\n**Article Limits:**\n- Current: Max 5 articles per source\n- Modify the filtering logic in \"Filter & Balance Articles\" node\n- Adjust total article count in AI prompt\n"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "14562212-87cc-4321-8277-bd8519c1adcf": {
      "main": [
        [
          {
            "node": "6769221a-1d99-4c17-9828-46ee92be5926",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6477cbf0-790d-41ce-8b45-a273e03c9247": {
      "main": [
        [
          {
            "node": "37cfed68-0740-4e77-a1ab-827f8f1eec28",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d7f56edb-cd31-4a53-b390-e910b7c50ce8": {
      "main": [
        [
          {
            "node": "14562212-87cc-4321-8277-bd8519c1adcf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6769221a-1d99-4c17-9828-46ee92be5926": {
      "main": [
        [
          {
            "node": "6c430d53-cbd3-4881-b86b-48707c9e32a5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "37cfed68-0740-4e77-a1ab-827f8f1eec28": {
      "main": [
        [
          {
            "node": "d7f56edb-cd31-4a53-b390-e910b7c50ce8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6c430d53-cbd3-4881-b86b-48707c9e32a5": {
      "main": [
        [
          {
            "node": "fb8881bc-7831-43f8-97f7-4a604a4a9806",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1ee57ce6-d7aa-49d5-bac7-814bde5b0a65": {
      "main": [
        [
          {
            "node": "6477cbf0-790d-41ce-8b45-a273e03c9247",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "69394736-5c78-420e-9f03-ac18501cb377": {
      "main": [
        [
          {
            "node": "1ee57ce6-d7aa-49d5-bac7-814bde5b0a65",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

중급 - 멀티모달 AI

유료인가요?

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

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

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

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34