Paid plan or a free DIY build, about 30 minutes. Every Friday afternoon a scheduled run reads your calendar, your finished docs and your tickets, then drafts the update: what shipped, what is still open, what is blocked and needs someone else, and what carries into next week. Writing it becomes ten minutes of editing instead of an hour of remembering.
The tools, and what each is actually best at:
How to set it up: connect Google Calendar plus wherever your work lives (Notion, Linear, Drive), set the cadence to weekly on Friday afternoon, and send the output to a Notion page or a Gmail draft rather than straight to your manager.
Read this week's calendar events, the documents I edited, and
the tickets that changed status. Then write my weekly update.
Four sections, in this order:
1. SHIPPED. Only things that are actually finished. A meeting
is not a shipped thing. If you are unsure, put it in 2.
2. IN PROGRESS. Include where each one is stuck, not just that
it is open.
3. BLOCKED, NEEDS A DECISION. Say who needs to decide and what
the question is. This is the section my manager reads.
4. NEXT WEEK. Ranked by what matters, not carried over in the
same order as last week.
Rules: no filler, no "continued to work on". If a status field
says In Progress but nothing changed in two weeks, say so.
Flag anything you inferred rather than read, so I can check it.
The honest gate: Claude Code Routines need Pro or Max and a repository. Desktop local tasks only fire while the app is open and the machine is awake, so they are not reliable for a standing Friday commitment. Zapier's free plan cannot do this at all, because free Zaps are capped at one trigger and one action. The genuinely hard part is judgment, not plumbing: "shipped" and "blocked" rarely exist as clean fields anywhere. Treat it as a first draft every week, never as something that sends itself.
Cowork scheduled tasks · Claude Code Routines · n8n schedule trigger · Apps Script triggers
Roughly $25 to $33 a month for the good version, or free DIY. While you sleep it sorts the inbox into four buckets and writes the replies. Nothing sends itself. At 7am you are approving drafts instead of starting from a blank box.
The four buckets that make it useful: needs you today, quick yes or no, FYI only (archived), and do not reply yet (flagged rather than guessed).
The tools, and what each is actually best at:
The free DIY version, and why it is structurally safe: the Gmail API creates a draft with one call, and sending is a completely separate call. If you never write the send step, it can never send. That is a stronger guarantee than any setting. Buckets are Gmail labels applied to the incoming thread. One real constraint to design around: you cannot apply a label to a draft message, so label the thread and let the draft sit attached to it.
Here is an email thread. Do two things.
FIRST, put it in exactly one bucket:
- NEEDS ME TODAY: someone is blocked on my answer, or there is
a deadline inside 48 hours.
- QUICK YES OR NO: scheduling, approvals, one-line answers.
- FYI ONLY: newsletters, receipts, threads I am only cc'd on.
- DO NOT REPLY YET: anything involving money, legal terms, a
complaint, bad news, or a relationship I could damage by
getting the tone wrong.
Rule for the last bucket: if I have no clear precedent in this
thread for how I'd respond, put it there. Do not guess.
SECOND, unless it is FYI or DO NOT REPLY, draft my reply.
Match how I actually write in this thread: same greeting, same
sign-off, same length. Short is correct. Never invent a
commitment, a date, or a number I have not already given.
If the reply depends on something you don't know, write the
draft with [I NEED TO CONFIRM: ...] in the gap.
The honest gate: there is no meaningful free tier in this category, so budget $25 to $33 a month for a good one. The DIY route needs a Google Cloud project and OAuth setup, and the Gmail compose scopes are restricted, so a personal build stays in test mode with a warning screen and periodic re-consent. Voice matching takes weeks of editing before it sounds like you. And the sensitive bucket is where these quietly fail: it misses exactly the emails that matter most, which is why the rule above is "flag anything without a precedent" rather than a cleverness score.
Fyxer · Superhuman · Shortwave · Missive · Gmail drafts API
Free to build badly, about $15 to $50 a month to run well. At 8pm it reads tomorrow's calendar and turns every external meeting into one page: who they are, what the company does, anything in the news, and what is still open from last time. You walk in already knowing the thing that makes them lean forward.
The tools, and what each is actually best at:
How to set it up: schedule a run at 8pm, pull tomorrow's calendar events, drop anything internal, split each attendee email at the @ to get the company domain, enrich the domain and the person, search recent news for the company, pull the last thread with that person from Gmail, then have Claude write it into one page per meeting and deliver it to Gmail or Slack.
Write my prep brief for this meeting. One page maximum. I read
this in the two minutes before I join, so lead with what
changes how I behave in the room.
1. WHO IS IN THE ROOM. Name, role, how long they've been
there. One line each.
2. WHAT THIS COMPANY ACTUALLY DOES. In plain words, not their
marketing copy. How they make money.
3. WHAT'S CHANGED RECENTLY. Only from the last 90 days, and
only if it could plausibly come up. No filler.
4. OUR HISTORY. What we last discussed, what I promised, what
they were unhappy about, what is still unanswered.
5. THE OPENING LINE. One specific, true observation I can lead
with that proves I did the reading.
Cite a source for every factual claim. If you could not find
something, write NOT FOUND. Never fill a gap with a guess:
a confident wrong fact about someone's own company is worse
than admitting I didn't find anything.
The honest gate: free tiers will not carry this daily, so the realistic floor is $15 to $50 a month. Set a hard spend cap on every API key before the first run, because a loop over a busy calendar is exactly how a bill runs away. Two promises to soften: enrichment genuinely fails on personal email addresses and on small Australian companies, so expect a useful hit rate closer to 50 to 70 percent, and mutual connections live inside LinkedIn, whose user agreement forbids scraping profiles, so treat that as unavailable rather than a feature. "What they bought or complained about" comes from your own CRM and support history, not from enrichment.
Granola briefs · Clay · Attio · Exa · Fathom
Free, about 15 minutes, no build at all. Drop three supplier quotes into one place and get the comparison the sales rep was hoping you would not make. The cheapest headline price is very often the most expensive deal once setup fees, hourly support and a 24-month lock-in are on the same table.
The tools, and what each is actually best at:
Attached are quotes from three suppliers for the same thing.
Build me one comparison table. One column per supplier.
Rows, in this order:
headline price, one-off setup or onboarding fee, migration or
implementation, what's included vs charged extra, support tier
and its annual cost, overage rates, minimum term, auto-renewal
and the notice period, early exit fee, the price-increase
clause, and the cost to export my data if I leave.
Then add two final rows: TOTAL COST OVER 12 MONTHS and TOTAL
COST OVER 36 MONTHS, showing your working.
Hard rules:
- Quote the exact clause and give me the page number for every
single number you put in the table.
- Where a quote is silent on a row, write NOT STATED. Never
estimate, never infer from the other two quotes.
- If a quote says "subject to our standard terms", say so
loudly: the comparison is incomplete without that document.
Finish with: which is genuinely cheapest over three years, and
the three questions I should ask before signing anything.
The honest gate: a scanned or photographed quote with no text layer extracts as nothing, which is when you add the OCR step. Multi-column pricing tables extract badly, and a fee sitting in a footnote or a merged cell routinely lands in the wrong supplier's column. That is exactly why the prompt demands a page number for every figure: it makes each number checkable in seconds. Spot-check anything that would change your decision. And exit terms usually live in a linked terms document rather than the quote itself, so a quote that defers to standard terms has not really been compared yet.
Claude projects · What Claude can read · Unstructured · LlamaParse
Free tier possible, about 2 hours to build. You tell it where you want to go and the number you would actually pay. It checks on a schedule and messages you the moment the fare drops under your number. The cheap fare in my example lasted about thirty hours, which is the entire point: nobody refreshes a booking site fourteen times a fortnight.
The tools, and what each is actually best at:
How to set it up: create a bot with Telegram's BotFather and copy the token. In n8n, add a schedule trigger every six hours, an HTTP request to SerpApi with your origin, destination and date window, a comparison against your threshold, and a Telegram node to message you when it drops. Add the bot to your chat first or the message has nowhere to land. If you want to message the bot your destination in plain English, add a Telegram trigger and store the route in a sheet. There is a free n8n template for exactly this build, using SerpApi and email, that you can import and change the delivery step on.
The honest gate: 250 free searches a month is one route on a sensible cadence, not five routes hourly. SerpApi reads Google Flights, so prices are indicative and can lag the airline's real checkout by a little. Self-hosted n8n means you are running a server, and n8n Cloud is 20 euro a month. The genuinely honest note: build this for the Telegram delivery, your own thresholds and multiple routes at once, not because the free tool does not exist. It does, and it is decent.
Google Flights price tracking · SerpApi Google Flights · The n8n template · n8n Telegram node