Gmail Inbox Intelligence
Pricing
Pay per usage
Gmail Inbox Intelligence
Friday triage list of client emails gone cold — over-SLA Gmail threads bucketed HOT / WARM / COLD by days silent vs SLA. Try the demo (no OAuth, tick "Try demo" → synthetic sample). Then paste 3 OAuth fields for real Gmail. MIT, gmail.readonly. $19 self-host / $99 done-for-you on Gumroad.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Foxck Wang
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Share
Gmail Inbox Intelligence
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.
Build-in-public status (2026-05-23, Day 17)
days shipped: 17dev.to articles: 22dev.to readers/wk: 247dev.to followers: 0Gumroad sales: 0Apify 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.
Who this is for
- 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.
Sample output (reply_metrics)
{"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.
30-second start
- 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.
Also from this shop
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.md — what's planned, what's speculative, what's explicitly out of scope. 📝 CHANGELOG.md — 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.
Features
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. docs/EXAMPLE_REENGAGE_WALKTHROUGH.md
Use Cases
- 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.
Privacy & OAuth
- 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.
Pricing
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.
Input Schema (13 fields)
| 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.
Local Dev
python -m venv .venvsource .venv/bin/activatepip install -r requirements.txtpytest # 6 tests, asyncio_mode=autoapify run # local actor run with .actor/INPUT_SCHEMA.json
Related Projects
Browsing 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
Roadmap
v0.2 — Web wrapper for non-developers (OAuth wired, awaiting Cloud Console setup)
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.
What I'm building next — pbot
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
License
MIT — see LICENSE.
