ForgeSendDocs

Sequences and steps

The Sequence tab has two interchangeable views that edit the same underlying steps: List view, a straightforward step-by-step editor, and Canvas view, a visual node builder for sequences with branching logic. Switching between them doesn't lose your work — both read and write the same campaign steps.

List view

List view is the default. A toolbar shows the step count, the view toggle, Sequence Copilot, and Add step; below it, every step is a collapsible row.

Sequence — List view — read only
2 steps
List viewCanvas view
Sequence Copilot+ Add step
Step 1⏱ Wait 0 daysA–CNoticed {company} is scaling the sales team🗑
Step 2⏱ Wait 3 daysAFollowing up — did this land?🗑

Clicking a row expands it in place to preview whichever variant tab is selected; the pencil icon opens the full step editor. The badge (A, or a range like A–C) shows how many variants that step has. When a campaign is live, adding a follow-up only queues it for leads who already received the prior step and are still eligible; if the campaign is paused, step edits save immediately but nothing sends until you resume it. Deleting a step is blocked while the campaign is Active — you have to pause first.

No steps yet — read only

No steps yet

Add your first email step to start building this sequence

Add step

The step editor

Editing a step opens a modal with subject, body, timing, and analysis all in one place.

Email Step editor — read only
Email Step 1

Subject

{Noticed|Saw} {company} is hiring SDRs
{firstName}{lastName}{company}{email}

Body

{Hi|Hey} {firstName|there}, I wanted to reach out about {company|your team}'s outbound…
Send after
3+
daysSame thread
OffOn
84/10042 words
+ Add variant
PreviewSave step

Same thread is disabled on Step 1 (it always starts a new thread) and only toggleable on follow-ups. The score badge next to word count is a live spam/quality score — green at 80+, amber at 60+, red below that — recalculated as you type; it's a drafting aid, not a deliverability guarantee. Clicking Preview opens a per-recipient rendering pane with a lead picker and Gmail/Outlook client tabs, so you can check how the resolved copy actually looks before saving.

Preview — read only
Preview
Sarah Chen
Gmail desktopGmail mobileOutlook desktopOutlook mobile

Saw Acme Systems is hiring SDRs

Hey Sarah, I wanted to reach out about Acme Systems's outbound…

Merge tags and spintax

Two different {...} syntaxes resolve at send time, and they behave differently:

  • Merge tags with fallbacks{firstName|there} pulls in the contact's real first name if one exists; if it's blank, the literal fallback text after the | is used every time. Recognized fields are firstName, lastName, company, and email.
  • Spintax{Hi|Hey|Hello} is not a recognized merge field, so instead of a fallback, ForgeSend picks one option at random on every single send. Spintax groups can nest, and each |-separated option is equally likely.

The two syntaxes look almost identical, and that's the point — ForgeSend checks whether the first segment is a real field name it recognizes. If it is, you get fallback behavior; if it isn't, you get randomized spintax. Writing {firstName|Hey|Hi} won't do what you expect — put fallbacks only on real fields, and keep spintax options non-field words.

Variants

Each step supports up to 5 variants, labeled A through E, each with its own subject and body. Add variant appends the next free letter; the variant tabs appear once a step has more than one.

Variant tabs — read only
ABC

Variants are copy-organization controls, not an A/B testing engine — there's no variant-level open/click/reply analytics or automated winner selection in the app today. Treat each active variant as production-ready copy the recipient might actually get, not a scratchpad draft.

Canvas view

Canvas view opens as a full-screen overlay over the builder — a drag-and-drop node editor built for sequences with branching, not just a straight list. A left-hand palette offers four node types.

Add Nodes — read only
Email Step

Send an email to the lead

Condition

Branch on reply sentiment, clicks, or opens

Automation Wait

Used with conditions — coming soon

End

Finish the sequence

Drag nodes to canvas · Connect via handles · Pan on empty space

Automation Wait is visible in the palette but can't be dragged in — it's disabled, marked "coming soon." If one already exists on an older saved canvas it still displays and can be edited, but the canvas will refuse to save while any Wait node is present: it's reserved for a future automation feature, and today's per-step wait days (set in the step editor) are the only supported delay mechanism.

An Email Step node on the canvas shows a green top accent, a Step N badge, the subject line, a 2-line body preview, and a footer reading either "Send immediately" or Wait N days.

Email Step node — read only
✉ Email Step 1

Noticed {company} is scaling the sales team

Hi {firstName|there}, I wanted to reach out about…

🕐 Send immediately

An End node is a plain terminal marker — red top accent, a stop icon, and a static "Sequence complete" caption; it has no editable fields, and nothing may connect after it.

Branching on Condition nodes

A Condition node is where branching actually happens. Placing one and picking a condition type reveals a list of colored, individually-connectable outcomes.

Condition node — Reply sentiment — read only
◆ Condition

Reply sentiment

Interested
Not interested
Out of office
Objection
Question
No reply
Unclassified

Only three condition types exist, and each has its own fixed outcome set — there's no generic yes/no branch:

Condition typeOutcomes
Reply sentimentInterested, Not interested, Out of office, Objection, Question, No reply, Unclassified
Clicked linkClicked, Not clicked
Opened emailOpened, Not opened
Branching a sequence — read only
Step 1 · Email
╌╌╌▶
Opened email?
╌╌╌▶
Step 2 · "Since you opened this…"
╌╌╌▶
Step 2 · "Following up…"

A Condition node produces no email of its own — it tags the step before it, and each outcome connects onward to its own independent chain of steps. Connections between nodes are dashed, animated lines that turn green when selected; hovering one reveals a small × button to delete just that connection. Branches can fan out from a Condition node, but they can never reconverge back onto the same downstream node — that's flagged as an error before you can save.

How branching actually runs

Branching isn't just a compiled diagram — it's a real, currently-executing mechanism. After a branched step sends, ForgeSend schedules a check rather than the next email immediately: once enough time has passed (based on that step's wait days), it looks at what the lead actually did —

  • Clicked link and Opened email are read from real tracking data on that specific send.
  • Reply sentiment is read from the AI classification already applied to inbound replies in Reply Box.

— and only then creates the next send job down whichever outcome matches. If a reply comes back Out of office or Unclassified, ForgeSend pauses that lead for human review rather than guessing.

Sequence Copilot

Sequence Copilot drafts a full sequence from a goal and a tone, optionally pulling context from a company URL.

Sequence Copilot — read only

Sequence Copilot

Goal

Book a meetingGet a replyDrive to a linkRe-engage cold leads

Tone

Professional

12 of 50 AI generations used this month

Generate sequence

Four goals (Book a meeting, Get a reply, Drive to a link, Re-engage cold leads) and four tones (Professional, Conversational, Direct, Challenger) are available. Generation is metered per workspace per month; usage shows as {used} of {limit} AI generations used this month when a plan limit applies. Copilot output — including spintax variations it writes in — is a draft: review the copy and branching before the campaign reaches launch review.

Where to go next

Next: Scheduling