You're losing deals you didn't know were dying.
Friday triage list of stalled Gmail client threads ranked by SLA breach age. gmail.readonly only, no scraper, no bulk sender, no mailbox stored.
$0 open template · $19 self-host bundle · $99 done-for-you triage report (email me after Gumroad purchase, subject "DFY Triage") · sample report preview
A free, MIT-licensed Apify Actor for Gmail inbox workflow analytics — thread search, reply tracking, LLM summary, unread digest. Built on gmail.readonly OAuth scope. Not a scraper, not a bulk sender, not a mailbox archiver.
days shipped: 17
dev.to articles: 22
dev.to readers/wk: 247
dev.to followers: 0
Gumroad sales: 0
Apify Actor runs: 8 (0 external users)
GitHub stars: 1 (thank you @kuerdy)
real reader replies: 2 (tokidigital + dimagious, public threads)
Every number is live and honest. Latest post-mortem: Day 17 — cut the $9 PDF, 25-min spike out a new direction. Two real readers replied to my dev.to log in week 2: tokidigital's PWYW-vs-$99 pricing question (substantive 300-word reader comment) and dimagious's "first 30 seconds" thread (reciprocal reply 27h after my outbound comment). Both are public — read them in full before paying anything. This README updates daily. If anything below looks rotten or out of date, file an issue and I'll fix it.
- Solo consultants / freelancers — get a Friday triage list of client emails that went cold, ranked by how many days past your SLA the thread has been silent.
- Indie founders running sales by hand — track which prospects you replied to last and which proposals are quietly dying.
- Devs building inbox automations — use the Actor as a Gmail-API building block (refresh-token OAuth, per-feature quota in KVS, async router) for downstream tools.
{
"thread_id": "18c4f...",
"last_message_at": "2026-04-28T09:14:00Z",
"days_since_last_reply": 9.2,
"over_sla": true,
"priority_band": "HOT",
"reply_chain_length": 4,
"sender_domain": "acme.com"
}The summary block tells you priority_breakdown: {HOT: 3, WARM: 5, COLD: 12} for an at-a-glance Friday triage:
- HOT — past SLA but recent (ratio < 1.5×). Standard polite bump still works.
- WARM — well past SLA (1.5× to 3×). Needs context refresh, not just a ping.
- COLD — deep stale (3×+). Use
reengage_anglefor fresh-news re-entry.
See examples/05_dry_run_test.json for a full synthetic run.
- See the sample output first (anon, no signup) — open the Friday Triage gist — anonymized 10-thread HOT / WARM / COLD output, the exact shape you'd get back. Open in any browser, no login required. Decide whether the output is worth the execution setup before signing up anywhere.
- Run the Actor yourself — open apify.com/foxck/gmail-inbox-intel (requires a free Apify account — that's the friction layer I caught myself overselling earlier), tick the "Try demo (no OAuth needed)" checkbox, hit Run. You'll see a synthetic 5-thread sample in ~7 seconds.
- Want real data? Paste 3 OAuth fields (
refresh_token,client_id,client_secret) — see OAUTH.md for the 5-minute Google Cloud setup, untickdry_run, hit Run again. - Read the dataset — for
reply_metrics, you get stalled threads ranked by SLA breach age, ready to paste into Friday triage
No subscription. No server-side mailbox cache. The Actor runs against the official Gmail API in readonly scope and exits.
Want to see the output shape without setting up OAuth? Set "dry_run": true in the input and the Actor skips Gmail entirely, emitting a 3-row synthetic dataset per feature so you can wire up downstream tooling first. See examples/05_dry_run_test.json or this sample run: Apify console run JnZVfjPrexOfeoSdF.
The 10 Gumroad listings on foxck.gumroad.com were all refreshed on Day 17 with the same build-in-public log block and 2 real reader thread links — every claim has a date and a number. The most adjacent to this Actor:
- Claude Code Mastery: The Reverse-Engineering Guide ($49) — every env var, hook event, settings key extracted from the Claude Code v2.1.90 binary. Tested across 13 production services. The internals doc the official docs don't ship.
- AI Lead Auto-Responder ($39) — n8n template that pairs with this Actor: this Actor scans the inbox, the Auto-Responder handles outbound replies.
- 5 n8n Workflows that Save 10+ Hours/Week ($29) — the bundle of 5 production-tested templates (lead reply, competitor scan, RSS pipeline, invoice follow-up, review drip).
⭐ First stargazer: thanks @kuerdy for the cold-start vote of confidence on 2026-05-18. First organic GitHub signal across the whole launch. If you have a Gmail-as-CRM question or just want to compare cold-start notes, the AMA discussion has your name on it.
📖 Design notes + build log on dev.to — ZERO-TEN cold-start build log (23 posts):
- Apify Actor for Gmail inbox analytics: refresh-token-only OAuth, async router, per-feature quota
- Gmail OAuth client_id is not a secret — design notes for self-host Actors
- Why refresh-token-only OAuth for a multi-tenant Apify Actor
- Per-feature quota in Apify KeyValueStore — no DB, no cron, no drift
- Open-sourcing an MIT Apify Actor in 24 hours — a build log
- Apify Actor pricing patterns: Free tier + Pro + Pay-per-result
- Spinning a $9 PDF off a $0 open-source actor in 4 hours — a build log
- 7 articles, 1 star, 0 sales, 4 days — what an MIT open-source Apify Actor cold start actually looks like
- Cold start day 6 — switching the $9 PDF to pay-what-you-want and opening 30% affiliate
- Day 7 — funnel audit found 7 of 9 articles had no buy link, then I pivoted the product
- Day 8 — I scraped 5 freelance Gumroad top sellers. All 5 wrote one thing I didn't. (outcome-first vs problem-first hook hypothesis)
- Day 9 — a 41k-follower Douyin AI-agent creator showed me what I'm missing
- Day 9 — PWYW vs $99 lifetime: a back-of-envelope answer to @tokidigital's pricing question
- Day 9 — How to set up refresh-token-only OAuth for a multi-tenant Apify Actor (Gmail, 10 minutes) (reader-centric tutorial; PR'd upstream to apify/apify-docs#2549)
- Day 10 — I almost sunset my $10 push. Then I checked the demand-source first.
- Day 11 — pushed 6 outbound surfaces in 30 minutes. Here's what bounced.
- Day 12 — 11 days, 1 user. I think the OAuth field killed the funnel. (post-mortem → build 0.1.36 demo prefill)
- Day 13 — I claimed '7/7 cover images backfilled.' I checked. Only 1/12 actually had one. (confession layer 2)
- Day 14 — 184 reader, 3:21 avg read, 0 new followers, 0 sales (7-day dev.to analytics, what compounds vs what doesn't)
- Day 15 — I posted comments on other people's articles instead of writing
- Day 16 — +51 reader spike in 85 min on dev.to. 0 sales.
- Day 17 — 17 天 / 247 views / 0 sales — 我把 $9 PDF 砍掉,25 分鐘 spike 出新方向 (pivot to pbot)
- Day 18 — SQLite FTS5 won't tokenize Chinese — here's the 7-line bigram fix (CJK search deep dive)
📊 13-day raw data dump — every shipped surface, every engagement number, every audit finding in one gist. No narrative, just the numbers.
💬 Discussions — design questions, roadmap, open trade-offs. 🙋 AMA thread is open — ask anything about Gmail-as-CRM, stalled-thread scoring, refresh-token OAuth, KVS quota patterns. Answers go back into the docs. 🗺️ Roadmap — what's planned, what's speculative, what's explicitly out of scope. 📝 Changelog — what changed in each release. 💝 Gumroad listing — pay-what-you-want download + email updates when new releases ship.
Want to self-host this Actor? Bundle the full source +
docker-compose.yml+ OAuth setup script + docs into one PWYW download: Gmail Inbox Intel — Self-Host Bundle — Apify Actor source (Python 3.11, MIT), Docker Compose stack, 5-minute OAuth setup, local KVS storage, no Apify cloud lock-in. Same listing also bundles the original Freelancer Gmail Tracking Pack (30 labels + 12 filters + 5 email templates + Apps Script + 26-page PREMIUM bundle PDF) as a bonus. Pay what you want from $5, suggested $19. 30% affiliate at foxck.gumroad.com/affiliates.
thread_search— search Gmail threads by query, paginate, return metadata + message countsreply_metrics— for each thread, compute reply-from-me / reply-from-others / last reply age / SLA breach flagsummarizer— optional OpenAI LLM thread summary (you supply your own API key)unread_digest— list unread threads in last N hours, grouped by labelreengage_angle— for each cold/over-SLA thread, fetch recent Google News headlines about the counterparty company so you re-enter with new context, not a "just circling back" reminder. Optionalopenai_api_keyadds an LLM layer that drafts 3 short re-engage email options grounded in those news items. Grounded in two buyer-voice anchors: r/sales 1tdngew (49 comments, 12 mentions of "new context / what changed" as the actual re-engage demand) and r/smallbusiness 1td0827 (60 comments, top reply at 61 score: "holding 50 open loops in your head ... move the memory of the business out of your head" — the small-biz-owner variant of the same demand). No API key required for the headlines layer. Worked example walkthrough →
- Freelancer Friday triage:
reply_metricsagainstfrom:client-domains newer_than:21d, sort bylast_reply_age_days desc, send Day-3/7/14 bumps to anything past the threshold. Replaces a CRM if you have < 50 active threads. - Sales / BD pipeline rot:
reply_metricsagainstlabel:outboundweekly, alert whenreply_from_otheris empty 14d+. Cheaper than HubSpot for a small list. - PM / Ops morning digest:
unread_digestagainst the last 12h grouped bylabel. Cron from Apify schedule → email yourself the dataset URL. - Personal weekly review:
thread_searchforis:starred OR label:important newer_than:7d→ triage backlog without forwarding emails to a third party.
- You provide your own OAuth credentials in Actor input (
refresh_token+client_id+client_secret) - Refresh-token-only flow — Actor exchanges for short-lived access token in memory each run
- Job-end state is cleared (best effort)
- We never store your Gmail. Every run uses your own OAuth, no server-side mailbox cache.
Free. MIT licensed. Run it on Apify (their compute-unit pricing applies — usually pennies per run) or fork and run on your own box.
The repo includes a free_tier_user_id quota hook for future-self if you want to wrap it as a paid SaaS, but no billing layer ships with this Actor. If you'd rather pay for a setup instead of self-hosting OAuth, the $19 Self-Host Bundle (includes a 26-page bundle PDF) skips OAuth entirely.
| Field | Type | Required | Notes |
|---|---|---|---|
feature |
enum | yes | thread_search / reply_metrics / summarizer / unread_digest / reengage_angle |
oauth_token |
object | yes | {refresh_token, client_id, client_secret} |
query |
string | no | Gmail search query (default in:inbox) |
max_results |
integer | no | default 50, max 500 |
sla_days |
integer | no | default 14, for reply_metrics + reengage_angle |
from_domains |
string[] | no | sender-domain whitelist for reply_metrics |
include_reengage_angles |
boolean | no | default false; when true, reply_metrics returns news angles inline |
news_lookback_days |
integer | no | default 90, range 7-365 |
max_news_per_thread |
integer | no | default 5, range 1-20 |
openai_api_key |
string | no | optional LLM key for summarizer and reengage_angle email-draft layer |
summary_model |
string | no | default gpt-4o-mini |
free_tier_user_id |
string | no | for free-tier quota tracking |
dry_run |
boolean | no | skip Gmail API calls (test mode) |
See .actor/INPUT_SCHEMA.json for full spec, and examples/ for 5 ready-to-paste input JSON files per feature.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pytest # 6 tests, asyncio_mode=auto
apify run # local actor run with .actor/INPUT_SCHEMA.jsonBrowsing the Apify ecosystem? See awesome-apify-actors — a curated list of 68+ production Apify Actors across 16 categories (Scrapers, Search, Maps, Social media, Lead gen, Email). This Actor is listed under Email & Productivity.
Looking for ready-to-import Gmail / AI / n8n templates? Some Gumroad workflows that pair well with this Actor:
- AI Lead Auto-Responder — Gmail → AI replies n8n workflow: https://foxck.gumroad.com/l/ai-lead-responder
- AI Content Pipeline — RSS → Social Media n8n template: https://foxck.gumroad.com/l/ai-content-pipeline
- Competitor Monitor — Daily AI analysis + weekly reports n8n: https://foxck.gumroad.com/l/competitor-monitor
- Claude Code Mastery — practical playbook for Claude Code workflows: https://foxck.gumroad.com/l/claude-code-mastery
Full catalog: https://foxck.gumroad.com
The Apify Actor today targets builders comfortable with OAuth client_secrets and INPUT.json. v0.2 is a hosted web app aimed at sales-side freelancers and consultants who want the same stalled-thread output without running Actors themselves:
- One-click Google sign-in via NextAuth v5 +
gmail.readonlyscope only — code wired - Inbox table sorted by days silent, CSV download — shipped in preview
refresh_tokenlives only on the server-side JWT, never on disk or in a database- Same read-only positioning, no outbound automation
Preview repo: foxck016077/gmail-inbox-web — Next.js 16 + React 19 + Tailwind v4 + TypeScript. NextAuth + Gmail API integration is in commit 256d2c8. The only thing standing between the current repo and live sign-in is the one-time Google Cloud Console OAuth client registration plus 3 env vars on Vercel.
Existing competitor landscape (verified 2026-05-20): Mailbutler ($4–$11/mo, tracking + signatures), Boomerang (snooze + scheduled send), Streak / Mixmax / Instantly ($15–$59/mo, Gmail CRM + mass outbound). No current player covers stalled-thread visualization as a read-only inbox health view. That gap is what v0.2 targets.
Have an opinion on what v0.2 should look like before it ships? Open Discussion #16.
After 17 days of building this in public (22 dev.to articles / 247 readers / 0 sales), I learned: PDFs don't form daily-use dependencies. Workflow products do.
Currently building pbot — a one-click personal knowledge bot you install on your own computer, talk to from LINE / Telegram / Zalo on your phone. Your local files + cloud notes → searchable knowledge base, all running on your machine.
- 25-min spike already passes 3 end-to-end queries (Anthropic real call, 0 hallucination on out-of-scope, source citations 100% accurate)
- vs Khoj 30,869 stars: binary one-click (no Python env), LINE + Zalo support (Vietnam/Taiwan edge), Chinese-native onboarding
- Free waitlist ($0 PWYW) → first-100 -30% early-bird ($29 → $20)
- Build log continues — honest numbers every week
MIT — see LICENSE.

