We built and ran a fully autonomous B2B outreach pipeline—from prospect identification to personalized email delivery to reply classification—with zero manual steps in the daily execution loop. Here’s exactly how it works and what we learned.

The Stack

The pipeline has four stages, each handled by a dedicated script:

  • CRM (crm.db) — a SQLite database with 10,000+ prospect records. Full-text search via FTS5, enriched with company data, contact info, and interaction history.
  • outreach_send.py — daily sender with warmup-aware rate limiting. Starts at 5 emails/day, scales to 50 over 8 weeks per a published warmup schedule. Sends via authenticated SMTP with DKIM signing to maximize deliverability.
  • check_replies.py — a daemon that scans the business inbox every 30 minutes and classifies replies as warm, negative, unsubscribe, or bounce using an AI classifier.
  • Bottleneck Resolution Protocol — when a warm reply comes in, it escalates immediately via SMS and email alert, then pauses outreach to that contact.

Email Deliverability Was the Hard Part

Most automated outreach fails not because the messages are bad but because they never reach the inbox. We spent significant time getting the technical foundation right:

  • SPF, DKIM, and DMARC all configured correctly. DMARC started at p=none (monitoring only) and tightened to p=quarantine after 2 weeks of clean delivery data.
  • Warmup schedule enforced in code, not just policy. The script calculates the current day since domain launch and caps volume automatically—you can’t accidentally send 50 emails on day 3.
  • Dedicated SMTP instead of a shared ESP. We route through the business mail server directly so the sending IP is tied to our domain reputation, not a shared pool.

Reply Classification

The reply classifier is where the AI does its most important work. An incoming email might be a genuine interest signal, a polite decline, an automated out-of-office, or an unsubscribe request—and each of these requires a different response. The classifier reads the full email thread, categorizes it, and updates the CRM stage accordingly:

  • Positive/neutral → stage set to warm, immediate SMS + email alert to the human
  • Unsubscribe → stage set to do_not_contact, all future sends suppressed
  • Bounce → stage set to bounced, contact deprioritized

What We’d Do Differently

The pipeline works well mechanically. The harder problem is prospect quality. Automated sending at volume is only valuable if you’re sending to the right people—which still requires human judgment about who belongs in the CRM and at what priority. The automation handles volume and consistency; the human handles targeting strategy. That division of labor is the right one.

Ready to put this to work in your business?

Applied Intelligence helps San Diego and Southern California businesses automate workflows, reduce manual work, and grow without adding headcount. The first conversation is free and takes 20 minutes.

Book a Free Discovery Call →