@@ -4,77 +4,47 @@ import HeroAtmosphere from '../../components/HeroAtmosphere.astro';
import Icon from '../../components/Icon.astro';
import CTA from '../../components/CTA.astro';
// All numbers reflect platform defaults from CLAUDE.md:
// warmup ramp 10 → 40 / day, cold cap 100 / day, 600s gap, +1 / day ramp.
// Six-week raise timeline: warmup ramp through week -1, then a short send window.
// Astro JSX caveat: pre-compute < / <= comparisons in frontmatter, not in templates.
const RAMP_START = 10;
const RAMP_PER_DAY = 1;
const RAMP_CEILING = 40;
const COLD_DAILY_CAP = 100;
const SEND_GAP_SECONDS = 600;
const timeline = [
{ week: 'Week -6', phase: 'warmup', volume: 10, label: 'Mailbox connected. Warmup begins.', detail: 'First warmup send. Reads as normal individual activity to any provider.' },
{ week: 'Week -5', phase: 'warmup', volume: 15, label: 'Ramp · +1 per business day', detail: 'No deck talk, no sending. Build behaviour history while the deck is still in revision.' },
{ week: 'Week -4', phase: 'warmup', volume: 22, label: 'Mid-ramp', detail: 'Verification tokens land at vetted partners. Positive placement signal accrues.' },
{ week: 'Week -3', phase: 'warmup', volume: 30, label: 'Ramp continues', detail: 'Recipient pool is rotated. Recent partners excluded for 7 days.' },
{ week: 'Week -2', phase: 'warmup', volume: 38, label: 'Approaching ceiling', detail: 'Health band confirmed Healthy. Mailbox eligible to send cold next week.' },
{ week: 'Week -1', phase: 'warmup', volume: 40, label: 'Ceiling. Holds at 40 / day.', detail: 'Warmup continues in parallel. Cold sending starts only once this floor is stable.' },
{ week: 'Week 0', phase: 'send', volume: 40, label: 'Day 0 · first touch', detail: 'Plain text, 3 to 4 sentences. Spread across recipient business hours.' },
{ week: 'Week +1', phase: 'send', volume: 40, label: 'Day 5 · second touch', detail: 'Single follow-up only on no-reply. Sequence pauses on any reply.' },
];
// Three real traps for VC outreach + the corresponding platform defence.
const traps = [
{
n: '01',
trap: 'Mailbox set up the same week as the raise',
detail: 'A fresh mailbox sending cold to a partner list looks like the worst-case sender. Providers default to suspicion. First catastrophic event can hit within days.',
detail: 'A mailbox you connected this week has no history, so the first thing it ever does is cold-email strangers. That is the textbook spammer pattern, and you can taint the domain for the whole raise in a couple of days.',
defence: 'Warmup',
fix: 'Connect and start warmup 4 to 6 weeks before the raise. Ramp from 10 to 40 per day so the mailbox has behaviour history before the first cold send.',
fix: 'Connect the mailbox four to six weeks out and let warmup run. It climbs from 10 to 40 sends a day, so by the time you write the first partner the mailbox already looks lived-in.',
link: '/warmup/',
linkLabel: 'See warmup ramp',
},
{
n: '02',
trap: 'CC the co-founders on every send',
detail: 'CC chains on cold sends normalise a behaviour Gmail treats as bulk. The partner sees an internal cast list before they see your one-line ask.',
detail: 'CC-ing your co-founders does two bad things at once: Gmail reads the chain as bulk mail, and the partner opens to a wall of names instead of a two-line ask from one person.',
defence: 'Sender pool',
fix: 'Each cold message goes from one sender to one recipient. If a co-founder needs to be in the loop, route through the inbox once a reply lands. Keep the cold surface clean.',
fix: 'Send one to one, one founder to one partner. If someone on your side needs to be in the loop, bring them in from the shared inbox once the partner replies, not on the cold send.',
link: '/inbox/',
linkLabel: 'How inbox routing works',
},
{
n: '03',
trap: 'Blast 80 partners at 9am Tuesday',
detail: 'Sending to a partner list in the same minute is the loudest possible spam signal. It bursts the same mailbox past safe spacing and trips volume anomaly heuristics.',
detail: 'Firing the whole list at 9am Tuesday is the loudest spam tell there is. One mailbox sends dozens of near-identical emails in the same minute, which is not something a person ever does.',
defence: 'Business-hour scheduling · 600s gap',
fix: 'Distribute sends across each recipient business window in their own time zone. Default 600 second gap keeps the send pattern natural and within the per-mailbox cap.',
fix: 'Spread the sends across each partner’s own working hours, with a gap between them (600 seconds by default). It paces out like someone working through a list, and stays under the mailbox’s daily cap.',
note: '3 to 4 sentences. No deck attached. One sentence on traction, one on the ask.',
body: 'Hi {{ first_name }},\n\n{{ company.name }} backs early-stage {{ thesis }}. We are {{ traction_one_line }} and raising a {{ round }}.\n\nDeck on reply if it is interesting?\n\n— {{ sender.first_name }}',
},
{
idx: 2, kind: 'wait', delay: '+5 business days', label: 'Wait · 5 business days',
note: 'Pause on any reply, bounce, suppression, or auto-classified OOO.',
note: 'One short follow-up. After this, the sequence ends. No third send.',
body: 'Hi {{ first_name }},\n\nQuick bump on the {{ round }} note above. Closing the round in {{ weeks_remaining }} weeks. Worth a 10 minute call?\n\nDeck attached on reply.\n\n— {{ sender.first_name }}',
},
];
// The two emails in the example flow below. {{.FirstName}} / {{.Company}} are
// the real contact tokens the campaign editor uses (here the contact is the
// investor, {{.Company}} is their fund). The founder's own details are written
// straight into the template.
const email1Subject = '{{.Company}} <> Atlas';
const email1Body =
'Hi {{.FirstName}},\n\nSaw {{.Company}} leads a lot of seed dev-tools rounds. We launched Atlas 14 weeks ago, just crossed $40k MRR, growing about 30% month over month, and are opening a small seed.\n\nWorth a look? I’ll send the deck if it’s a fit for you.\n\nThanks,\nMara';
'Hi {{.FirstName}},\n\nLast nudge on this, then I’ll leave you alone. Two more design partners signed since I wrote, and the round is filling faster than I expected.\n\nIf it isn’t for {{.Company}}, no hard feelings at all. If it is, I can have the deck in your inbox today.\n\nMara';
// Reputation bands lifted from CLAUDE.md "Recommended internal policy for shared paid pools".
['How long before the raise should I connect the mailbox?', 'Four to six weeks. The ramp from 10 to 40 per day takes about 30 business days, and warmup needs at least 20 deliveries in the pool before the mailbox is rated Healthy.'],
['Why only two steps?', 'Investor inboxes are saturated. A short two-step sequence respects that. Longer sequences push the same mailbox past safe spacing and read as automation. Two steps is a recommendation, not a measured outcome.'],
['Should I attach the deck on the first send?', 'No. Cold attachments hurt deliverability and remove the reason to reply. Send the deck on reply, not before. The first touch is three sentences and an ask.'],
['How short should an investor sequence be?', 'Shorter than you think. Partners get hundreds of these a week, so one strong first touch and a single follow-up does most of the work. You can build more, the editor goes up to 50 steps with branching, but for a raise we would not. A fourth and fifth email mostly buys youcomplaints.'],
['Should I attach the deck on the first send?', 'No. A cold attachment hurts deliverability and, honestly, it takes away their reason to reply. Send three or four sentences and an ask, then send the deck once they answer. The reply is the whole point of the first email.'],
];
---
<Layout
title="Investor Outreach for Fundraising | Warmbly"
description="Plan a focused cold investor sequence that lands in the inbox. Warm the mailbox 4 to 6 weeks ahead, send a clean two-step sequence, then watch reputation as the raise runs."
description="Run a focused cold investor sequence that lands in the inbox. Warm the mailbox weeks before the raise, build a short branching flow that stops the moment a partner replies, and watch reputation while you send."
Cold mail to VCs is small-volume, high-stakes. The mailbox should be warmed weeks before the raise, the sequence should be two steps, and the send pattern should look like a founder typing, not a tool blasting.
You only get a handful of these emails, and one bad sending pattern can burn the whole list. So warm the mailbox weeks ahead, keep the follow-up light, and make the send look like a founder typing at their desk, not a tool firing on a schedule.
The mistakes are not creative. They are the same three founders make every raise. Each has a specific platform defence so the mailbox stays out of promotions and the sequence keeps moving.
None of these are exotic. They are the same three mistakes founders make on almost every raise, and each one has a setting in Warmbly that quietly keeps it from happening.
Investor inboxes are saturated. A short sequence respects that. Day 0 is three to four sentences and one ask. Day 5 is a one-paragraph breakup. After that, the sequence ends.
A campaign is a small canvas. Each step holds for as long as you set, sends, then splits on what the
investor actually did. There is no separate wait block to babysit, the wait sits on the step itself. A
reply can stop the chase on the spot, open a task, or ping you. For a raise we keep it to two emails, but
<li class="flex items-start gap-2"><Icon name="check" size={13} class="text-[#0284c7] mt-1 shrink-0"/><span>Pauses on any reply, bounce, or suppression.</span></li>
<li class="flex items-start gap-2"><Icon name="check" size={13} class="text-[#0284c7] mt-1 shrink-0"/><span>No deck attached. Deck link sent on reply only.</span></li>
<li class="flex items-start gap-2"><Icon name="check" size={13} class="text-[#0284c7] mt-1 shrink-0"/><span>Sends spread across recipient business hours, never the same minute.</span></li>
<span><span class="font-medium text-heading">The wait lives on the step.</span> Each one holds for the number of days you give it, then sends. Nothing to wire up in between.</span>
<span><span class="font-medium text-heading">Branches read behaviour.</span> Opened, clicked, replied, or a reply we have read as interested, not interested, or out of office: each can take its own path.</span>
<span><span class="font-medium text-heading">A reply cuts the line.</span> The moment a partner answers, the cold steps stop and a step can run right then: tag them, open a CRM deal, or drop you a notification.</span>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.