Vocabulary and model

Lifecycle diagrams

Reference Reviewed · not yet fact-checked

In short

What are the lifecycle states in Reply?

A contact in a sequence starts Active, gains Contacted after the first email, and moves through Opened, Clicked, Replied, Bounced, Out of office, or Opted Out toward Finished. Sequence toggles cycle from gray Inactive through green Active to blue Completed, with red, orange, and yellow flagging problems. Validation ends Valid, Risky, or Invalid.

Each diagram is plain text so it stays machine-readable. Exact values and full status tables: Statuses.

Contact status lifecycle

added to an active sequence
        │
        ▼
      Active ◄────────────── resume (manual) ─────────────── Paused
        │                                                       ▲
        │                                    pause (manual) ────┘
        │
        ├─ first email delivered ──────────► + Contacted
        ├─ opens a tracked email ──────────► + Opened
        ├─ clicks a tracked link ──────────► + Clicked
        ├─ template variable has no value ─► Missing data   (sends stop until cleared)
        ├─ auto-reply with OOO keywords ───► Out of office  (sends stop; manual or automatic exit)
        ├─ automatic reply detected ───────► Auto-replied + Finished
        ├─ email returned undelivered ─────► Bounced        (fix address → Active → resend)
        ├─ clicks opt-out link ────────────► Opted out      (kept even outside sequences)
        ├─ reaches a Call step ────────────► To call ── call logged ──► Called
        ├─ replies by email or SMS ────────► Replied ──► Finished by default
        └─ all steps sent ─────────────────► Finished       (no sends, no reply tracking)

Contacted, Opened, and Clicked are additive markers — they join the contact's other statuses rather than replacing them.

StatusEmails sentExit path
ActiveYesAny event above
PausedNoManual change back to Active
Missing dataNoFill in the variable or remove it from the template, then clear the status manually
Out of officeNoChange to Active manually, or automatic out-of-office handling; a real reply from the contact is still detected and handled per the sequence's replies-handling setting
BouncedNoUpdate the email address, remove Bounced, set Active, and resend within the same sequence; the status is not retained in a different sequence
RepliedStops by defaultContinue sending emails in replies handling keeps the remaining steps going
Auto-repliedNo (comes with Finished)Change the accompanying Finished status to Active manually; Auto-replied itself cannot be removed
Opted outNoManual removal only; the contact cannot be moved to another sequence while opted out
To callA call action moves the contact to Called
CalledPermanent; removable only via the contact sidebar
FinishedNoBack to Active only if steps remain or new steps were added

Sequence toggle lifecycle

created ──► Gray (Inactive)
              │ launch
              ▼
        Green (Active) ─────── all contacts finished ──────► Blue (Completed)
              │
              ├─ missing or invalid settings ──► Red (Action required)     cannot run until fixed
              ├─ warnings detected ────────────► Orange (Issues detected)  needs attention
              ├─ a limit is hit ───────────────► Yellow (Limits reached)   temporarily paused
              └─ pause or archive ─────────────► Gray (Inactive)
ToggleStateCommon triggers
GrayInactiveNewly created and not launched, paused, or archived
GreenActiveLaunched, restarted after a pause, or working through steps — planning, checking conditions, sending, generating tasks, executing LinkedIn actions
RedAction requiredSending email account removed or disconnected, LinkedIn account removed, sending errors, no contacts, missing schedule, suspension at the 8% bounce-rate threshold
OrangeIssues detectedContacts without an assigned email or LinkedIn account, contacts missing required data, provider block on some accounts, 4% bounce rate reached, missing voice profile
YellowLimits reachedEmail account daily limit, active contacts limit for the billing period, sequence daily limit, LinkedIn weekly connection-request limit, provider daily quota exceeded
BlueCompletedAll contacts finished the sequence; no active contacts left

Governing rules: Sequence execution, Bounce handling, Sequence stopping.

Email validation lifecycle

email address checked (syntax, DNS, and mailbox checks)
        │
        ├─ no high-risk factors ──────────────► Valid     safe to enroll
        ├─ server accepts, may still bounce ──► Risky     disposable domain, catch-all, or honeypot
        └─ a check fails ─────────────────────► Invalid   excluded from sequence sends
OutcomeMeaningHandling
ValidVerification completed with no high-risk factorsSafe to put into sequences
RiskyThe mail server states the recipient exists, but the send may bounce or be of low valueTreat as Valid; keep Risky addresses to up to 20% of a list
InvalidA syntax, DNS, or mailbox error was returnedThe contact does not receive sequence emails

The full error taxonomy behind the Invalid outcome: Statuses.

Build with Reply

  • REST API: docs.reply.io — the operations that trigger each transition
  • MCP: agents.reply.io/mcp — status change, sequence start/pause, and diagnostics operations