Cold email sequences explained

What a cold email sequence is, how many steps to use, how long to wait, when to thread follow-ups as replies, and how reply branches and stop on reply work.

A cold email sequence is the ordered set of emails a contact receives in one campaign, with a wait before each follow-up. It stops when they reply. In AY Inbox each step waits its own number of days after the previous one, a follow-up with no new subject is sent as a reply in the same thread, and stop on reply ends the sequence when the person answers.

A step is one email (or one action) in the sequence. A follow-up is any email step after the first. The wait is how many days a step holds after the contact's previous step, counted separately for every contact.

Sequence versus campaign

The two words are often used interchangeably, but they hold different things:

CampaignSequence
What it holdsLeads, sender mailboxes, schedule, daily limit, trackingThe steps each lead receives, their waits and branches
Where you edit itThe campaign's Settings and ScheduleThe campaign's Steps tab, a visual canvas
AnswersWho, from where, when and how muchWhat and in which order

Each campaign has its own sequence. To send different sequences to different audiences, use separate campaigns, or a switch step or branch inside one sequence.

How many steps and how far apart

The new-campaign flow suggests three emails: Add the usual two follow-ups adds one 3 days after the first email and another 7 days after it. Through the API, a follow-up's wait_after defaults to 3 days and the first email's to 0.

LimitValue
Steps per sequenceUp to 50
Wait before a step0 to 60 days
A/B variants per stepUp to 5, on top of the Original
Delay before the first emailOptional, up to 90 days after the contact enters

A short, spaced sequence is easier to keep relevant than a long one. Each extra step is one more email to someone who has not answered, and a lead who never replies is still receiving mail from your mailbox. Spacing also keeps a mailbox's sending pattern natural; see how many cold emails per day.

The Advisor watches the shape of your campaigns: it flags a campaign that sends one email and stops, suggesting two or three short follow-ups 2 to 7 days apart, and flags follow-up spacing outside 2 to 14 days.

Waits are per contact. A contact waiting three days does not hold up anyone else: other contacts' first emails and due follow-ups keep going. A step whose wait ends outside the campaign's sending window waits for the next window; it is never sent late at night to catch up.

Same thread or new thread

Each email step has Reply in thread (thread_reply in the API), on by default.

  • On: the follow-up goes out as a reply on the conversation the contact already has, with In-Reply-To and References headers pointing at the last message they received. It carries the subject the opening email was actually sent with, so it sits under the first email in their inbox.
  • Off: the step writes its own subject and opens a new conversation. Every threading step after it replies on that new conversation.

Through the API, a step with no subject, or the same subject as the conversation so far, defaults to thread_reply: true; a step with a subject of its own defaults to false. Keep follow-ups in the thread unless you have a reason to change the subject, such as a different offer or a breakup email you want read on its own.

A/B variants

Any step can be tested with up to 5 variants (B through F) on top of the Original, with a traffic split you set. Leave a variant's subject or body blank to reuse the step's own. On a step that replies in the thread, variants vary the body only, because the conversation owns the subject.

Test one step at a time, and change one thing per variant, so a difference in reply rate has one explanation. Each variant shows sent, open, reply and bounce rates, and AY Inbox names a winner when it finds one. See A/B variants.

Reply branches and stop on reply

Stop on reply is a campaign-level switch. With it on, when a contact replies, the rest of their cold sequence stops. With it off and more than one step, the canvas warns you, because people who answered would keep receiving follow-ups.

Stop on meeting booked is the second switch, on by default. Once a contact books a meeting after joining the campaign, through your scheduling link or through AY Inbox booking it from a reply, the rest of their cold sequence stops. A reply branch they are already in keeps running. See stop on meeting booked.

Reply branches decide what happens next. A reply runs the path of the specific email it answers (matched by threading headers), so a reply to step one runs step one's branch. Conditions include:

ConditionMeaning
if repliedThe contact replied
if replied: positive / negative / neutralThe reply's intent
if reply intent is…An intent read by inbox tagging, such as wants pricing or not now
if opened / if clickedWithin a window of 1 to 60 days
if didn't open / didn't replyChecked after the full window
if auto-reply / out of officeThe reply was automated, not human

A reply branch can send an email, label the conversation, create a deal, notify your team or run an automation. Reply branches still run with stop on reply on, so turning it on is strictly safer.

Auto-replies and out-of-office messages are not human replies, so they do not stop the sequence. An out-of-office message instead holds the contact's next step until they are back (on by default, and switchable per workspace). See out-of-office replies. To keep a thread going until a meeting is on the calendar, see following up until a meeting is booked.

Personalization in steps

Every subject and body supports merge fields such as {{.FirstName}}, fallbacks for empty fields, conditionals and spintax. Fields you imported as custom fields are usable the same way. An AI variable writes one snippet per recipient at send time and spends credits for each contact. Preview a step as a real lead before you launch, because the preview renders through the same engine as the send. See personalization and expressions and personalization that works.

Building one by API

POST /campaigns accepts a steps array and connects the steps in order: each routes unconditionally to the next, waiting that step's wait_after days.

{
  "name": "Q3 outbound",
  "stop_on_reply": true,
  "steps": [
    { "name": "Step 1", "subject": "Quick question, {{.FirstName}}", "body_plain": "Hi {{.FirstName}}...", "wait_after": 0 },
    { "name": "Step 2", "subject": "", "body_plain": "Just bumping this...", "wait_after": 3 },
    { "name": "Step 3", "subject": "", "body_plain": "Last note from me...", "wait_after": 4 }
  ]
}

Here step 2 goes out 3 days after step 1 and step 3 four days after step 2, both as replies in the first email's thread. Routing has no implicit next step: a step with no outgoing connection ends the flow, so add branches on the canvas or through the steps endpoints. Field-level detail is in the campaigns API reference, and the full canvas is in sequences and steps and campaigns.

Frequently asked questions

What is a cold email sequence?

A cold email sequence is the ordered set of emails one contact receives in a campaign: a first email, then follow-ups that each wait a set number of days. It ends when the steps run out or, with stop on reply on, when the contact replies.

How many follow-ups should a cold email sequence have?

AY Inbox's suggested default is a first email plus two follow-ups, sent 3 and 7 days after the first. A sequence can hold up to 50 steps, but each extra step is one more email to someone who has not answered.

Should cold email follow-ups be sent in the same thread?

Usually yes. In AY Inbox a follow-up with no subject of its own is sent as a reply in the same conversation, carrying the original subject. Give a step its own subject only when you deliberately want a fresh conversation.

What is the difference between a campaign and a sequence?

The campaign holds who you send to, which mailboxes send, the schedule and the limits. The sequence is the steps inside it: what each contact receives and when.

Can a cold email sequence react to how a prospect replies?

Yes. In AY Inbox a reply runs the branch of the email it answers, with conditions such as replied, positive or negative intent, a reply intent like pricing or not now, opened, clicked or out of office. A branch can send an email, label the thread, create a deal, notify the team or run an automation.

On this page