Lead Nurture Sequences
Lead nurture sequences automate staged follow-ups for leads that are not yet ready to convert.
Goals
- Keep qualified-but-not-ready leads engaged
- Standardize follow-up quality and timing
- Reduce manual follow-up burden for teams
- Increase conversion from warm leads
Core concepts
- Sequence: a reusable nurture workflow definition
- Step: one action in a sequence (email/task/call reminder/wait)
- Enrollment: attaching a lead to a sequence
- Exit criteria: conditions that stop sequence execution
Sequence model
lead_nurture_sequences
| Column | Type | Notes |
|---|---|---|
tenant_id | uuid FK → tenants | |
name | varchar(255) | |
status | enum | draft | active | paused | archived |
entry_rules | jsonb | Segment + score + status-based conditions |
exit_rules | jsonb | Reply/conversion/disqualification/inactivity rules |
created_by | uuid FK → users |
lead_nurture_sequence_steps
| Column | Type | Notes |
|---|---|---|
tenant_id | uuid FK → tenants | |
sequence_id | uuid FK → lead_nurture_sequences | |
step_order | integer | 1..N |
channel | enum | email | task | call_reminder |
delay_hours | integer | Delay from previous step |
template_id | varchar(255) | Nullable for non-message steps |
requires_human_approval | boolean | HITL gate for this step |
conditions | jsonb | Conditional execution rules |
lead_nurture_enrollments
| Column | Type | Notes |
|---|---|---|
tenant_id | uuid FK → tenants | |
lead_id | uuid FK → leads | |
sequence_id | uuid FK → lead_nurture_sequences | |
current_step_order | integer | Current pointer |
status | enum | active | paused | completed | exited |
enrolled_on | timestamptz | |
next_step_on | timestamptz | Scheduler pickup timestamp |
exit_reason | varchar(255) | Nullable until exited |
Enrollment rules
A lead can be auto-enrolled when all are true:
statusisnew,contacted, orqualifiedscore_bandiswarm(or tenant-defined)- No open reply thread in last N days
- Lead is not already in an active sequence
Manual enrollment is also allowed from CRM lead detail.
Step execution rules
- Steps execute in order with
delay_hoursbetween steps - Each step checks lead state again before sending/executing
- Exit immediately on conversion, disqualification, explicit unsubscribe, or positive reply
- Pause when a human task is pending or approval is required
HITL and safety
- Messages generated by agents must pass human approval when
requires_human_approval = true - Pre-approved templates can run without per-step review when tenant policy allows it
- Respect opt-out and contact frequency caps
- Stop all sequences for leads marked as do-not-contact
Activity logging
The following activity types provide full traceability:
nurture_enrollednurture_step_schedulednurture_step_executednurture_pausednurture_resumednurture_exited
Suggested defaults
- Max 1 outbound message per 48 hours per lead
- Max 6 sequence steps over 21 days
- Auto-exit after any positive reply
- Re-enrollment cooldown: 30 days