Case Study 03
Marketing Automation Agent
A multi-channel system that turns scattered customer signal into routed action for a solo marketer.
- Service Design
- Internal Tools
- AI Systems
- Role
- Solo marketer
- System designer
- Team
- Solo build
- feeds CEO, engineering, sales, marketing
- Stack
- Python
- Anthropic API
- Google APIs
- Slack
- JPD
- Status
- Live, operating daily on cron
- Span
- ~6 months, iterative build
01
The Trigger
Customer signal arrived across four channels with no shared intake. Manual triage was eating the week.
No shared
intake
One marketer,
manual triage
02
Research
Before committing to a build, I evaluated agent platforms (OpenClaw, Zapier, Relevance AI) against the unit economics of a custom cron + Anthropic API stack.
build vs buy
03
What I Tried First
The first attempt was MCP connectors and single-purpose Zapier flows. The thesis was simple: route raw messages into a CRM and trust manual review for the rest.
CRM,
raw messages
Manual
review
1. New Email Matching Search
Gmail · Trigger
2. Only Continue If Keyword Match
Filter · Condition
3. Create Database Item
Notion · Action
Inbound messages
+ New
04
What Broke
MCP couldn't reach the shared Drive. Zapier couldn't classify semantically. The bigger break was conceptual: capture, briefing, and outreach are one knowledge substrate, not three.
05
What I Changed
I rebuilt the system around one knowledge substrate. Three layers handle the flow: Ingest, Knowledge, Interface. Claude Code in the same repo reads what the cron jobs write.


Claude Code v2.1.132
claude-fable-5 · Claude Max
~/cloudrift-automation
Design surfaces

Quiet design choices
- Service account with domain-wide delegation, not OAuth
- Sonnet for classification, Opus for quality drafts
- Memory persists user preferences across sessions
- Briefs auto-trigger 45 minutes before recognized meetings
06
Result
Defensible numbers
- 10 cron jobs across 4 inbound channels, plus JPD sync and brief generation
- Auto-briefs for 4 recognized meeting types
- Feature requests deduplicated semantically before JPD intake

Qualitative Impact
- Solo marketer operating at the throughput of a small team
- Covers capture, knowledge, and outreach end to end
What I didn't measure (and won't fake)
- Time saved per week, variable depending on inbound volume
- Conversion impact, not isolated from other changes

▾ ICP Profiles
▸ Feature Requests
▸ Marketing Wiki
▸ Tech
▸ UX Materials
▸ zz_Automation
(inference startup)
• Type: customer
• First seen: Jan 2026, Discord
• Last updated: Jun 2026
Profile
Runs vision-LLM batch jobs on RTX 4090s, deploys with vLLM through the OpenAI-compatible API.
Signals
• Jan 2026 · Discord: asked about batch pricing, compared us with
• Feb 2026 · Gmail: asked to split invoices across two teams
• Apr 2026 · Discord: rental-flow friction, filed to UX Materials
• Jun 2026 · Slack: evaluating H100 for a fine-tune run
07
What I Learned
Most of the value of this build came from collapsing three problems into one knowledge substrate. The reframes below are the ones I carry into the next agent system.
Carried over to the next system
- Capture, briefing, and outreach share one knowledge substrate. Treating them as three separate systems forces duplicated state and opens the gaps where signal gets lost.
- Capability tiering is a cost lever. Sonnet for classification, Opus for drafting, and the monthly bill stays predictable per channel.
- Flat-file markdown in a shared Drive outlasts any agent platform's storage layer. The substrate survives provider churn, pricing shifts, and feature deprecation.
What I'd do differently
- Build the ObsidianVault structure first, then the cron jobs that populate it. I built bottom-up and had to refactor the substrate once it stabilized.
- Skip the MCP detour. The service-account-direct path works from day one and avoids the auth-gap surprise that broke the first attempt.
- Move more of the cron-driven background work into prompted Claude Code agent loops. The agentic tool use Claude Code now ships with would thin out a chunk of the bespoke Python.
Case Study 03 Clear
Thanks for reading. If you want to talk about this work, reach out any time.