跳到主要内容
Docs/Features/Follow Up Sequences

Follow-up Sequences

Multi-step, multi-channel sequences that run autonomously until a contact replies. Built around the "land an email reply" use case but extends to WhatsApp, Telegram, and SMS.

![Follow-up Sequences](/docs-img/follow-up-sequences.png)

What It Does

  • Builds a 3-12 step sequence with email/WhatsApp/Telegram/SMS legs.
  • Adds branches based on whether a contact opened, clicked, or replied to the previous step.
  • Auto-stops the sequence on reply, on unsubscribe, or on bounce.
  • A/B tests subject lines and bodies; auto-picks the winner once you reach minimum sample size.
  • When to Use

    Use sequences when you have a list of qualified contacts and want to repeatedly attempt contact without manually scheduling each follow-up. Typical flow: import 200 contacts → enroll in a 5-step sequence → walk away.

    Building a Sequence

  • Go to **Outreach > Sequences > New**.
  • Set audience filter (min score, tags, stages).
  • Add steps — each step picks channel, template, delay (`delayMinutes`), and a condition for whether to fire.
  • Set the schedule type: `immediate`, `scheduled` (one shot), or `recurring` (cron).
  • Toggle Smart Send Time if you want Anvil to optimize per-recipient timezone.
  • Click **Activate**.
  • A/B Testing

    Per-step you can enable variant B with its own subject + body. Set abSplitPercent (default 50) and abMinSendsForWinner (default 200). Once a winner crosses the configured threshold, all future enrollments use the winner.

    API Endpoints

  • `POST /api/v1/outreach/sequences` — create.
  • `POST /api/v1/outreach/sequences/:id/activate` — start the engine.
  • `POST /api/v1/outreach/sequences/:id/enroll` — add contacts in bulk.
  • `GET /api/v1/outreach/sequences/:id/contacts` — see who is enrolled and where.
  • `GET /api/v1/outreach/analytics` — overall reply / open / click rates.
  • Pricing & Limits

    PlanActive sequencesEnrolled contactsA/B testing
    Starter31,000No
    Pro2550,000Yes
    EnterpriseunlimitedunlimitedYes

    Gotchas

  • Sequences pause automatically if your sender domain's bounce rate exceeds 5%. The pause prevents a deliverability disaster — fix DNS / cleanup the list before resuming.
  • Smart Send Time uses each contact's last 30 days of opens. Cold contacts default to "9am in their geo".
  • The `replied` condition relies on inbox parsing. If you reply from an unrecognised address (a different SMTP), the sequence won't know.