8
n8n 한국어amn8n.com

Hacker News AI 뉴스 매일 요약: GPT-5 요약 및 이메일 발송

고급

이것은자동화 워크플로우로, 16개의 노드를 포함합니다.주로 Set, Filter, Markdown, Aggregate, EmailSend 등의 노드를 사용하며. Hacker News에서 AI 뉴스 일일 요약을 가져와 GPT-5로 요약하고 이메일로 발송

사전 요구사항
  • 대상 API의 인증 정보가 필요할 수 있음
  • OpenAI API Key

카테고리

-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "3d7eb9567ae690bf8c9bba1cb43396e6e40c18e15eb5889cf9673ed1713da6db",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "c352f6dc-9570-419d-9d48-3c94758a0104",
      "name": "HN AI 스토리 가져오기",
      "type": "n8n-nodes-base.hackerNews",
      "position": [
        1024,
        3552
      ],
      "parameters": {
        "limit": 1000,
        "resource": "all",
        "additionalFields": {
          "keyword": "AI"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2a57c491-15f9-4035-854f-9bc410e9fe5e",
      "name": "지난 24시간 필터링",
      "type": "n8n-nodes-base.filter",
      "position": [
        1232,
        3552
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "f59903f3-835c-407a-a930-060d20c8abdf",
              "operator": {
                "type": "dateTime",
                "operation": "afterOrEquals"
              },
              "leftValue": "={{ $json.created_at }}",
              "rightValue": "={{ $now.minus({ days: 1 }).toFormat('yyyy-MM-dd') }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "960d99c5-3bfa-4baa-b9eb-4cc41e6ad961",
      "name": "항목별 반복",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1440,
        3552
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "9bf34ea7-64ad-4bc5-b4f7-af3a1d1fa0a0",
      "name": "기사 URL 스크래핑",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1648,
        3632
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "714804a1-ebc4-474a-9de0-4e8785086129",
      "name": "마크다운으로 변환",
      "type": "n8n-nodes-base.markdown",
      "position": [
        1872,
        3632
      ],
      "parameters": {
        "html": "={{ $json.data }}",
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "72b3a898-bfa8-4388-9a8c-a9c9c4895020",
      "name": "GPT 기사 요약",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        2064,
        3632
      ],
      "parameters": {
        "text": "=Summarize the info below so that I can get a quick news snippet of what this is about in the area of AI. \n\nSimply output the main point as the heading and then 2 sentences of the summary (maybe with a link)\n\n---\n\nScraped info below: {{ $json.markdown }}",
        "batching": {},
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "dd7d375a-26bd-469f-8cea-2d68511aa1bb",
      "name": "뉴스 항목 포맷팅",
      "type": "n8n-nodes-base.set",
      "position": [
        2368,
        3728
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ec79a00c-98ba-40fc-b606-b4e40eeed15c",
              "name": "news",
              "type": "string",
              "value": "={{ $('GPT Summarize Article').item.json.output }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b612d024-cb1b-4f93-8761-3a4e805cb0a2",
      "name": "모든 요약 결합",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1648,
        3456
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "news"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "db3ace26-4a67-4916-9f16-1719fdfbaed7",
      "name": "이메일 다이제스트 발송",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1872,
        3456
      ],
      "webhookId": "ec7ef530-cebe-4a22-b9ad-428230ba4b71",
      "parameters": {
        "html": "=<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Daily News Digest</title>\n    <style>\n        body {\n            margin: 0;\n            padding: 0;\n            background-color: #f5f5f5;\n            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n            line-height: 1.5;\n            color: #333;\n        }\n        \n        .email-container {\n            max-width: 600px;\n            margin: 0 auto;\n            background-color: white;\n            padding: 0;\n        }\n        \n        .header {\n            background-color: #d97757;\n            color: white;\n            text-align: center;\n            padding: 20px;\n            border-radius: 8px 8px 0 0;\n        }\n        \n        .header h1 {\n            margin: 0;\n            font-size: 18px;\n            font-weight: 500;\n        }\n        \n        .content {\n            padding: 30px 40px;\n            background-color: white;\n        }\n        \n        .news-item {\n            margin-bottom: 30px;\n            padding-bottom: 25px;\n            border-bottom: 1px solid #e0e0e0;\n        }\n        \n        .news-item:last-child {\n            border-bottom: none;\n            margin-bottom: 0;\n            padding-bottom: 0;\n        }\n        \n        .news-title {\n            font-size: 16px;\n            font-weight: 600;\n            color: #333;\n            margin: 0 0 12px 0;\n            line-height: 1.4;\n        }\n        \n        .news-content {\n            font-size: 14px;\n            color: #666;\n            line-height: 1.6;\n            margin: 0;\n        }\n        \n        .news-content a {\n            color: #d97757;\n            text-decoration: none;\n        }\n        \n        .news-content a:hover {\n            text-decoration: underline;\n        }\n        \n        .footer {\n            text-align: center;\n            padding: 20px;\n            background-color: #f9f9f9;\n            color: #888;\n            font-size: 12px;\n            border-radius: 0 0 8px 8px;\n        }\n        \n        @media (max-width: 600px) {\n            .email-container {\n                margin: 0 10px;\n            }\n            \n            .content {\n                padding: 20px 25px;\n            }\n            \n            .header {\n                padding: 15px;\n            }\n        }\n    </style>\n</head>\n<body>\n    <div class=\"email-container\">\n        <div class=\"header\">\n            <h1>📰 Latest AI News — {{ $now.format('MMMM d, yyyy') }}</h1>\n        </div>\n        \n        <div class=\"content\">\n            {{ $json.news.join('') }}\n        </div>\n        \n        <div class=\"footer\">\n            You're receiving this digest because you subscribed to updates.<br>\n            © 2025 AI News Digest\n        </div>\n    </div>\n</body>\n</html>",
        "options": {},
        "subject": "Daily AI Digest - {{ $now.format('MMMM d, yyyy') }}",
        "toEmail": "recipient@example.com",
        "fromEmail": "AI News <noreply@example.com>"
      },
      "credentials": {
        "smtp": {
          "id": "M9BmJSJmYzVHw6xq",
          "name": "Zoho Mail 2"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "030bc0bb-c0ae-4234-9a9e-720c86ba3f0c",
      "name": "일일 스케줄 트리거",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        800,
        3552
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f59da8bf-9079-46e6-a97d-63ac00da0f09",
      "name": "개요 및 설정",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        64,
        3168
      ],
      "parameters": {
        "color": 4,
        "width": 728,
        "height": 1072,
        "content": "# Daily AI News Digest from Hacker News\n\n## 📋 What This Template Does\nFetches recent AI stories from Hacker News, filters for today, scrapes each article, summarizes with GPT into snippets, aggregates into HTML, and emails a styled daily digest.\n\n## 🔧 Prerequisites\n- n8n instance\n- OpenAI API access\n- SMTP server (e.g., Zoho, Gmail)\n\n## 🔑 Required Credentials\n\n### OpenAI API\n1. Get key from platform.openai.com/api-keys\n2. Add to n8n as OpenAI credential\n3. Assign to \"GPT 5 pro\" node\n\n### SMTP Setup\n1. Configure in n8n credentials (host, port, user/pass)\n2. Assign to \"Send Email Digest\" node\n3. Update fromEmail/toEmail fields\n\n## ⚙️ Configuration Steps\n1. Import JSON into n8n\n2. Assign OpenAI and SMTP credentials\n3. Update fromEmail/toEmail in \"Send Email Digest\" node\n4. Set schedule in \"Daily Schedule Trigger\" (e.g., daily at 8 AM)\n5. Activate workflow\n\n## 🎯 Use Cases\n- Personal AI news briefing\n- Team knowledge sharing\n- Content curation for blogs\n\n## ⚠️ Troubleshooting\n- No stories: Check keyword filter; HN API limits\n- Scraping fails: Add proxy if blocked\n- Email not sending: Verify SMTP settings\n- Summaries poor: Tweak GPT prompt"
      },
      "typeVersion": 1
    },
    {
      "id": "088aeedc-3850-415e-a691-691fd3e02428",
      "name": "참고: HN 가져오기 및 필터링",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        912,
        3728
      ],
      "parameters": {
        "color": 2,
        "width": 428,
        "height": 304,
        "content": "## 📥 Data Collection\n\n**Fetch HN AI Stories:**\n- Pulls 1000 stories with \"AI\" keyword\n- Uses public HN API (no auth needed)\n\n**Filter Last 24 Hours:**\n- Checks `created_at` field\n- Keeps only yesterday/today posts\n- Uses `$now().minus({ days: 1 })`\n\n**💡 Customization:**\nChange keyword filter or date range here"
      },
      "typeVersion": 1
    },
    {
      "id": "4c555f5e-4b5b-4176-bc8e-161dcb9a9b25",
      "name": "참고: 스크래핑 및 처리",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1488,
        3888
      ],
      "parameters": {
        "color": 3,
        "width": 484,
        "height": 352,
        "content": "## 🌐 Content Processing\n\n**Loop Over Items:**\n- Processes each story sequentially\n- Prevents rate limiting\n\n**Scrape Article URL:**\n- Fetches content from source URL\n- May need proxy for blocked sites\n\n**Convert to Markdown:**\n- Cleans HTML to text\n- Formats for LLM input\n\n**💡 Troubleshooting:**\nIf scraping fails, check URL accessibility"
      },
      "typeVersion": 1
    },
    {
      "id": "3e0e97ce-561d-4c6b-a9b4-96b0eacf90d5",
      "name": "참고: AI 요약",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2176,
        3904
      ],
      "parameters": {
        "color": 5,
        "width": 460,
        "height": 336,
        "content": "## 🤖 AI Summarization\n\n**GPT Summarize Article:**\n- Generates heading + 2 sentences\n- Extracts key AI insights\n- Includes link when relevant\n\n**Format News Item:**\n- Wraps in HTML for email\n- Prepares for aggregation\n\n**Combine All Summaries:**\n- Merges into single array\n- Ready for email template\n\n**💡 Customization:**\nEdit prompt for different summary styles"
      },
      "typeVersion": 1
    },
    {
      "id": "2dbe3adc-d430-4eff-9306-c2f45cd632f3",
      "name": "참고: 이메일 전송",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2112,
        3200
      ],
      "parameters": {
        "color": 6,
        "width": 436,
        "height": 320,
        "content": "## 📧 Email Delivery\n\n**Send Email Digest:**\n- Styled HTML template\n- Mobile-responsive design\n- Inline CSS for compatibility\n\n**Template Features:**\n- Clean news item layout\n- Branded header/footer\n- Clickable links\n\n**⚙️ Required:**\nUpdate fromEmail/toEmail before activating"
      },
      "typeVersion": 1
    },
    {
      "id": "eaa3c5c3-bf65-4efc-8f23-208ed7751ed4",
      "name": "GPT 5 pro",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2064,
        3808
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-pro",
          "cachedResultName": "gpt-5-pro"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "ymMvgDroJHalwvRf",
          "name": "OpenAI"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "pinData": {},
  "connections": {
    "eaa3c5c3-bf65-4efc-8f23-208ed7751ed4": {
      "ai_languageModel": [
        [
          {
            "node": "72b3a898-bfa8-4388-9a8c-a9c9c4895020",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "960d99c5-3bfa-4baa-b9eb-4cc41e6ad961": {
      "main": [
        [
          {
            "node": "b612d024-cb1b-4f93-8761-3a4e805cb0a2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "9bf34ea7-64ad-4bc5-b4f7-af3a1d1fa0a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dd7d375a-26bd-469f-8cea-2d68511aa1bb": {
      "main": [
        [
          {
            "node": "960d99c5-3bfa-4baa-b9eb-4cc41e6ad961",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9bf34ea7-64ad-4bc5-b4f7-af3a1d1fa0a0": {
      "main": [
        [
          {
            "node": "714804a1-ebc4-474a-9de0-4e8785086129",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "714804a1-ebc4-474a-9de0-4e8785086129": {
      "main": [
        [
          {
            "node": "72b3a898-bfa8-4388-9a8c-a9c9c4895020",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c352f6dc-9570-419d-9d48-3c94758a0104": {
      "main": [
        [
          {
            "node": "2a57c491-15f9-4035-854f-9bc410e9fe5e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2a57c491-15f9-4035-854f-9bc410e9fe5e": {
      "main": [
        [
          {
            "node": "960d99c5-3bfa-4baa-b9eb-4cc41e6ad961",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b612d024-cb1b-4f93-8761-3a4e805cb0a2": {
      "main": [
        [
          {
            "node": "db3ace26-4a67-4916-9f16-1719fdfbaed7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "72b3a898-bfa8-4388-9a8c-a9c9c4895020": {
      "main": [
        [
          {
            "node": "dd7d375a-26bd-469f-8cea-2d68511aa1bb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "030bc0bb-c0ae-4234-9a9e-720c86ba3f0c": {
      "main": [
        [
          {
            "node": "c352f6dc-9570-419d-9d48-3c94758a0104",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

고급

유료인가요?

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

워크플로우 정보
난이도
고급
노드 수16
카테고리-
노드 유형12
난이도 설명

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

저자
Daniel Nkencho

Daniel Nkencho

@daniel-automates

AI Automation Consultant | Helping Business Owners Implement AI Systems for growth and lead gen

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34