AI Infrastructure$134/mo total costOpenClaw + Claude

How We Deployed an AI Sales Engine on EC2 for $134/month

We built a fully automated outbound sales system using three AI agents working together — Claude Opus for strategy, OpenClaw + Haiku for browser automation, and plain Python for data processing. The result: 1,000+ leads scored daily, 10 automated tasks running on schedule, and API costs under $5/month.

$134
Total monthly cost
1,000+
Leads scored daily
10
Automated cron tasks
97%
API cost reduction

The Three-Agent Architecture

Each agent handles what it’s best at. No single model does everything.

┌─────────────────────────────────────────────────────┐
│  YOU + Claude Opus (Local)                          │
│  Write task .md files, build Python scripts,        │
│  plan strategy, generate proposals                  │
└──────────────────┬──────────────────────────────────┘
                   │ git push
                   ▼
┌─────────────────────────────────────────────────────┐
│  AWS EC2 ($30/mo) ─ OpenClaw + Haiku 4.5            │
│                                                     │
│  ┌─────────────┐    ┌──────────────────────┐        │
│  │ openclaw     │    │ Python scripts       │        │
│  │ cron         │    │ (parallel)           │        │
│  │              │    │                      │        │
│  │ 7 AM LinkedIn│    │ 6 AM  Google Maps    │        │
│  │ 8 AM Emails  │    │ 6:30  Presence Score │        │
│  │ 9 AM Outreach│    │                      │        │
│  │ 3 PM Content │    │ Cost: $10-15/mo API  │        │
│  │              │    │ No LLM credits       │        │
│  │ Cost: ~$3/mo │    │                      │        │
│  │ Haiku API    │    │                      │        │
│  └──────┬───────┘    └──────────┬───────────┘        │
│         │                       │                    │
│         └───────┬───────────────┘                    │
│                 ▼                                    │
│  ┌──────────────────────────────────┐               │
│  │ Google Sheets ← Results + Leads  │               │
│  │ Telegram Bot  ← Notifications    │               │
│  │ Dashboard     ← Monitoring       │               │
│  └──────────────────────────────────┘               │
└─────────────────────────────────────────────────────┘

How It Works in Practice

Task files are the API. Haiku reads markdown, Python crunches data.

Task .md File

What Haiku reads and executes

# OpenClaw Task: LinkedIn Lead Finder

## Schedule
Daily at 7:00 AM EST (Monday-Friday)

## Step-by-Step Instructions

### Phase 1: Open LinkedIn
1. Open new tab → https://www.linkedin.com
2. Wait for search bar visible
3. Click search bar

### Phase 2: Search for Companies
5. Type "call center representative hiring"
6. Click "Companies" filter tab
7. Extract company data (top to bottom)

### Phase 3: Extract Contacts
9. For each company:
   a. Click company → company page
   b. Extract: Name, Industry, Website, Size
   c. Click "People" tab
   d. Search for VP Sales, Director, CEO
   e. Extract contact name + title
   f. Back → return to search results

### Phase 4: Write to Google Sheet
12. Open Lead Tracker sheet
13. Append new leads (deduplicate first)
14. Log results to Task Log tab

## Safety Limits
- Max searches: 3 per run
- Max profiles: 40 per run
- Rate: 5 sec between navigations
- Time limit: 45 min max

The Cost Math

The key insight: only burn LLM credits for things that actually need an LLM.

TaskIf LLM did everythingOur approach
Analyze 1,000 business reviews$2,000-5,000/mo$0/mo
Fetch leads from Google Maps$500+/mo (browser scraping)$10-15/mo (API)
Score online presence (1,000 sites)$1,500/mo$0/mo
Send 30 personalized emails/dayN/A (needs browser)N/A (needs browser)
LinkedIn lead extractionN/A (needs browser)N/A (needs browser)
$30
EC2
$49
Hunter.io
$30
Instantly.ai
$15
Google Maps API
$5-10
Claude API

A Typical Day

10 tasks fire automatically. Python and Haiku run in parallel.

7:00 AMLinkedIn Lead FinderHaiku
8:00 AMEmail Lookup & VerifyHaiku
9:00 AMCold Email OutreachHaiku
10:30 AMDay 3 Follow-upsHaiku
2:00 PMDay 7 Breakup EmailsHaiku
3:00 PMContent Posting (Reddit/FB)Haiku
11:00 AMUpwork Job MonitorHaiku
4:00 PMSMS Follow-upsHaiku
6:00 AMGoogle Maps Lead GenPython
6:30 AMOnline Presence ScorerPython

The Full Story

Most people using AI for sales automation make the same mistake: they route everything through the LLM. Every lead lookup, every review analysis, every score calculation — all of it goes through Claude or GPT, burning API credits on work that a Python script could do for free. We decided to do it differently.

The problem we needed to solve was straightforward. We had a cold caller named Smith who needed a daily sheet of home services businesses in the NYC and NJ metro area — HVAC contractors, plumbers, roofers, electricians, solar installers. Not just any businesses, but ones that were likely struggling with their phone operations. Businesses where customers complained about missed calls, unreturned voicemails, and slow response times. Those businesses are the perfect fit for voice AI.

The question wasn’t whether AI could find leads. It was whether we could afford to let AI do the finding.

We ran the numbers. Asking Haiku to analyze 1,000 Google reviews for pain keywords would cost $2,000–$5,000 per month in API calls. Asking it to check 1,000 websites for chat widgets and booking platforms? Another $1,500. These are tasks that don’t need language understanding — they need string matching. A if "no answer" in review_text check costs zero.

So we split the work into three tiers. Claude Opus — the most capable model — handles strategy and writing. It plans the outreach, writes the task instructions, generates personalized Upwork proposals, and decides what to optimize. Opus is expensive per token, but we only use it when we need genuine reasoning.

OpenClaw running Haiku 4.5 on EC2 handles everything that needs a browser. LinkedIn searches, email sending, Facebook posting, Upwork monitoring. Haiku reads our .md task files as step-by-step instructions — open this URL, click this button, extract this data, write to this sheet. It’s fast, cheap ($0.10–$0.15/day), and reliable. OpenClaw manages the headless Chrome instance, the cron scheduling, and the error handling.

The .md files are the API. No function calling overhead, no schema definitions. Just natural language instructions that Haiku follows step by step.

Plain Python scripts handle everything else. The Google Maps lead generator pulls 1,000+ businesses from the Places API, analyzes their reviews for phone pain keywords, scores them, and writes results to a Google Sheet. The online presence checker visits each lead’s website and checks for HTTPS, mobile responsiveness, chat widgets, booking platforms, and existing business software. All deterministic. All free after the API call.

The deployment model is dead simple. Claude Opus writes the task .md files and Python scripts locally. We push to GitHub. The EC2 instance pulls the repo. OpenClaw reads the task files directly from disk — no build step, no transpilation, no Docker rebuild. Update a task instruction, push, pull, and it’s live in production. The entire deploy cycle takes under a minute.

The memory system is what ties it together. Claude Opus keeps a CLAUDE.md file with stable facts — sales verticals, client rules, infrastructure state. OpenClaw’s task files ARE its memory — detailed instructions with context baked in, safety limits, error handling, and completion criteria. Daily logs track what happened, what broke, and what got fixed. Every session starts by reading the logs so nothing falls through the cracks.

The total monthly cost is $134. That covers the EC2 instance ($30), Hunter.io for email lookups ($49), Instantly.ai for email warm-up ($30), Google Maps API ($15), and Claude API credits ($5–$10). For that, we get 1,000+ scored leads per day, automated LinkedIn prospecting, cold email sequences, content posting across social platforms, and real-time Upwork monitoring. A human team doing the same work would cost $8,000–$12,000 per month.

$134/month for what would take a team of three. Not because AI replaced them — because we only used AI where it mattered and Python everywhere else.

The first deal closed through this pipeline was a $350 website for Rise Our Youth, a nonprofit. Craigslist lead, cold email, meeting booked, proposal sent, delivered, paid. Small revenue, but the pipeline was proven end-to-end. Now Smith has 989 scored leads in his sheet — 78 marked HOT (total score 8+), 223 WARM — with talking points baked in. “I noticed your customers mention having trouble reaching you” hits different when you actually read their reviews.

If we’d built this the conventional way — LLM for everything, no Python scripts, no cost separation — we’d be spending $4,000–$8,000 per month in API credits alone. The three-tier architecture isn’t clever engineering. It’s common sense: use the right tool for each job, and don’t pay for intelligence you don’t need.

Key Takeaways

Split by capability, not by convenience

LLMs for reasoning and browser actions. Python for data processing. Don't pay $0.008/call to do string matching.

Markdown is the interface

Task .md files are readable by humans AND by Haiku. No API schemas, no function definitions. Update instructions in natural language, deploy in seconds.

Parallel execution cuts wall time

Python scripts and Haiku browser tasks run simultaneously on the same EC2 instance. Leads are scored before Haiku even starts its LinkedIn search.

Memory makes agents reliable

Three-layer memory: stable facts (CLAUDE.md), daily logs (what happened), task instructions (how to do it). Every session starts with context.

Deploy without building

Git push → EC2 pull → Haiku reads .md files from disk. No transpilation, no Docker rebuild. A task update goes live in under a minute.