Cold Email Outbound Sequence
Campaign report in CRM: sent count, open rate, reply rate, meetings booked, revenue attributed. Per-contact status updated. Next batch recommendation.
Before you start
- Access to CRM with target account list
- Approved messaging templates and value props
- Sender email domain warmed for 2+ weeks
- Target account list (company name, domain, ICP criteria)
- Sender persona (name, title, signature)
- Campaign goal (demo booked, reply, resource download)
The steps
- Pull and validate target list — Export accounts matching ICP criteria from CRM. Verify each has at least one contact with a valid work email. Remove duplicates, existing open deals, and anyone who replied or unsubscribed in the last 90 days. Target: 50-100 net-new contacts per batch.
- Enrich each contact with personalization signals — For each contact, pull: recent LinkedIn posts, company news (funding, hiring, product launches), tech stack signals, and mutual connections. Store 2-3 personalization hooks per contact in the CRM enrichment field. Skip contacts with zero usable signals — move to next batch.
- Draft personalized first-touch email — Write email using formula: personalization hook (1 sentence) + pain observation (1 sentence) + value prop tied to their context (1 sentence) + soft CTA (question, not ask). Subject line: 6 words max, lowercase, references their signal. No attachments. Under 90 words total.
- Build 4-step follow-up sequence — Step 2 (Day +3): New angle, reference a case study relevant to their industry. Step 3 (Day +7): Social proof — metric from similar company. Step 4 (Day +12): Breakup email — short, direct, offers value even if not interested. Each follow-up under 60 words. Vary send times between 7am-10am recipient timezone.
- Load sequence and activate — Upload contacts + personalized drafts into sequencer. Set daily send limits (30/day for new domains, 80/day for warmed). Enable reply detection to auto-pause sequence. Tag campaign in CRM for attribution. Activate and confirm first batch sends without bounces.
- Monitor and triage replies — Check replies every 2 hours during business hours. Categorize: positive (interested/meeting request), neutral (question/objection), negative (not interested/unsubscribe). Positive: book meeting immediately. Neutral: respond within 1 hour with objection handling. Negative: remove from sequence, log reason, mark in CRM.
- Report results and iterate — After 5 business days, report: emails sent, open rate, reply rate, positive reply rate, meetings booked. Flag subject lines with <20% open rate for rewrite. Flag sequences with <3% reply rate for angle change. Update enrichment hooks that correlated with replies.
If it goes wrong
Emails landing in spam
Reduce daily volume by 50%, check domain reputation on postmaster tools, remove links from first email, warm sender for another week
High open rate but zero replies
Subject line works but body doesn't. Rewrite value prop — likely too generic. Add a more specific pain hook or a concrete number.
Enrichment returns no usable signals
Switch to intent-based targeting (job posts, tech installs, funding events) instead of static ICP lists. Use Clay or Trigify for signal-based prospecting.
All OpenLabor playbooks