AutomationFlowsAI & RAG › Daily Business News Briefings to Slack

Daily Business News Briefings to Slack

Original n8n title: Daily Business News Briefings with Newsapi & Gpt-4 Insights to Slack

ByJames Carter @arioloop on n8n.io

Ideal for sales teams, executives, marketers, or anyone who wants fast, actionable news briefings directly in their Slack workspace.

Cron / scheduled trigger★★★★☆ complexityAI-powered17 nodesSlackHTTP RequestOpenAI
AI & RAG Trigger: Cron / scheduled Nodes: 17 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #6273 — we link there as the canonical source.

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
{
  "id": "4g8HglPLSdpDmBwc",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "001_AI-Powered News Insights Workflow for Slack",
  "tags": [],
  "nodes": [
    {
      "id": "4ed04f56-1cd8-47d5-b4c1-34cfdb496583",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        128,
        192
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e658f392-e1b6-4f14-ad02-414eb3b03f99",
      "name": "Post to Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        2896,
        176
      ],
      "parameters": {
        "text": "={{ $json.choices[0].message.content }}",
        "user": {
          "__rl": true,
          "mode": "list",
          "value": "U096VCG525P",
          "cachedResultName": "james"
        },
        "select": "user",
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "06b21744-df60-4a78-b804-21223b628fcc",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -528,
        -288
      ],
      "parameters": {
        "width": 448,
        "height": 1008,
        "content": "## \ud83d\udcf0 Summarize trending news into Slack with business insights\n\nThis workflow fetches the latest news based on your selected **country, category, and keyword query**, runs it through GPT for **summarization, prioritization, and sentiment analysis**, and posts the output to Slack.\n\n- GPT **prioritizes the 10 most impactful articles**, ensuring you don't get random headlines.\n- Each story is tagged: \ud83d\udfe2 Opportunity, \ud83d\udd34 Risk, \u26aa Neutral.\n- Ideal for teams who want market or trend updates directly in Slack.\n\n### Who it's for\n- Business leaders, marketers, investors, or analysts who want curated, actionable news summaries.\n- Anyone needing a lightweight **market pulse** delivered via Slack.\n\n### How to Set Up\n1. **Set News Config node:** Define your country, category, and keyword query (e.g., `us`, `technology`, `OpenAI`).\n2. Add your **NewsAPI** and **OpenAI GPT** credentials.\n3. Configure your Slack webhook.\n4. Activate the **Schedule Trigger** to auto-run daily.\n\n### Requirements\n- NewsAPI Key\n- OpenAI API Key\n- Slack Webhook URL\n\n### How to Customize\n- Adjust the **category, country, or query** in the Set News Config node.\n- Remove the **Limit to Top 10 Trends node** to fetch all articles and let GPT filter.\n- Customize the GPT prompt to control tone or depth of insights.\n\nNeed Help?\n\nJoin the [Discord](https://discord.com/invite/XPKeKXeB7d) or ask in the [Forum](https://community.n8n.io/)."
      },
      "typeVersion": 1
    },
    {
      "id": "ac6308fa-d25c-4b24-bcec-aa4208870571",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        -384
      ],
      "parameters": {
        "color": 7,
        "width": 624,
        "height": 304,
        "content": "## \u2699\ufe0f Workflow Breakdown\n1. **Schedule Trigger:** Set frequency (daily, weekly, etc.)\n2. **Set News Config:** Configure country, category, and query.\n3. **Fetch News Articles:** Pulls from NewsAPI.\n4. **[Optional] Limit to Top 10 Trends:** Cap articles to 10, or remove to let GPT decide.\n5. **Inject Config Data:** Makes config accessible to GPT.\n6. **Merge:** Combines news + config.\n7. **GPT Summary:** Summarizes, prioritizes top 10, tags sentiment, links back to query.\n8. **Slack Post:** Auto-delivers insights to Slack."
      },
      "typeVersion": 1
    },
    {
      "id": "8b926d52-75a4-4dce-9f80-5ff22f256bb7",
      "name": "Set User Config (Country, Category, Query)",
      "type": "n8n-nodes-base.set",
      "position": [
        624,
        192
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "{\n  \"country\": \"us\",\n  \"category\": \"technology\",\n  \"query\": \"openai\"\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "444c5afa-9052-4e07-8881-7a0a86ac8a78",
      "name": "Fetch News Articles",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1104,
        192
      ],
      "parameters": {
        "url": "=https://newsapi.org/v2/top-headlines?country={{ $json.country }}&category={{ $json.category }}&q={{ $json.query }}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Api-Key"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0ed04c61-e4dd-4e3f-8735-3cff4aedc9cb",
      "name": "Merge Config with Articles",
      "type": "n8n-nodes-base.merge",
      "position": [
        2032,
        176
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.2
    },
    {
      "id": "85ce6b97-0549-4ff8-9334-e9daf7fceed2",
      "name": "Generate Business Insights (GPT)",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2352,
        176
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=You are a business analyst. The user is researching \"{{ $json.query }}\" in the \"{{ $json.category }}\" sector within \"{{ $json.country }}\".\n\nHere are {{ $json.articles.length }} articles. Select the 10 most important based on:\n1. Impact and relevance to \"{{ $json.query }}\"\n2. Business risks, opportunities, or strategic insights\n\nFor each of the 10, summarize in 2-3 lines and also add if it's a:\n- \ud83d\udd34 Risk\n- \ud83d\udfe2 Opportunity\n- \u26aa Neutral\n\nFinish with a 1-paragraph summary of the overall trend.\n\nHere is the data:\n {{ JSON.stringify($json, null, 2) }}"
            },
            {
              "role": "system",
              "content": "You are a professional trend analyst summarizing news with actionable business insights."
            }
          ]
        },
        "simplify": false
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "67a3fc4b-4c91-4856-810f-0f39b121a729",
      "name": "Inject Config Data",
      "type": "n8n-nodes-base.set",
      "position": [
        1824,
        64
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "{\n  \"country\": \"us\",\n  \"category\": \"technology\",\n  \"query\": \"AI\"\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "c9730e23-e365-4964-8ed3-7184dfe13d69",
      "name": "Limit to Top 10 Trends",
      "type": "n8n-nodes-base.code",
      "disabled": true,
      "position": [
        1584,
        64
      ],
      "parameters": {
        "jsCode": "const topTen = items.slice(0, 10);\nreturn topTen;"
      },
      "typeVersion": 2
    },
    {
      "id": "a96f8610-32c6-4410-8b87-a7bb43ece32d",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 416,
        "content": "## Inject Config Settings\n\nSet your **country, category, and query** (keyword) here.\n\n\u2705 This controls the NewsAPI request and instructs GPT on which industry focus to prioritize in its analysis.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "900b9b6a-cff5-4438-bf49-3919c9b179d0",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 416,
        "content": "## Fetch Latest News Headlines\n[Read more about HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/)\n\nThis step pulls up to 100 top headlines from NewsAPI for your selected country, category, and keyword.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n**Important:\n\u2705 Add your NewsAPI Key in the Value field of the X-Api-Key header parameter inside this node.**\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d0747cf1-d1db-4728-869b-b39d86320958",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1472,
        -80
      ],
      "parameters": {
        "color": 7,
        "width": 720,
        "height": 496,
        "content": "## Prepare Articles & Merge with Config\n\nFormats the articles into plain text and merges them with your country, category, and query setting - providing GPT with clean data and context for accurate analysis.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "5942c7d8-4853-47cd-b529-c91e7427a7e2",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2272,
        -80
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 496,
        "content": "## GPT Business Summary\n[Read more about OpenAI Chat Model node](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/)\n\nGPT analyzes the news, summarizes the 10 most relevant articles, and tags each as an \ud83d\udfe2 Opportunity, \ud83d\udd34 Risk, or \u26aa Neutral. \n\nIt also provides an overall trend summary.\nYou can customize the prompt to change the tone, number of articles, add recommendations, or focus on specific business areas.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e2bc105f-82e8-414b-a2ef-1556ab99934c",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2752,
        -80
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 496,
        "content": "## Post to Slack\n[Read more about Slack node](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/)\n\nSends the GPT insights directly to your Slack channel.\nYou can customize the message format or destination channel.\n\nMake sure your Slack credentials are connected in this node.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "bc891826-edfd-4f45-b986-c9bfb86baa44",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -32,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 416,
        "content": "## Schedule Trigger\n\nThis controls how often the workflow runs \u2014 set it to daily, weekly, or any custom interval you need.\n\nAdjust the schedule settings to match how frequently you want news updates sent to Slack.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "13e633f5-02ac-46d0-b878-f8736746beb3",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        704,
        -320
      ],
      "parameters": {
        "color": 4,
        "width": 480,
        "height": 192,
        "content": "## \ud83c\udfa5 Demo Video  \n\ud83d\udc49 **[Click here to watch the setup guide](https://www.loom.com/share/970a3fba1ed44352a2194f1ef6a8dc45?sid=6750eb3e-9eb9-4400-a6ec-83d2c9de55e4)**  "
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "60471506-ee09-4599-b9eb-f38a675a162b",
  "connections": {
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Set User Config (Country, Category, Query)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Inject Config Data": {
      "main": [
        [
          {
            "node": "Merge Config with Articles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch News Articles": {
      "main": [
        [
          {
            "node": "Merge Config with Articles",
            "type": "main",
            "index": 1
          },
          {
            "node": "Limit to Top 10 Trends",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit to Top 10 Trends": {
      "main": [
        [
          {
            "node": "Inject Config Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Config with Articles": {
      "main": [
        [
          {
            "node": "Generate Business Insights (GPT)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Business Insights (GPT)": {
      "main": [
        [
          {
            "node": "Post to Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set User Config (Country, Category, Query)": {
      "main": [
        [
          {
            "node": "Fetch News Articles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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

Ideal for sales teams, executives, marketers, or anyone who wants fast, actionable news briefings directly in their Slack workspace.

Source: https://n8n.io/workflows/6273/ — 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

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

Automatically backs up your workflows to Github and generates documentation in a Notion database. Weekly run, uses the "internal-infra" tag to look for new or recently modified workflows Uses a Notion

HTTP Request, Notion, Slack +3
AI & RAG

Who is this for This workflow is perfect for busy professionals, consultants, and anyone who frequently travels between meetings. If you want to make the most of your free time between appointments an

Google Calendar, Notion, OpenWeatherMap +3