Skip to content

On a schedule

Turn today's newsletters into one digest

All of today's newsletters become one summary email, and the originals are labelled and archived.

Runs
On a schedule
Apps
Gmail
AI
Yes, uses the built-in AI allowance
Access
read+write (gmail.modify, gmail.send)

Send this to your assistant

Create a ClickRuntime automation: every evening at 6pm, summarise today's newsletters into one email to me, then label them Newsletters and archive them.

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

Newsletters are the slow leak of attention. You subscribed to a dozen because each looked useful, and now twenty of them land daily between customer messages. You rarely read them when they arrive, so they pile up as unread bold numbers, and the inbox count becomes meaningless. Unsubscribing from all feels like losing something, and keeping them costs a little focus every time you open Gmail.

Each day, newsletters and list mail are found with a Gmail search. ClickRuntime's built-in AI reads them and writes a single digest with the essential points of each, which is emailed to you. The originals then get a label and leave the inbox, so your inbox shows only mail from people.

Readers who follow many publications, founders and analysts who want the information without the interruption will like it.

What you get out of it

  • You still get the content

    Rather than unsubscribing, you read a condensed version of every newsletter, so the useful ideas reach you without twenty separate emails. You keep the value of your subscriptions while losing the daily clutter that comes with them.

  • The inbox becomes people only

    With newsletters moved out of the inbox, what remains is mail written to you, and the unread count means something again. A clean inbox makes it easier to see customer mail and to trust the unread count again.

  • One reading session per day

    Reading the digest once replaces many small interruptions, and you pick when to read it, such as during lunch or on a commute. You choose the moment, so reading becomes a pleasant habit and not an interruption.

  • Originals are kept, not deleted

    Newsletters are labeled and archived instead of removed, so if the digest mentions something you want in full, the original is one search away. That safety net makes it easy to be relaxed about automatic filing.

  • Cheaper than missing out

    Staying informed without sacrificing attention to unread counts is a better deal than the alternatives of ignoring newsletters or reading all of them. Most people find the digest more useful than the pile of unread issues it replaces.

How it works

What happens, step by step

  1. Every day ClickRuntime finds the newsletters that arrived in your Gmail inbox in the last 24 hours.

  2. It reads the sender, subject and content of each one.

  3. AI writes a single digest with the main point of each newsletter, grouped by topic.

  4. The digest is emailed to you, and the original newsletters are labelled and moved out of your inbox.

Before it runs live

  • Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail

What you get

RunsOn a schedule
Turn today's newsletters into one digesttoday, 9:00Succeeded
Email · Today's newsletters (6)Product: Acme Weekly says usage-based pricing is replacing seats in dev tools. Markets: Northwind Brief notes freight rates down 4% this week.

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
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Slack
  • Combine it with other Gmail 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.
newsletter_digest_and_clean_up.pyexample
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, ai, notify

@on_trigger
def run(event):
    gmail = build("gmail", "v1", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
    msgs = gmail.users().messages().list(userId="me", q="in:inbox newer_than:1d list:*", maxResults=50).execute().get("messages", [])
    if not msgs:
        return {"newsletters": 0}
    items = []
    for m in msgs:
        meta = gmail.users().messages().get(userId="me", id=m["id"], format="metadata", metadataHeaders=["From", "Subject"]).execute()
        h = {x["name"]: x["value"] for x in meta["payload"]["headers"]}
        items.append(f"{h.get('From')} – {h.get('Subject')}: {meta['snippet']}")
    digest = ai.generate("Summarise today's newsletters, two lines each, grouped by topic:\n" + "\n".join(items),
                         max_output_tokens=900).text
    notify.email_me(f"Today's newsletters ({len(items)})", digest)
    labels = {l["name"]: l["id"] for l in gmail.users().labels().list(userId="me").execute()["labels"]}
    label = labels.get("Newsletters") or gmail.users().labels().create(userId="me", body={"name": "Newsletters"}).execute()["id"]
    gmail.users().messages().batchModify(userId="me", body={"ids": [m["id"] for m in msgs],
                                         "addLabelIds": [label], "removeLabelIds": ["INBOX"]}).execute()
    return {"newsletters": len(items)}

FAQ

Common questions

How does it recognize newsletters?
With Gmail search terms such as category:promotions and list: or unsubscribe within the last day. These catch most bulk mail, and you can add or exclude specific senders if the net is too wide or narrow.
Will important mail be archived by mistake?
Only mail that matches the newsletter search is affected, and archived mail stays searchable under its label. If a sender you care about is caught, add that address to an exclusion list. Exclusions are simple to add at any time.
Is the digest long?
Each newsletter gets a few lines, so the digest scales with the number of newsletters rather than their length. If you want shorter or longer entries, say so and approve the revised wording. You are free to ask for a different level of detail.
What permissions does it need?
read+write (gmail.modify, gmail.send). Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it runs (on a schedule). 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 “Turn today's newsletters into one digest” from your assistant

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