Skip to Content

Project 2: RSS News Bot

Automating your morning reading with n8n.

Goal: Build a workflow that monitors an RSS feed and emails you the latest stories. Time: ~15 minutes. Tool: n8n (Self-hosted or Cloud).

In Vibe Coding, we automate the “boring stuff” first. This tutorial builds a “Set it and Forget it” pipeline.


1. The Blueprint (The Logic)

Before we open n8n, we define the logic. This prevents “Spaghetti Workflows”.

rss-workflow-logic.md
1. **Trigger:** Every morning at 8:00 AM. 2. **Fetch:** Get items from `Refactoring.fm/rss` (or any feed). 3. **Filter:** Keep only items published in the last 24 hours. 4. **Action:** Format as HTML list (Title + Link). 5. **Delivery:** Send email to `me@example.com`.

2. The Implementation (Visualized)

Here is the actual workflow you will build. Click on the nodes to see what they do!

Loading workflow visualizer...

3. Step-by-Step Guide

Step 1: The Trigger

Drag a Schedule Trigger node onto the canvas.

  • Set Trigger Interval to Days.
  • Set Time to 8:00 AM. (This ensures you get your news with your morning coffee).

Step 2: The Source

Drag an RSS Read node.

  • URL: Paste https://hnrss.org/frontpage (Hacker News) or https://techcrunch.com/feed.
  • Click Execute Node to test it instantly. You should see a list of articles.

Step 3: The Filter (The “Vibe” Logic)

We don’t want yesterday’s news.

  • Drag a Function (or “Code”) node.
  • Paste this simple JavaScript snippet to filter by date:
    const yesterday = new Date(); yesterday.setHours(yesterday.getHours() - 24); return items.filter(item => new Date(item.json.pubDate) > yesterday);

Step 4: The Delivery

Drag an Email (Gmail/Outlook) node.

  • To: Your email.
  • Subject: “Daily Digest”.
  • Body: Drag the Title and Link from the previous node into the HTML field to create a list.

Why n8n?

Unlike Zapier, n8n lets you write custom code (Step 3) and host it yourself for free. It gives you the “Vibe” of coding (infinite control) with the speed of No-Code.

Last updated on
← Return to Site0x007 Documentation