Slack + Google Sheets: a news digest you will read
Your “news routine” probably looks like this. Too many tabs, too many newsletters, and somehow you still miss the one story you needed for a meeting.
Slack news digest automation hits market researchers first, because trend spotting dies in the noise. But content teams and busy operators feel it too. If you want daily updates you will actually read, this workflow turns messy headlines into a short, high-signal Slack post and a clean archive in Google Sheets.
You’ll see how it filters clickbait with AI, posts a daily top-3 summary to Slack (optionally in Japanese too), then builds a weekly trend report from what it collected.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Slack + Google Sheets: a news digest you will read
flowchart LR
subgraph sg0["AI Filter Articles Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>Incoming Webhook Trigger"]
n1@{ icon: "mdi:cog", form: "rounded", label: "Daily Schedule Trigger", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Assign Topic Keyword", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch News Articles"]
n4@{ icon: "mdi:robot", form: "rounded", label: "AI Filter Articles", pos: "b", h: 48 }
n5@{ icon: "mdi:brain", form: "rounded", label: "OpenRouter Chat Engine", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "AI Structure Articles", pos: "b", h: 48 }
n7@{ icon: "mdi:brain", form: "rounded", label: "OpenRouter Chat Engine B", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "Structured JSON Parser", pos: "b", h: 48 }
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/itemLists.svg' width='40' height='40' /></div><br/>Split Article Items"]
n10@{ icon: "mdi:database", form: "rounded", label: "Append Sheet Row", pos: "b", h: 48 }
n11@{ icon: "mdi:robot", form: "rounded", label: "AI Slack Summary", pos: "b", h: 48 }
n12@{ icon: "mdi:brain", form: "rounded", label: "OpenRouter Chat Engine C", pos: "b", h: 48 }
n13["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>Post English Slack Update"]
n14["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/deepL.dark.svg' width='40' height='40' /></div><br/>Japanese Translation"]
n15["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>Post Japanese Slack Update"]
n0 --> n2
n3 --> n4
n2 --> n3
n9 --> n10
n11 --> n13
n11 --> n14
n4 --> n6
n4 --> n11
n1 --> n2
n6 --> n9
n5 -.-> n4
n14 --> n15
n7 -.-> n6
n12 -.-> n11
n8 -.-> n6
end
subgraph sg1["AI Weekly Trend Repo Flow"]
direction LR
n16@{ icon: "mdi:cog", form: "rounded", label: "Weekly Schedule Trigger", pos: "b", h: 48 }
n17@{ icon: "mdi:database", form: "rounded", label: "Read Sheet Weekly", pos: "b", h: 48 }
n18@{ icon: "mdi:robot", form: "rounded", label: "AI Weekly Trend Report", pos: "b", h: 48 }
n19@{ icon: "mdi:brain", form: "rounded", label: "OpenRouter Weekly Engine", pos: "b", h: 48 }
n20["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>Post Weekly Slack Report"]
n19 -.-> n18
n16 --> n17
n17 --> n18
n18 --> n20
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n4,n6,n8,n11,n18 ai
class n5,n7,n12,n19 aiModel
class n10,n17 database
class n0,n3 api
classDef customIcon fill:none,stroke:none
class n0,n3,n9,n13,n14,n15,n20 customIcon
The Problem: News Monitoring Becomes Link Chaos
Staying “informed” is deceptively expensive. You skim headlines, open a few articles, save some links, then forget where you put them. The next day you do it again. Meanwhile, your Slack channel gets random URLs with no context, and your notes doc becomes a graveyard of “read later” items. Honestly, the worst part is the mental load. You spend your attention on sorting instead of learning, and teams end up making decisions off whatever happened to be memorable, not what was actually trending.
It adds up fast. Here’s where it breaks down when the process stays manual.
- Daily scanning turns into about 30–60 minutes of tab-hopping, and you still don’t trust what you picked.
- Clickbait wins because it is optimized for clicks, not usefulness, so you waste time reading low-quality summaries.
- Links get shared without structure, which makes it nearly impossible to look back and compare weeks.
- Weekly reporting becomes a scramble on Monday because no one has a reliable archive of what mattered.
The Solution: AI-Filtered News Digest to Slack + Sheets
This n8n workflow creates a daily news pipeline that feels simple on the surface and quietly handles the heavy lifting in the background. It starts on a schedule (or via webhook) and pulls fresh articles from NewsAPI based on a topic you choose, like “technology,” “AI,” or “cybersecurity.” Then an AI Agent filters the set, removing low-quality items and anything that looks like clickbait. From the remaining articles, it structures the details into a consistent format, appends each article to Google Sheets (title, author, summary, URL), and generates a short Slack-ready digest of the top three. If you want bilingual updates, it translates the summaries with DeepL and posts both versions to Slack. Every Monday, it reads last week’s sheet entries and uses AI again to produce a trend report with higher-level insights.
The workflow starts with a daily Cron trigger and your topic keyword. AI does the filtering, structuring, and summarizing so only the best items survive. Finally, Slack gets the digest while Google Sheets becomes your searchable memory, and Monday mornings get a real trend brief instead of a panic recap.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you track one topic daily and share updates with your team. Manually, it’s easy to spend about 10 minutes finding articles, 10 minutes skimming, and another 10 minutes writing a Slack message and saving links, so roughly 30 minutes a day. With this workflow, you spend about 2 minutes updating the keyword (or none if it stays the same), then wait for processing and the digest lands in Slack automatically. Over a week, that’s a few hours you don’t lose to the news treadmill.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- NewsAPI to fetch daily news articles.
- Slack to post the daily and weekly digests.
- Google Sheets for archiving titles, summaries, and URLs.
- OpenRouter (or OpenAI) for AI filtering, structuring, and summaries.
- DeepL API key (get it from your DeepL API account) for optional translation.
Skill level: Beginner. You will connect accounts, paste a few API keys, and choose a Slack channel and Google Sheet.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A schedule (or webhook) kicks it off. The daily Cron trigger runs at a set time (8 AM in the template), and there’s also an incoming webhook option if you want to trigger the digest on demand.
Your topic is assigned. A simple “set keyword” step defines what you’re tracking today, which means switching from “technology” to “crypto” is a quick edit, not a rebuild.
News is fetched and cleaned up by AI. NewsAPI pulls a batch of articles, then an AI Agent filters out the junk. Another AI step structures the remaining items into predictable fields (title, author, summary, URL) so downstream steps don’t get messy.
Slack and Sheets get the deliverables. The workflow posts a top-3 digest to Slack in English, optionally translates it with DeepL and posts the Japanese version, and appends each structured article into Google Sheets. On Mondays, it reads last week’s rows and posts a trend report back to Slack.
You can easily modify the tracked keyword to match a product line, competitor, or niche topic based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Webhook Trigger
This workflow starts from both a webhook and scheduled triggers to fetch and summarize news.
- Open Incoming Webhook Trigger and set the Path to
iphone-news. - Open Daily Schedule Trigger and set the run time to
hour: 8. - Open Weekly Schedule Trigger and set the schedule to
hour: 9withmode: everyWeek. - Confirm Incoming Webhook Trigger and Daily Schedule Trigger both connect to Assign Topic Keyword, while Weekly Schedule Trigger connects to Read Sheet Weekly.
Step 2: Connect Google Sheets
Google Sheets stores the structured news data and is used to build the weekly report.
- Open Append Sheet Row and set Operation to
append, then enter your Document ID and Sheet Name. - Credential Required: Connect your googleSheetsOAuth2Api credentials in Append Sheet Row.
- Open Read Sheet Weekly and set the Document ID and Sheet Name to the same weekly log sheet.
- Credential Required: Connect your googleSheetsOAuth2Api credentials in Read Sheet Weekly.
Step 3: Set Up Article Retrieval and Preparation
This step defines the topic keyword and fetches news from the external API.
- Open Assign Topic Keyword, enable Keep Only Set, and set chatInput to
{{ $json.chatInput || "technology" }}. - Open Fetch News Articles and set the URL to
https://newsapi.org/v2/everything. - In Fetch News Articles → Query Parameters, set q to
{{ $json.chatInput }}, language toen, sortBy topublishedAt, and pageSize to10. - In Fetch News Articles → Header Parameters, add X-Api-Key with your NewsAPI key.
Step 4: Set Up AI Processing for Filtering and Structuring
AI nodes filter articles, structure them into JSON, and build Slack-ready summaries.
- Open AI Filter Articles and set Text to
{{ JSON.stringify($json.articles) }}to pass the article list. - Connect OpenRouter Chat Engine as the language model for AI Filter Articles and add credentials there.
- Open AI Structure Articles and confirm Text starts with
{{ $json.output }}followed by the JSON-only prompt. - Ensure Structured JSON Parser is attached as the output parser for AI Structure Articles with the provided schema example.
- Connect OpenRouter Chat Engine B as the language model for AI Structure Articles and add credentials there.
- Open AI Slack Summary and set Text to
{{ $json.output }}to generate Slack-friendly content. - Connect OpenRouter Chat Engine C as the language model for AI Slack Summary and add credentials there.
Step 5: Configure Output Destinations and Translations
Structured items are stored in Sheets and published to Slack in English and Japanese.
- Open Split Article Items and set Field To Split Out to
articles. - Confirm Split Article Items connects to Append Sheet Row to store each article.
- Note the parallel flow: AI Filter Articles outputs to both AI Structure Articles and AI Slack Summary in parallel.
- Note the parallel flow: AI Slack Summary outputs to both Post English Slack Update and Japanese Translation in parallel.
- Open Post English Slack Update and set Text to
{{ $json.output }}, then select your channelId. - Open Japanese Translation and set Text to
{{ $json.output }}and Translate To toJA. - Open Post Japanese Slack Update and set Text to
{{ $json.translatedText }}, then select your channelId.
Step 6: Configure the Weekly Trend Report Output
Weekly summaries are generated from Google Sheets and posted to Slack.
- Open AI Weekly Trend Report and set Text to
{{ JSON.stringify($json) }}to pass all rows to the model. - Connect OpenRouter Weekly Engine as the language model for AI Weekly Trend Report and add credentials there.
- Open Post Weekly Slack Report and set Text to
{{ $json.output }}, then select your channelId.
Step 7: Test and Activate Your Workflow
Verify each path works end-to-end before turning the workflow on.
- Click Execute Workflow and use Incoming Webhook Trigger with sample payload containing
chatInputto test the daily/news flow. - Confirm that Append Sheet Row appends rows and that Post English Slack Update and Post Japanese Slack Update post messages in their channels.
- Manually run Weekly Schedule Trigger to verify Read Sheet Weekly → AI Weekly Trend Report → Post Weekly Slack Report works.
- When everything is successful, toggle the workflow to Active for production use.
Common Gotchas
- Slack credentials can expire or need specific permissions. If things break, check the n8n Credentials section and your Slack app OAuth scopes first.
- If you’re using Wait nodes or external processing, timing can vary. Bump up the wait duration if downstream steps fail because an AI response hasn’t arrived yet.
- Default prompts in AI nodes are generic. Add your brand voice and what “clickbait” means to you early, or you will be editing outputs forever.
Frequently Asked Questions
About 30 minutes if you already have the API keys.
No. You’ll connect accounts and paste API keys into n8n. The rest is mapping a Google Sheet and picking a Slack channel.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in AI and API usage (NewsAPI, OpenRouter/OpenAI, and optional DeepL) which usually lands at a few dollars a month for a single daily digest.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and it’s straightforward. Change the keyword in the “Assign Topic Keyword” step, and you’ve got a new beat to track. For language, you can remove the DeepL translation node entirely if you only want English, or change the target language code to whatever your team uses. If you want stricter filtering, tweak the AI Agent prompt so it rejects fluff more aggressively.
Usually it’s expired credentials or missing OAuth scopes in your Slack app. Reconnect Slack in n8n credentials, confirm the workflow is posting to the right workspace, and make sure the bot has permission to write to that channel. If it fails only on busy days, rate limits can also be the culprit.
Plenty for a daily digest.
Often, yes, because this workflow relies on multi-step AI processing, structured parsing, and weekly rollups, and those get awkward (and pricey) fast in simpler automation tools. n8n also lets you self-host, which is a big deal if you want unlimited runs or tighter control over data. Zapier or Make can still be fine if you just want “send me links,” but you’ll lose the filtering and the structured archive that makes trends easy to spot. The other difference is flexibility: editing prompts, branching on conditions, and merging data is normal in n8n. Talk to an automation expert if you want a quick recommendation for your setup.
You set the topic once, and the workflow keeps you informed without the link pileup. Clean Slack updates, a growing archive in Sheets, and a weekly trend readout that’s ready when you are.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.