Multi-Step Sequences
Campaigns support multiple email steps that are sent sequentially to each lead based on timing and conditions.
How Steps Work
- Step 1 is always the initial email — sent to all leads in the attached lists
- Step 2+ are follow-ups — sent after a configurable delay, only if conditions are met
- Each step can have its own subject lines, body, and trigger condition
- If Check Reply is enabled, the sequence stops for a lead once they reply
Trigger Conditions
| Condition | Behavior |
|---|---|
always | Send to all leads who received the previous step (default) |
on_open | Only send if the lead opened the previous email |
on_click | Only send if the lead clicked a link in the previous email |
not_opened | Only send if the lead did NOT open the previous email |
Wait Time
Each step has Wait Days and Wait Hours fields. The follow-up is only sent after this delay has passed since the previous step was delivered.
Example: Step 2 with wait_days: 3 means it sends 3 days after Step 1 was delivered to that specific lead.
Sequence Example
| Step | Wait | Condition | Purpose |
|---|---|---|---|
| 1 | — | always | Initial outreach |
| 2 | 3 days | not_opened | Bump for non-openers |
| 3 | 5 days | on_open | Follow-up for engaged leads |
| 4 | 7 days | always | Final breakup email |
Keep sequences to 3-5 steps. More than that rarely improves reply rates and can hurt sender reputation. Space steps 2-5 days apart.
Reply Detection
When Check Reply is enabled on the campaign, the inbox worker monitors sender mailboxes via IMAP. If a lead replies to any step, all subsequent steps are skipped for that lead.
Retry Logic
If a send fails with a temporary error (greylisting, rate limit), Cleanmails automatically retries:
- Attempt 1: 15 minutes (5 min for greylisting)
- Attempt 2: 1 hour
- Attempt 3: 4 hours
After max retries (default 3), the delivery is marked as failed. Permanent errors (550, user unknown) are never retried.