Sequences — Mimeo docs
Sequences
A sequence is a fixed series of emails on set delays. People start a sequence and finish it, and each pass through it is a run.
Sequences live under Emails → Sequences, because a sequence is a series of emails and nothing more. What decides who starts one is a flow.
On and off
A sequence has one switch. There is deliberately no separate draft or paused state — one switch, two meanings, and no third thing to reason about.
While a sequence is off:
- Nobody new can start it. A flow that tries logs the attempt and moves the person straight on rather than stalling them.
- Everyone already partway through stops receiving. Their scheduled emails hold, with the reason visible in the queue.
Turning it back on releases those holds on their original due times. Anything that came due during the pause goes out on the next tick, re-checking guards and send windows on the way. New sequences start off, so nobody can be started on something half-built.
Steps
A sequence's page has three sections: Emails (the steps), Settings (repeat runs, name and notes), and Guards (the checkpoints that can act on what it sends).
Each step is an email plus the delay before it, measured from the step before. Step one with no delay sends the moment the person starts.
Add step asks where its email comes from: blank, or from your library — and if from your library, whether this step shares that email or takes a copy of it. Sharing means editing it here changes it everywhere else it's used; copying means this step goes its own way. See Emails for what each one changes later. Change email… in a step's actions menu asks the same question, and leaves the email you're replacing in your library.
That menu also has Insert a step after this, so you can put a step where it belongs instead of adding it at the end and moving it up. Everything below the insertion point shifts down one.
The sequence is an editor
A sequence opens as the email editor you use everywhere else, with the sequence itself in a panel beside it. Click any step in that panel and its email fills the canvas — the same From, Subject, Pre-header, body and preview as the library. There is no expanding and collapsing, and no dialog: one email is open at a time, full size, with the rest of the sequence still in view.
Which step is open lives in the address bar, so a particular email in a particular sequence is a link you can send someone, and the back button walks back through the steps you opened rather than out of the sequence entirely. Anything typed but not yet saved is written before the next step loads.
The panel has two tabs. Sequence lists every step in order — its number, its title, arrows to move it, an on/off switch, and its wait underneath. Clicking anywhere on a row that isn't one of those controls opens that step. Its … menu holds what belongs to the step rather than to the email: changing which email it sends, inserting a step after it, opening the email in the library, removing it. Email #N details is about the open email — its title, layout, labels, and where else it's used.
Sending yourself a test is on the editor's toolbar, next to Edit and Preview, the same as everywhere else an email is written.
Draft and active steps
A draft step doesn't exist as far as scheduling is concerned. People move through the sequence as if it isn't there, so nobody piles up waiting for an unpublished email.
When you activate a draft step:
- Anyone who hasn't yet reached that position gets it, slotted in on the cadence it would have had.
- People already past it don't get it retroactively.
- Nobody's existing scheduled emails move.
Unpublishing pulls the step back out of everyone's queue, and their remaining steps stay exactly where they were.
Editing a sequence people are in
Changing a delay, swapping an email, or reordering steps applies to future runs. People already in the sequence keep the plan they were given — their scheduled dates are something they can see, and moving them under their feet would make the queue a guess rather than a fact.
Repeat runs
Three modes, chosen per sequence.
| Mode | What a second run does |
|---|---|
| Repeat runs, resend all | Starts at step one and sends everything again. For something genuinely repeatable — an annual renewal series, a re-onboarding. |
| Repeat runs, once per email | Each email reaches a person at most once ever. A repeat run sends only what they haven't had, in order, on the steps' configured delays. |
| Single run ever | One run per person, regardless of what they did or didn't receive. A second attempt is logged and passed over. |
Skipping doesn't mean waiting. In once-per-email mode the delays accrue only over the steps that are actually scheduled. A repeat run that skips steps one and two doesn't make the person sit out those delays before step three.
What counts as already received
A person has received an email when there's a send record for that person and that email record. It survives editing the email and reordering the sequence — the identity is the record, not the content or the position.
A new email record with the same words is a fresh email, so everyone is eligible for it — swapping a step's email for a new row restarts eligibility even when the copy is identical. (An email that has been sent can't be permanently deleted; its send log is the record of what went out.) To restore everyone's eligibility on the same record, the email's Reset sent status action does it without losing the send history.
Runs
- A person can have at most one active run per sequence. The database enforces it, so two events arriving together can't both win.
- Starting a sequence writes the person's whole plan up front as real scheduled rows. Position is visible data, not something recomputed each time a job wakes up.
- A run finishes when its last step is sent or dropped — a guard dropping one step never stalls the ones after it.
- Finishing fires a
sequence_completedevent, which is an ordinary event: flows can trigger on it, and a flow step waiting on the sequence is released by it.
There is no cooldown setting. "Don't restart within 30 days" is a condition on run history in the flow that starts the sequence, which keeps the rule where you can see it rather than hidden in a second place.