Skip to content
Automation Squad
RAIGIn build

AI drafting, summaries & agents

RSS feeds → OpenAI daily digest → Gmail each morning

Your feeds, summarised into one email that arrives at the hour you set.

The feeds worth following add up to more than anyone reads. This workflow pulls every new item from your feed list overnight, has GPT group them by topic and write a three-line summary of each, and sends the result to your inbox at the hour you set. Founders, marketers and analysts get one email instead of forty open tabs. Any feed that failed to load is named at the bottom, not dropped.

How it works

  1. R

    Trigger

    Scheduled read of every feed URL on your list, each morning at the hour you set

    RSS feeds

  2. R

    Step 1

    Read each feed on the list

    A Schedule Trigger fires at your chosen hour and the RSS Read node fetches every URL in the feed list, which lives in the workflow as a plain array you edit.

  3. if

    Step 2

    Keep only items published since the last run

    Filters each item's publish date against the previous run time stored in the workflow, then dedupes by link so a story syndicated to three feeds appears once.

  4. AI

    Step 3

    Group and summarise with GPT

    Title, link and the opening 1,500 characters of each item go to GPT in one request. Back comes a topic heading per group and a three-line summary per item, source link kept.

  5. if

    Step 4

    Build the email

    Assembles the HTML: the date in the subject, topic headings, summaries with links, and a footer that names any feed which returned an error or no items.

  6. G

    Step 5

    Send the digest from your own Gmail

    Gmail sends the HTML email to the recipients you list, from your own address, so it lands in the same inbox and filters as everything else.

What changes once it runs

  • One email at the hour you set, grouped by topic, with a link back to every source item.
  • Only items published since the previous run, deduped across feeds, so nothing is summarised twice.
  • Feeds that fail to load are named in the footer of that day's email rather than silently skipped.
  • Feed list, send time and recipients are three settings at the top of the workflow. Changing them touches no other node.

What you get

  • n8n workflow export, with Make and Zapier versions of the same flow
  • The GPT prompt as a separate file, with the grouping rules and summary length marked for editing
  • HTML email template with the topic-heading layout
  • Setup guide covering the Google OAuth client, the OpenAI key and the send time
  • Recorded walkthrough of one morning's run
  • Email support for thirty days, for setup questions

Before you start

  • OpenAI API key with a small prepaid balance
  • Gmail account with OAuth connected in n8n; the guide covers the Google Cloud OAuth client
  • A list of feed URLs. Feeds that sit behind a login are not supported
  • n8n Cloud or self-hosted; the Schedule Trigger needs no public URL

Built for

Questions before you buy

Can I add or remove feeds without editing the workflow?
Yes. The default keeps the feed list inside the workflow because that needs no extra account. The guide shows the swap to a Google Sheet, one URL per row, so anyone on the team can add a feed.
What happens if a feed is down or the summary step fails?
A feed that returns an error is skipped and named in the email footer, and the rest of the digest still sends. If the GPT call itself fails, n8n retries it twice, then sends the digest with raw titles and links in place of summaries and says so in the subject line.
Does this run on Make or Zapier?
Both versions ship in the package. Make mirrors the n8n flow module for module, with a Data store holding the links already sent so a story carried by three feeds goes out once. Zapier's version uses the RSS multi-feed trigger and Digest by Zapier to collect items through the day and release them on schedule. It does not dedupe across feeds; the same story from two sources appears twice.
Will the first run summarise every item in each feed's history?
No. On the first run the workflow records the current time and sends nothing, so the first real digest covers the following day. To backfill, set the last-run time by hand in the workflow's static data; the guide shows where.
Which model does it use, and can I switch it?
The model name is a single field on the OpenAI node, set to a small, low-cost GPT model by default. Any chat model the node lists works, and the package includes the same prompt wired to the Anthropic node if you would rather use Claude.

Nearby on the shelf

Whole catalog