Sequences

Enrollment

An enrollment is one contact's run through one sequence: which step they are on, when the next action is due, and whether it is active, paused or finished. It is the state record the sending engine reads, and it is what makes a sequence resumable rather than a one-shot mailing.

Also called: Sequence enrollment

Why the state is per contact#

A sequence is a template. The enrollment is the instance. Keeping them separate is what lets one person be paused while everyone else continues, lets an enrollment survive an edit to the sequence, and lets the engine answer the only question it needs to ask on each tick: which enrollments are due now?

It also makes the history legible afterwards. What happened to this contact is a property of the enrollment, and it stays true even after the sequence has been rewritten.

Enrollment rules that prevent embarrassment#

A few checks belong at the moment of enrollment rather than at the moment of sending:

  • One active enrollment per contact per sequence — double enrollment is the classic cause of duplicate mail.
  • Suppression checked at enrollment and again before every send, because circumstances change while a sequence runs.
  • A rule for contacts already in another sequence: either block, or accept it deliberately. Silence here means someone receives two campaigns at once.

Pausing versus removing#

Pausing preserves the position: the person stops receiving mail and can be resumed where they were. Removing ends the run. The distinction matters more than it sounds — a rep who removes a contact to stop the follow-ups has also destroyed the record of where the conversation reached.

Both should be available at the level of one person, one sequence and the whole workspace, because all three emergencies happen.

Enrollment in SalesShift#

SalesShift stores an enrollment per contact per sequence, carrying the current step and the time the next action is due — the field the dispatch engine polls. Enrollments can be paused, resumed and removed individually, and a reply ends them when the sequence is set to stop on reply.

Further reading#

See it running

Signals, prospect search, sequences, deliverability and pipeline on one record.