Sequences (previously called Cadences) are multi-step automated outreach over time. You build the sequence once (e.g. day 0: text → day 3: email → day 7: task) and then enroll contacts. Groundbase fires each step on schedule per contact, personalized with merge tags.
Find them at Settings → Automations → Sequences.
When to use a Sequence vs a Workflow
- Workflow = when X event happens → do Y once. Reactive, event-driven. Auto-tag a new lead. Notify Slack when a deal closes.
- Sequence = touch a contact N times over N days. Proactive, multi-step, per-contact timeline. Day 0 outreach → Day 3 follow-up → Day 7 task to call.
Use a Workflow for "when contact.created → apply tag lead." Use a Sequence for "7-touch cold outbound program."
Starter templates (fastest way in)
Click Sequence templates on the Automations page to seed a sequence from one of six starters:
- Cold outbound — 5 touches (SMS / SMS / email / task / email over 21 days, stops on reply or meeting booked)
- Post-demo follow-up (thank-you email / recap task / check-in SMS / re-engage email over 14 days, stops on reply / meeting / won deal)
- Welcome — auto-fire on new contact (auto-enroll on
contact.created, SMS day 0 + email day 2, stops on reply) - Re-engage stale lead (SMS / email / final SMS over 21 days, stops on reply)
- Won-deal celebration → check-in (auto-enroll on
deal.won, thank-you email + 30-day check-in task) - Closed-lost recovery (auto-enroll on
deal.lost, no-pressure email day 30 + friendly SMS day 90, stops on reply or new deal won)
Each template opens the editor pre-populated — tweak the message bodies, save.
Anatomy of a Sequence
Every Sequence has four parts:
-
Trigger — how contacts get enrolled. Two options:
- Enroll by hand — you (or the API) explicitly enroll contacts one at a time or in bulk
- Auto-enroll when… — fires on an entity event. Supported events:
contact.created/contact.updated/contact.tag_addeddeal.created/deal.stage_changed/deal.won/deal.lost
- For
contact.tag_added, you also pick which tag the trigger watches.
-
Exit when… (optional) — auto-stop the sequence for a contact when one of these happens:
- They reply (inbound SMS or email)
- They book a meeting
- A deal with them is won
- A deal with them is lost
- They unsubscribe (email)
Default = keep firing every step no matter what. Most outreach sequences should turn on at least They reply — re-emailing someone who already wrote back is the #1 footgun.
-
Sending window (optional) — restrict steps to specific days + hours in the contact's timezone (e.g. Mon-Fri 9am-5pm). Steps scheduled outside the window get pushed to the next allowed slot. Use this so a Day 3 email doesn't land at 2 AM Saturday.
-
Steps — ordered list. Each step has:
- Type —
send_sms,send_email,create_task,apply_tag,remove_tag,create_note,update_field - Config — fields per type (SMS body / email subject + body / task title / tag picker / note body / field+value)
- Delay — days + hours to wait BEFORE this step fires, relative to the previous step (or to enrollment for step 1).
0d 0hon step 1 means "fire within ~60s of enrollment."
- Type —
Merge tags in any string field: {{first_name}}, {{last_name}}, {{full_name}}, {{email}}, {{phone}}, {{company_name}}. Custom-field tags too — see Email integration for {{cf.<field_key>}}.
Building a Sequence
Settings → Automations → + New automation → Sequence. Name it, set the trigger + exit conditions + sending window, add steps. Reorder with ↑/↓ buttons. Save.
Enrolling contacts
Three ways:
- Manual from a contact's detail page — More menu → Enroll in sequence → pick the sequence.
- Auto-enroll — if the sequence trigger is
entity_event(e.g. Contact tag added: new-lead), every matching event auto-enrolls. Idempotent: re-firing the same event doesn't enroll twice. - Programmatic — your AI assistant via Groundbase MCP, or any script with an API key, can enroll any contact via the API.
When you enroll, step 1 schedules according to its delay (immediate if 0d 0h). The per-minute server cron picks up each enrollment when its next_step_at arrives, runs the step, records to history, and schedules the next one.
Re-enrolling a stopped contact
If you stop an enrollment (manually or via an exit condition), the sequence's previous run history is preserved. Re-enrolling that same contact later resets them to step 0 and runs the whole sequence again — no UNIQUE constraint blocking. Use case: someone went quiet after step 3, came back six months later, and you want to put them back through the full 5-touch program.
Watching enrollments + stopping mid-flight
A sequence's Enrollments tab shows every contact currently (or previously) in: their current step, status (active / paused / completed / stopped), next-fire time, and stopped reason.
Each active enrollment has a Stop button. Stopping removes the contact without affecting any other enrollments.
Editing a Sequence with in-flight enrollments
If you save step changes while enrollments are active, they reset to step 0 (preserving partial state would silently change what they're scheduled to receive). The editor warns you when this would happen.
Triggers + exit conditions — the auto-enroll flow
A typical auto-enroll setup:
- Create a tag
new-lead. - Create a sequence with trigger = Contact tag added → tag
new-lead, exit = They reply + A deal with them is won. - Add steps: Day 0 welcome SMS → Day 2 email → Day 5 task.
- Save + activate.
- Tag any contact with
new-lead. Within ~60s, step 1 fires. - If they reply at any point → sequence stops, status =
stopped, reason =reply_received. - If a deal with them moves to a Won-flagged stage → sequence stops, reason =
deal_won.
Limits
- 50 sequences per account
- 50 steps per sequence
- 500 enrollments per bulk call (no cap on total enrollments)
Cost
- Each Send SMS step is sent through your connected Twilio account at Twilio's standard per-segment rate. Groundbase doesn't add a markup.
- Each Send email step uses your connected email account (no per-message cost from us).
- Create task / Apply tag / Remove tag / Create note / Update field steps cost nothing.