Skip to content
Adoptiv

Email Sequences

The machinery under the canvas. Every lead carries a cursor of their own that moves forward a step at a time, parks where told, and cannot be talked into sending the same message twice.

One enrolment, one cursor, one claim before each send

the claim comes before the render
sweep · once a minute · every workspace in turnlive sequences only
Where the cursor is standing
The row that holds the place
current node
send_intro
version
v3, frozen at publish
steps taken
4
next run at
now
status
active
The claim, taken before anything is composed
run e7b1 · n_send1 · v3 · step 4
already there, so it is skipped
Ceiling on one pass
A hundred boxes. Reaching it marks the run blocked and writes the reason down, rather than letting a ring spin.
States the run column recognises
  • active
  • waiting
  • completed
  • exited
  • blocked
  • suppressed
  • holdout
twenty characters of free text with nothing behind it, so the set is a convention the engine keeps rather than one the database enforces
The row is inserted ahead of composing anything. Where it already exists the insert does nothing and the message is skipped, so a retry in the same pass cannot produce a second send.
0
states the run column recognises
0
boxes a single pass will cross
0
minute between sweeps of what is due

Product figures from the platform’s own defaults - not customer averages

The mechanism

How it works.

01

A row per person, holding the place

It stores which box they are standing on, which frozen version they are running, how many steps they have taken and when they are due back. None of that lives in memory, so a deploy in the middle of a cadence costs nothing at all.

02

A sweep every minute over what has come due

A repeating job looks across every workspace for runs whose time has arrived under a sequence that is still live, then walks each one until it parks, ends, or is stopped. A hundred boxes is the ceiling for one pass; reaching it marks that run blocked instead of spinning.

03

The claim comes before the render, not after

Ahead of composing anything the engine inserts a row keyed on the run, the box, the version and the step counter. Where that row already exists the insert does nothing and the message is skipped. Because the counter moves, a genuine loop back around does legitimately send again.

04

Pausing stops the people already inside it

The sweep only picks up runs whose parent is live, and the single-run path checks a second time before acting. Pause it and everyone mid-flight stands still where they are. Set it live again and they resume from the identical box.

Where it sits

Two moments in every run.

Every run passes through the same seven. Email Sequences is the lit ones, and everything either side of it is a different page in this category.

  1. 01
    Trigger

    the thing that happened first

  2. 02
    Enrol

    how somebody gets onto it

  3. 03
    Wait

    the pause, and what governs its length

  4. 04
    Branch

    the fork, and which side is taken

  5. 05
    Act

    the mail, the text, the task that goes out

  6. 06
    Measure

    what counts as it having worked

  7. 07
    Exit

    how somebody comes off it

The specifics.

8 facts
Run states
Active, waiting, completed, exited, blocked, suppressed, and held back for a control group. Twenty characters of text with no constraint behind it, so the set is a convention the engine keeps rather than one the database enforces
Sequence states
Draft, awaiting approval, live, paused, archived. Only a live one accepts people or moves them, and archiving takes a finished cadence out of the list without disturbing the runs it left behind
Sweep
Once a minute, every workspace in turn, from the shared job runner
Against duplicates
A unique row on run, box, version and step counter, taken before anything is composed
Step ceiling
One hundred boxes per pass. Beyond that the run is marked blocked and the reason written down
One place per sequence
The same person cannot be put on the same sequence twice. A second attempt is dropped in silence
With no outgoing server set
The step is still recorded and the walk still proceeds. The row simply says it was not delivered
Not the same as
This is the walk itself. Drawing the shape it walks is the Sequence Builder

More in Automation & Flows

12 capabilities

Sequences, dispositions and webhooks that act without being asked.

Inbound Webhooks

A unique URL per integration with HMAC signing, rate limits, payload caps and idempotency - plus a log of every delivery it ever accepted or refused.

Branch Logic

Branch on whether they opened, clicked or replied, and on how the last call was dispositioned - so the next step answers what actually happened.

A/B Split Testing

Weighted splits assigned by a deterministic hash of the enrolment, so a lead always takes the same arm no matter how often that step is run again.

Wait & Timing

Hold a lead for minutes or days between steps, clamped to the sending window you set, so that an overnight wait never lands at four in the morning.

Call Tasks in Sequences

Drop a call step into a sequence and it raises an assigned task on the lead's owner, with the outcome the rep logs coming back as a branchable answer.

Goal Tracking

Name a linked deal as the outcome that means the sequence worked. Reaching it stamps goal met on the run and takes the branch you wired behind it.

Disposition Behaviours

Twenty-six behaviours attach to wrap-up codes, and twenty codes ship already pointing at one, so ending a call the right way books the follow-up.

Workflow Triggers

Six event types a CRM rule fires from: stage change, field update, new record, reassignment, schedule and inactivity, agreed in four places at once.

Workflow Actions

Send the email, assign the owner, raise the task, set the field, move the stage or call a webhook. Six modules, run in the order you stored them.

Conditional Logic

Eight comparison operators guarding each action, combined with AND and only AND, so a rule meaning either of two things is built twice, as two rules.

SMS in Sequences

A text is a step on the same canvas as the email and the call task, written into the real thread and carried out by the number it is going out from.

REST API

A versioned path, a key minted once and kept as a hash, and the same role and profile model the interface runs on deciding what that key may touch.

Automation & Flows

See email sequences on your own floor.

Thirty minutes, your numbers and your data. We will set email sequences up live and you can decide from the thing itself rather than from this page.

14-day trial · no card · migration included