Skip to content

Daily

Get a morning digest summarised on your own key

Every day new items from the feeds you follow are summarised with your OpenAI model and emailed, with no repeats.

Runs
Daily
Apps
OpenAI
AI
Not needed
Access
API key (All or Restricted with model access)

Send this to your assistant

Create a ClickRuntime automation: every day at 7am, fetch new items from these 4 RSS feeds, summarise them with gpt-4o-mini in bullets, and email me the digest.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A product marketer needs to keep up with competitor blog posts, industry newsletters and a few subreddits, and the honest truth is that she reads none of them consistently. Forty tabs open on Monday, two read by Wednesday, and when a rival announces a pricing change in a post she never opened, she hears about it from a customer. Skimming feeds by hand eats the early part of the morning and still misses things.

Every morning, the feed or web address you choose is fetched, and the items are sent to an OpenAI chat completion that condenses them into a handful of bullet points. The run remembers which items it has already summarized, so yesterday's news is never repeated, and the digest is then emailed to you before your first coffee.

It is a good fit for anyone tracking competitors, regulations, job boards, release notes or a favorite publication.

What you get out of it

  • Competitor moves reach you on the day

    A pricing change or feature launch posted overnight is in your inbox by morning, so you can brief the team or adjust positioning that same day and not after a customer asks about it.

  • Reading time shrinks to a few minutes

    Instead of opening forty links, you read one digest and click only through to the items that deserve attention. The early part of your day goes to work instead of to scanning feeds. That habit pays off during a launch or a crisis, because the record already exists and is easy to search through.

  • You never read the same item twice

    The run remembers which items it has already covered, so each email contains only what is new. That keeps the digest short and prevents the numbness that comes from repeated headlines.

  • Coverage does not depend on discipline

    Manual monitoring lapses during busy weeks, which is exactly when something important tends to happen. A scheduled digest keeps arriving whether or not you had time to browse. Keeping that record costs nothing, and it grows more useful the longer the digest runs.

  • A running archive of what changed

    Each morning's email is a dated note of what a source said. Months later, you can search your inbox to find when a competitor first mentioned a feature, which is useful in planning and in sales calls.

How it works

What happens, step by step

  1. Every day, ClickRuntime checks the feeds and pages you follow for new items.

  2. It skips anything it has already sent you before.

  3. Your OpenAI model reads the new items and writes a one-line summary of each.

  4. You get one email digest with the summaries as a short bulleted list.

Before it runs live

  • Connect OpenAI

What you get

RunsDaily
Get a morning digest summarised on your own keytoday, 9:00Succeeded
Email · Daily digest- Two chipmakers announced new AI accelerators for laptops - A popular open-source database moved to a new licence

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 OpenAI steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
ai_summary_of_a_scheduled_source_sent_to_me.pyexample
import feedparser
from clickruntime import on_trigger, credentials, http, notify, state

FEEDS = ["https://hnrss.org/frontpage", "https://www.theverge.com/rss/index.xml",
         "https://feeds.arstechnica.com/arstechnica/index", "https://techcrunch.com/feed/"]

@on_trigger
def run(event):
    seen = set(state.get("seen") or [])
    items = [e for url in FEEDS for e in feedparser.parse(http.get(url).content).entries if e.link not in seen]
    if not items:
        return {"new": 0}
    lines = "\n".join(f"{i + 1}. {e.title}: {e.get('summary', '')[:300]}" for i, e in enumerate(items[:60]))
    resp = http.post("https://api.openai.com/v1/chat/completions",
                     headers={"Authorization": f"Bearer {credentials.secret('OPENAI_API_KEY')}"}, json={
        "model": "gpt-4o-mini",
        "messages": [{"role": "system", "content": "Summarise these news items as short bullets, grouping related ones."},
                     {"role": "user", "content": lines}]})
    resp.raise_for_status()
    notify.email_me(f"Daily digest: {len(items)} new items", resp.json()["choices"][0]["message"]["content"])
    state.set("seen", list(seen | {e.link for e in items})[-2000:])
    return {"new": len(items)}

FAQ

Common questions

Do I need my own OpenAI key for the summaries?
The summarizing step in this version calls OpenAI chat completions with a key that you provide, which is stored as a secret. Usage is billed by OpenAI to your account, and the cost for one short daily digest is usually small.
Which sources can it read?
RSS and Atom feeds work best, as do plain web pages and JSON endpoints that need no login. Pages that require sign-in or load their content only through scripts may return little text, and the summary will reflect only what could be fetched.
How does it avoid repeating items from yesterday?
It stores the identifiers or links of items it has already summarized and skips them on later runs. If a source edits an old post, it is treated as the same item, so you are not notified a second time.
What permissions does it need?
API key (All or Restricted with model access). Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (daily). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get a morning digest summarised on your own key” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.