Daily
Get a morning summary of your RSS feeds
New articles from your feeds arrive as one list of bullets, without repeats from earlier days.
- Runs
- Daily
- Apps
- Google Gemini
- AI
- Not needed
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: at 7am every day, read these four RSS feeds, summarise only the new articles in bullets with the Google Gemini API, and email it to me.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A founder follows twenty RSS feeds: industry news, competitor blogs, a few newsletters and two subreddits. Opening each one takes half an hour, and since feeds repeat stories and republish old items, she often reads the same announcement three times and misses the one article that matters. When she skips a few days, the backlog is so big that she gives up and ignores everything.
Each morning, ClickRuntime fetches your feeds, removes any item it already included before, and sends the new items to Gemini through its generateContent call. Gemini writes a short digest that groups related stories and gives each a line or two plus the link. The finished digest is emailed to you.
It is a good fit for people who need to stay informed in a fast-moving field without making the reading a habit of its own.
What you get out of it
Thirty minutes of scanning becomes five
A grouped summary with links lets you decide what is worth opening. You read the three stories that matter in full and leave the rest at a glance. That time goes back to work.
Repeated stories only appear once
Remembering which items were already sent means the same product launch does not come back each day from different feeds. Your digest stays short and shows only what is new.
Related news grouped together
When four sources cover the same announcement, the digest can put them under one heading. That gives a fuller view of one event than reading four separate summaries. You get the whole picture in one place.
You stay informed on weak days
A busy week or a holiday does not break the habit, because the digest arrives anyway. Catching up means reading one email, not scrolling through a week of unread items.
Early awareness of competitor moves
A competitor's new pricing page or feature post is easy to miss in a noisy feed. When it is condensed into a single line next to its link, it is much more likely to be noticed the same day.
How it works
What happens, step by step
Every morning, ClickRuntime checks your news feeds for new articles.
It skips any article already included in an earlier digest.
Gemini summarises the new stories as bullet points, one per story, each with its link.
You get one email with the digest. If nothing is new, no email is sent.
Before it runs live
- Connect Google Gemini
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Google Gemini steps into one automation
Under the hood
The code that runs this automation
import xml.etree.ElementTree as ET
from clickruntime import on_trigger, credentials, notify, http, state
def gemini(body, model="gemini-2.5-flash"):
resp = http.post(f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",
headers={"x-goog-api-key": credentials.secret("GEMINI_API_KEY")}, json=body, timeout=120)
resp.raise_for_status()
return resp.json()["candidates"][0]
FEEDS = ["https://feeds.bbci.co.uk/news/technology/rss.xml", "https://www.theverge.com/rss/index.xml",
"https://hnrss.org/frontpage", "https://feeds.arstechnica.com/arstechnica/index"]
@on_trigger
def run(event):
seen = set(state.get("seen") or [])
new = []
for feed in FEEDS:
for item in ET.fromstring(http.get(feed).content).iter("item"):
link = item.findtext("link")
if link and link not in seen:
new.append(f"{item.findtext('title')} ({link})")
seen.add(link)
if not new:
return {"new": 0}
out = gemini({"contents": [{"parts": [{"text": "Summarise these new articles as bullets, one per story, "
"keeping the link:\n" + "\n".join(new[:80])}]}]})
notify.email_me(f"News digest: {len(new)} new articles", out["content"]["parts"][0]["text"])
state.set("seen", sorted(seen)[-2000:])
return {"new": len(new)}FAQ
Common questions
Do I need my own Gemini API key?
How many feeds can it handle?
Can I get the digest in another language or format?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get a weekly research brief with sources
Every Monday you get a short brief on your topic built from live Google results, with the links it used.
See how it worksGet an evening recap of market headlines
After the markets close you get the day's finance headlines in a few bullet points.
See how it worksWrite captions and alt text for images
Every image link you send comes back with a caption and accessible alt text.
See how it worksKeep exploring
Set up “Get a morning summary of your RSS feeds” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.