AutomationFlowsAI & RAG › AI Financial News Summary to Slack

AI Financial News Summary to Slack

Original n8n title: [금융] 금융 뉴스 AI 요약 - 평일 아침

[금융] 금융 뉴스 AI 요약 - 평일 아침. Uses httpRequest, openAi, slack. Scheduled trigger; 5 nodes.

Cron / scheduled trigger★★★★☆ complexityAI-powered5 nodesHTTP RequestOpenAISlack
AI & RAG Trigger: Cron / scheduled Nodes: 5 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the HTTP Request → OpenAI recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "[\uae08\uc735] \uae08\uc735 \ub274\uc2a4 AI \uc694\uc57d - \ud3c9\uc77c \uc544\uce68",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 8 * * 1-5"
            }
          ]
        }
      },
      "id": "schedule-trigger-node",
      "name": "\ub9e4\uc77c \uc544\uce68 \ub274\uc2a4 \uc218\uc9d1",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "method": "GET",
        "url": "https://openapi.naver.com/v1/search/news.json",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Naver-Client-Id",
              "value": "={{ $env.NAVER_CLIENT_ID }}"
            },
            {
              "name": "X-Naver-Client-Secret",
              "value": "={{ $env.NAVER_CLIENT_SECRET }}"
            }
          ]
        },
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "query",
              "value": "\uae08\uc735 \uacbd\uc81c"
            },
            {
              "name": "display",
              "value": "10"
            },
            {
              "name": "sort",
              "value": "date"
            }
          ]
        },
        "options": {}
      },
      "id": "http-request-node",
      "name": "\ub124\uc774\ubc84 \ub274\uc2a4 \uac80\uc0c9",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        450,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "// \ub124\uc774\ubc84 \ub274\uc2a4 \uac80\uc0c9 \uacb0\uacfc\uc5d0\uc11c \uc81c\ubaa9\uacfc \uc124\uba85 \ucd94\ucd9c\nconst response = $input.item.json;\nconst items = response.items || [];\n\nif (items.length === 0) {\n  return { json: { newsText: '\uc624\ub298 \uad00\ub828 \ub274\uc2a4\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.', count: 0 } };\n}\n\n// HTML \ud0dc\uadf8 \uc81c\uac70 \ud568\uc218\nconst removeHtml = (str) => str.replace(/<[^>]*>/g, '').replace(/&quot;/g, '\"').replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>');\n\nconst newsList = items.map((item, idx) => {\n  const title = removeHtml(item.title);\n  const desc = removeHtml(item.description);\n  return `${idx + 1}. ${title}\\n   ${desc}\\n   \ub9c1\ud06c: ${item.link}`;\n});\n\nreturn {\n  json: {\n    newsText: newsList.join('\\n\\n'),\n    count: items.length\n  }\n};"
      },
      "id": "code-node",
      "name": "\ub274\uc2a4 \uc815\ub9ac",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        650,
        300
      ]
    },
    {
      "parameters": {
        "resource": "text",
        "operation": "message",
        "modelId": "gpt-4o-mini",
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "\ub2f9\uc2e0\uc740 \uae08\uc735 \ub274\uc2a4 \uc804\ubb38 \uc694\uc57d \uc5d0\uc774\uc804\ud2b8\uc785\ub2c8\ub2e4. \ub2e4\uc74c \uae08\uc735/\uacbd\uc81c \ub274\uc2a4 \ubaa9\ub85d\uc744 \ubd84\uc11d\ud558\uace0, \uc624\ub298\uc758 \ud575\uc2ec \uae08\uc735 \ub3d9\ud5a5\uc744 3\uc904\ub85c \uc694\uc57d\ud558\uc138\uc694. \uac01 \uc904\uc740 \uad6c\uccb4\uc801\uc778 \uc218\uce58\ub098 \ud0a4\uc6cc\ub4dc\ub97c \ud3ec\ud568\ud574\uc57c \ud569\ub2c8\ub2e4. \ud55c\uad6d\uc5b4\ub85c \uc791\uc131\ud558\uc138\uc694."
            },
            {
              "role": "user",
              "content": "=\ub2e4\uc74c\uc740 \uc624\ub298\uc758 \uae08\uc735/\uacbd\uc81c \ub274\uc2a4\uc785\ub2c8\ub2e4:\n\n{{ $json.newsText }}"
            }
          ]
        },
        "options": {
          "temperature": 0.3
        }
      },
      "id": "openai-node",
      "name": "AI \uc694\uc57d",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 1.3,
      "position": [
        850,
        300
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "value": "C12345NEWS",
          "mode": "id"
        },
        "text": "=:newspaper: *\uc624\ub298\uc758 \uae08\uc735 \ub274\uc2a4 \ube0c\ub9ac\ud551*\n\n{{ $json.message?.content || $json.text }}\n\n_{{ $('\ub274\uc2a4 \uc815\ub9ac').item.json.count }}\uac1c \ub274\uc2a4 \uae30\ubc18 AI \uc694\uc57d | {{ $now.toFormat('yyyy-MM-dd HH:mm') }}_",
        "otherOptions": {}
      },
      "id": "slack-node",
      "name": "\uc2ac\ub799 \ube0c\ub9ac\ud551",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.2,
      "position": [
        1050,
        300
      ],
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "\ub9e4\uc77c \uc544\uce68 \ub274\uc2a4 \uc218\uc9d1": {
      "main": [
        [
          {
            "node": "\ub124\uc774\ubc84 \ub274\uc2a4 \uac80\uc0c9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ub124\uc774\ubc84 \ub274\uc2a4 \uac80\uc0c9": {
      "main": [
        [
          {
            "node": "\ub274\uc2a4 \uc815\ub9ac",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\ub274\uc2a4 \uc815\ub9ac": {
      "main": [
        [
          {
            "node": "AI \uc694\uc57d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI \uc694\uc57d": {
      "main": [
        [
          {
            "node": "\uc2ac\ub799 \ube0c\ub9ac\ud551",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "saveManualExecutions": true,
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": "",
    "timezone": "Asia/Seoul",
    "saveExecutionProgress": true,
    "saveDataErrorExecution": "all",
    "saveDataSuccessExecution": "all",
    "executionTimeout": 3600
  },
  "staticData": null,
  "tags": [
    {
      "createdAt": "2026-03-09T00:00:00.000Z",
      "updatedAt": "2026-03-09T00:00:00.000Z",
      "id": "finance",
      "name": "\uae08\uc735"
    },
    {
      "createdAt": "2026-03-09T00:00:00.000Z",
      "updatedAt": "2026-03-09T00:00:00.000Z",
      "id": "ai-automation",
      "name": "AI \uc790\ub3d9\ud654"
    }
  ],
  "triggerCount": 1,
  "updatedAt": "2026-03-09T00:00:00.000Z",
  "versionId": "1"
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

[금융] 금융 뉴스 AI 요약 - 평일 아침. Uses httpRequest, openAi, slack. Scheduled trigger; 5 nodes.

Source: https://github.com/cskwork/n8n-maker/blob/34120aa8922a96a6a05e9ca710cc0ce1e6c3dfe6/public/workflows/financial-news-summary.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

A scheduled process aggregates content from eight distinct data sources and standardizes all inputs into a unified format. AI models perform sentiment scoring, detect conspiracy or misinformation sign

HTTP Request, OpenAI, Postgres +2
AI & RAG

Imagine a dedicated financial expert tirelessly working behind the scenes, sifting through every transaction, every investment move, and every accounting entry. That's exactly what this automated syst

HTTP Request, Google Sheets, OpenAI +3
AI & RAG

News Automation - Main Workflow. Uses rssFeedRead, postgres, openAi, httpRequest. Scheduled trigger; 28 nodes.

RSS Feed Read, Postgres, OpenAI +4
AI & RAG

Automate your social media content pipeline from idea to scheduled post. This workflow reads content ideas from a Google Sheet, uses OpenAI to generate platform-optimized posts for LinkedIn, X (Twitte

Google Sheets, OpenAI, HTTP Request +2
AI & RAG

This scheduled workflow pulls the latest AI-related articles from NewsAPI, uses Google Gemini to filter and draft a LinkedIn post plus image prompt, generates an image with OpenAI, uploads the image a

HTTP Request, Google Gemini, Gmail +2