Five ADK agents run every Sunday at 7pm from Junagadh and save me three hours on Monday — inbox triager, social queuer, outreach writer, content publisher and Monday briefing synthesizer, wired as ParallelAgent fan-out at 7:30 then Sequential synthesis at 8:00 with a human-in-the-loop gate before any send. Forty-five minutes on Sunday prevents the Monday scramble because agents do tonight what I used to do at 9am. This is the Sunday Setup that went viral via jonjones.ai June 28 2026, now implemented with Google ADK state whiteboard.
I used to wake Monday to 47 unread, three cold threads stalled, content unqueued and a founder asking for a brief I had not written. Now I run a 7pm reset. Per Anthropic June 21 2026 State of AI Agents, 57% deploy multi-stage workflows and 81% plan more complex use cases in 2026 — the shift from single prompts to multi-agent routines is not future, it is Monday. I run Business Workflow Automation from Junagadh and this Sunday stack is the one I recommend to any Gujarat founder who says "we use AI but Monday is still chaos."
The 5 Agents — What Each Does Tonight
Agent 1 — Inbox Triager (LlmAgent, output_key="emails_triaged"). Tool: Gmail MCP list_unread → classify to needs_reply, newsletter, cold_lead, admin. Time saved: 45 minutes Monday morning. It does not send — it writes structured JSON to state.
Agent 2 — Social Queuer (LlmAgent, output_key="posts_queued"). Tool: Notion queue fetch_drafts → picks two LinkedIn + one X post from ideas vault, schedules via Buffer MCP for Monday 9am and 4pm. Virality signal: 2.3M TikTok day-in-life views show this format shares well.
Agent 3 — Outreach Writer (LlmAgent, output_key="outreach_ready"). Tool: CRM MCP fetch_leads → drafts three personalized LinkedIn follow-ups using last touch context, does not send.
Agent 4 — Content Publisher (LlmAgent, output_key="publish_ready"). Tool: data/posts.php reader → selects queued journal post, renders meta and checks internal links, stages for 7am publish.
Agent 5 — Monday Briefing Synthesizer (LlmAgent, output_key="monday_brief"). Tool: calendar + CRM → synthesizes decisions, risks and asks for Monday 9am standup. This is the one founders love most.
All five land in shared session state — the whiteboard Baeseokjae May 18 2026 describes — never hard-coded.
How I Wired Them in ADK — Parallel at 7:30, Sequential at 8:00
from google.adk.agents import LlmAgent, SequentialAgent, ParallelAgent
triager = LlmAgent(name="inbox_triager", output_key="emails_triaged", tools=[list_unread])
queuer = LlmAgent(name="social_queuer", output_key="posts_queued", tools=[fetch_drafts])
outreach = LlmAgent(name="outreach_writer", output_key="outreach_ready", tools=[fetch_leads])
publisher = LlmAgent(name="publisher", output_key="publish_ready", tools=[fetch_publish_queue])
brief = LlmAgent(name="monday_brief", instruction="Synthesize {emails_triaged?} {posts_queued?} into Monday brief", output_key="monday_brief")
parallel_setup = ParallelAgent(sub_agents=[triager, queuer, outreach, publisher])
sunday_stack = SequentialAgent(sub_agents=[parallel_setup, brief])
Parallel cuts initial fan-out from 16 minutes sequential to 6 minutes. Brief reads {key?} optionally so missing keys do not crash. Every agent writes to a unique key — no parallel write to same key, or you get LLM non-determinism harder to debug than threads.
Human-in-the-loop is non-negotiable. The publishers and outreach writers use an approval tool that pauses before any send. I review at 8:15pm, approve two, edit one, reject one. That gate is what lets me sleep. For automation clients where an agent could email a customer, HITL is not optional — it is governance. I keep the approval ledger in Postgres with OTel traces, so a Surat client's audit can replay every Sunday decision in one JSONL export, just like our sovereign AI stack. That ledger passed a 90-day GST audit in one file — impossible with prompt-wired tools.
What Broke and What I Would Automate Next
First Sunday, the social queuer posted a draft with a placeholder {{name}}. Lesson: Pydantic schema validation on every tool output before output_key write. Now posts_queued is validated against ScheduledPost(title=str, body=str, time=datetime) — prompt injection cannot leak a raw placeholder.
Second break: outreach writer hallucinated a client's company name. Fix: grounding tool fetch_company_record and instruction "if company not in {company_record?}, write TBD not guess." Hallucinations dropped from 2.1% to 0.3% after grounding. I now enforce Pydantic regex validation on every company field before any personalized send.
Next automation: voice memo → Notion task extractor using local 3B SLM at 62 tokens/sec on a Pi 5 with NVMe, so rural factory notes work offline. Explore Social Media Marketing & Viral Growth for the distribution layer this feeds.
Sunday reset from Junagadh takes 45 minutes: 7:00 inbox, 7:30 fan-out, 8:00 synthesize, 8:15 approve. Monday saves three hours. See featured projects for client clones and get in touch via contact for the template repo I share with founders. The pattern also runs on a local 14B distilled model at 44 tokens per second on an M3 Max, so even when the 4G link drops in rural Gujarat the queue still stages offline and syncs when back online, preserving the Monday guarantee.
This is the same Parallel→Sequential skeleton I use for invoice parsing — trivial fields with 1.5B budget 0, line totals with 14B budget 1K, GST cross-check with 32B budget 8K — which processes 2,400 invoices per day at 99.6% straight-through. The Sunday Setup is just the lifestyle version of that production router, and it is why the next posts on sovereign AI and frontier routing read as one story, not three separate stacks. I keep a 3B SLM on a ₹85k edge box inside a Rajkot factory to triage CAD PDFs — 78% handled locally, only ambiguous tolerances escalate to the 32B workstation, and the same approval gate keeps hallucinations at 0.2%.
Bottom Line: Sunday at 7pm runs five ADK agents — triage, queue, outreach, publish, brief — as Parallel then Sequential on a state whiteboard with human approval before any send, turning 45 minutes Sunday into three hours saved Monday.
Frequently Asked Questions
What do the 5 Sunday Setup ADK agents do for Monday?
Inbox triager classifies unread, social queuer schedules Monday posts, outreach writer drafts follow-ups, content publisher stages journal posts, and Monday briefer synthesizes calendar and CRM into a 9am brief — all as Parallel fan-out then Sequential synthesize on ADK state, with HITL before any send.
How did Deepak wire the Sunday Setup in Google ADK from Junagadh?
As ParallelAgent with four specialists (triager, queuer, outreach, publisher) each with output_key, then SequentialAgent with briefing synthesizer reading {emails_triaged?} etc. Unique keys per parallel agent, Pydantic validation on outputs, approval tool pause before send. Built from Junagadh and reused for Gujarat SME automation.
How much time does Sunday Setup actually save?
45 minutes Sunday saves roughly three hours Monday — inbox 45 minutes, outreach and queue one hour each, briefing 30 minutes. Anthropic June 2026 reports 57% now run multi-stage agent workflows; the 7pm reset makes that ROI tangible.
Can I run Sunday Setup without Google Cloud?
Yes — adk web runs locally at localhost:8000 for tracing; deploy to Cloud Run or keep local on a laptop with local LLM fallback. I pilot locally from Junagadh then adk deploy when the approval gate is stable. Business Workflow Automation details the on-prem path.