During the summer in Miami, 2025 with slim pockets and fat dreams I had just finished building The Unheard Advantage Vol 1. a digital bundle made for creatives to be informed and come into their truest selves. — 4 part video series(18 minutes of video content), "You're Not Who You Think You Are... Yet" a 16-page e-book, and a guide for recording artists to work seamlessly with their engineers. Besides talking to people online or in person, I wanted a way to expand my message without me directly having to make every point of contact. I didn't really have a set plan on what I was doing with email outreach honestly. I was just aware of its proven success but also the fees/agreements you have to involve yourself with to utilize those 3rd party sources. Soooo 30 hours later the Cold Outreach Engine was born. No monthly subscription needed and only 2 tools were used within Google's ecosystem.
This is a lightweight, Google Apps Script–based outreach automation system designed to manage multi-step cold email sequences directly from Google Sheets with safety, transparency, and control.
C.O.E. prioritizes correctness, deliverability, and operator awareness over brute-force sending. It is intentionally opinionated toward small teams, solo operators, and early-stage workflows that need reliability more than scale-at-all-costs.
Most cold outreach tools like to be obscure the details of what's actually happening under the hood, making it hard to reason about if they're truly the right choice for you.
C.O.E. takes the opposite approach:
- Your data lives in Google Sheets
- Your logic lives in Apps Script
- Your sends happen through your own Gmail account
Nothing hidden. Nothing proprietary. Full visibility.
- Multi-step drip sequences (configurable)
- Daily send caps with safety warnings
- Row-level eligibility checks before sending
- Automatic sequence progression and completion
- Reply-aware stopping logic
- Gmail label application for sent outreach
- Human-readable logs for auditing and debugging
The project is intentionally modular and split across four files:
code.gs → Main orchestration & send loop
labeler.gs → Gmail label creation and application
constants.gs → All user-editable configuration
utilities.gs → Shared helper and logging functions
- Configuration over code edits: users only touch
constants.gs - Fail safe, not fast: clear exit conditions, explicit caps, logged warnings
- Spreadsheet-first state: the sheet is the single source of truth
-
Reads all rows from a configured Google Sheet
-
Normalizes and validates required headers
-
Initializes missing statuses as
NEW -
Iterates row-by-row, applying strict eligibility checks
-
Sends the correct email template for the current sequence step
-
Updates status, timestamps, and next-contact dates
-
Applies a Gmail label to the sent thread
-
Stops automatically when:
- Daily cap is reached
- Lead replies
- Sequence is complete
- An error occurs
C.O.E. is flexible with naming, but requires equivalents of:
contact_emailstatusready_to_send(expectsY)sequence_step
Optional (but supported):
first_namelast_contact_datenext_contact_datereply_statuserror_message
Header matching is case-insensitive and supports common aliases.
All user-facing configuration lives in one file:
const DAILY_CAP = 2;
const MAX_SEQUENCE_STEPS = 3;
const DRIP_INTERVAL_DAYS = 1;Email copy is defined as an array of templates:
const EMAIL_TEMPLATES = [
{ subject: "Hey {{firstName}}", body: "..." },
{ subject: "Following up {{firstName}}", body: "..." }
];This structure allows non-technical users to modify behavior safely.
- Hard daily caps prevent accidental over-sending
- Warning logs appear if caps exceed conservative thresholds
- Sequence stops immediately on reply
- Gmail-native sending avoids third-party relay risk
This system is intentionally conservative by default.
- Solo founders doing early outbound
- Small agencies managing controlled outreach
- Operators who want transparency over automation
- Teams testing messaging before moving to heavier tooling
- A mass-blast email tool
- A replacement for ESPs at large scale
- A UI-driven SaaS product
C.O.E. is a systems-first utility, not a growth hack.
MIT — use, modify, and adapt freely.
This project emphasizes:
- Clear state management
- Defensive programming
- Operator trust and visibility
- Practical automation over abstraction
Happy to walk through design decisions, tradeoffs, and future extensions live :)
Built by Evan-Jordan
github.com/iamevanjordan