Newsletters judged by AI once a week, and unsubscribed from once
Once a week, a Make scenario per mailbox gathers the newsletters from the last thirty days, asks OpenAI which senders are worth keeping, and unsubscribes from the rest through their own unsubscribe links, or, in review mode, puts one-click links in a merged weekly report. A data store remembers every sender already handled: 153 so far.
Where this applies
Anyone with inboxes full of subscriptions, from directors and shared mailboxes to teams that inherited an old address.
- senders unsubscribed, each once
- 153
- mailboxes covered by one report
- 7
- of mail reviewed each week
- 30 days
The problem
Newsletters accumulate faster than anyone unsubscribes from them, and across several mailboxes they bury the mail that matters. Unsubscribing by hand is a link per sender, per mailbox, and it never gets done.
A blanket filter is the wrong answer: some newsletters are wanted, and a rule cannot tell a supplier's price update from a marketing blast. The judgement is the part a person does not want to do and the part a model does well, provided it never acts twice on the same sender.
What we built
The unsubscribe link is in the header
Each mailbox's copy reads the last thirty days of mail and pulls the List-Unsubscribe header and the sender's details from each newsletter. Those details are saved to a data store as they are found, so the link is at hand when the decision is made.
One judgement per sender
The newsletters are collected per sender and passed to OpenAI in one request, which returns a keep-or-unsubscribe judgement for each as JSON. A retry handler covers rate limits.
Never twice
Before acting on a sender, the scenario asks the data store whether it has already unsubscribed. Only senders not yet handled go any further.
Auto mode or review mode
The settings block at the top of each copy sets the mode. In auto mode the unsubscribe is carried out by calling a webhook scenario that follows the link. In review mode the sender becomes a row in the report instead, with a one-click link that runs the same webhook.
One report for every mailbox
Each copy saves its block of report rows to a data store, and a merge scenario sends one weekly report covering all seven mailboxes.
The outcome
Live since 18 September 2026. The data store of unsubscribes holds 153 senders, each recorded so it is never handled again.
The mailbox copy whose history was read ran 8 times from 18 September to 19 October without an error.
Where it stops
It works only for senders that publish an unsubscribe link in their headers; anything else stays. In auto mode the model's judgement is acted on without review, so review mode is the safer setting for a new mailbox. Each mailbox is a separate copy, and only one copy's run history was read.
Built with
- Make.com
- Gmail
- OpenAI
- Make data store
- Webhooks
- HTTP
Patterns used
- Header as the action
- Data store as memory
- Review or auto mode
- Fan-in through a data store
Page copy drafted with AI assistance. Skofi is accountable for it. Editorial policy
Have something shaped like this?
If any part of the above resembles a problem you are living with, a short call is the fastest way to find out whether it is the same problem underneath.
What happens on the call
- 15 minutes, no deck
- We map the process on the call
- A written scope, or an honest no