Skip to content

Sequencer

The Sequencer automates multi-step outreach across every channel. Define a series of steps — emails, LinkedIn actions, phone calls, SMS, WhatsApp — and graph8 executes them on a schedule for each contact in your list.

Channels

Sequences support multiple channels, each with its own resource allocation:

ChannelWhat It Does
EmailSend via Gmail or SMTP mailboxes
LinkedInConnection request, direct message, InMail, follow, view profile, like post (via HeyReach)
PhoneVoice AI calls or manual dialer
SMSText messages
WhatsAppWhatsApp Business messages

Each channel requires an allocated resource — a mailbox for email, a LinkedIn account for LinkedIn actions, a phone number for calls/SMS, etc.

Building a Sequence

  1. Go to Engage → Sequencer and click Create Sequence
  2. Name your sequence and select a contact list
  3. Add steps — each step has a channel, timing, and content
  4. Assign resources (mailboxes, phone numbers, LinkedIn accounts)
  5. Set a schedule for sending windows

Steps

Each step defines one action in the sequence:

Step TypeChannelWhat It Does
EmailEmailSend a personalized email
PhonePhoneTrigger a voice AI call
Manual DialerPhoneQueue contact for manual dialing
LinkedInLinkedInExecute a LinkedIn action (connect, message, InMail, follow, view, like)
SMSSMSSend a text message
WhatsAppWhatsAppSend a WhatsApp Business message

For each step, choose how the content is created:

  • On-demand — write the content yourself
  • AI-generated template — let AI generate the content
  • Manual template — use a saved template

Set the time interval between steps (e.g., wait 2 days after the previous step before executing).

LinkedIn Actions

LinkedIn steps support multiple action types:

  • Connection request - send a connection request with an optional message and fallback message
  • Message - send a direct message to an existing connection
  • InMail - send an InMail with subject and body
  • Follow - follow the contact’s profile
  • View profile - view the contact’s profile (creates a notification)
  • Like post - like a recent post with a selectable reaction type

LinkedIn account requirement: Sequences with HeyReach LinkedIn steps require at least one LinkedIn account to be assigned as a channel. If no LinkedIn accounts are connected, the step creation form shows a prompt to connect an account first. You can add or remove LinkedIn accounts from the Channels tab in Sequence Details after the sequence is created.

AI Instructions (LinkedIn)

LinkedIn steps support an AI Instructions mode.

Instead of writing a static message, you can provide instructions and let graph8 generate a personalized message for each contact at send time.

The AI uses:

  • Contact data (name, role, company)
  • Global Context
  • Campaign documents

This allows dynamic, per-contact personalization and keeps messages relevant and up to date.

Sequence Settings

SettingWhat It Controls
Finish on replyStop the sequence for a contact when they reply
Send in same threadKeep all emails in the same email thread
Wait for new contactsPause the sequence and resume when new contacts are added to the list
SharedMake the sequence visible to your entire team

Running a Sequence

Sequences move through these statuses:

StatusMeaning
DraftedCreated but not yet started
SchedulingProcessing and scheduling contacts
LiveActively executing steps
PausedTemporarily stopped — can resume
WaitingPaused, will resume when new contacts are added
CompletedAll contacts have finished the sequence
TerminatedManually stopped — cannot resume

Controls:

  • Start — begin executing the sequence
  • Pause / Resume — temporarily stop and restart
  • Terminate — permanently stop the sequence
  • Duplicate — create a copy of the sequence

Pre-Launch Validation

Before launching a sequence, graph8 checks that all required fields are available for the selected channels.

If any required data is missing, you’ll see a warning with details about what needs to be fixed before launch.

Contact States

Each contact in a sequence has their own state:

StateMeaning
QueuedWaiting to begin
In progressCurrently executing steps
PausedManually paused
CompletedFinished all steps
FailedA step failed
BouncedEmail or message bounced
RemovedManually removed from the sequence
RepliedContact replied (sequence stopped if finish-on-reply is enabled)

You can pause or resume individual contacts without affecting the rest of the sequence.

Schedules

Schedules define when steps can execute:

  • Sending windows — set the hours and days of the week when messages can be sent
  • Timezone — respect each contact’s timezone for delivery timing

Create reusable schedules in Engage → Schedules and assign them to any sequence.

Templates

Save time with reusable templates:

  • Sequence templates — save an entire sequence structure (steps, timing, channels) for reuse
  • Step templates — save individual step content as templates

Reports & Analytics

Every sequence tracks detailed performance:

MetricWhat It Shows
OverviewTotal contacts, active, completed, success rate, overall progress
Step breakdownPer-step counts: queued, in progress, completed, failed, bounced, replied
Conversion funnelContacts entered vs. completed at each step
Step performanceSent, delivered, replied, bounced counts and rates per step
Response ratesReply rates across time frames (24h, 48h, 7 days)
Engagement trendsDaily reply rate and bounce rate trends

Skipped Contacts

The step progress also tracks Skipped contacts.

Skipped contacts are those that were not processed due to:

  • Missing required data (e.g., no email or phone)
  • Deduplication rules
  • Step conditions not met

The skipped count appears when there are affected contacts.

Step Conditions

Attach conditions to any step so it only runs for contacts who meet specific criteria. Contacts who fail the condition are marked as Skipped and continue to the next step.

Condition Types

ConditionExample
Field valueJob title contains "VP"
Previous step outcomeStep 1 email was opened
Engagement thresholdOpened ≥ 2 previous emails
Custom fieldICP score > 80
List membershipContact is in list "Enterprise ICP"
CRM fieldHubSpot lifecycle stage = MQL
Time since eventWebsite visit within last 7 days

Adding a Condition

  1. Open a step in the sequence editor
  2. Click Add Condition
  3. Pick the condition type and value
  4. Choose what happens if the condition fails:
    • Skip step — move to the next step
    • Exit sequence — remove the contact from the sequence
    • Wait and retry — re-evaluate after N days (useful for “wait until they visit the site”)

Branching

Branches split a sequence into multiple paths based on contact attributes or behavior. Each path can have its own steps, content, and timing.

When to Use Branches

  • Send different content to different personas (VP vs. IC)
  • Fork sequences by channel preference (email-first vs. LinkedIn-first)
  • Treat replied contacts differently from non-repliers
  • Escalate to phone after 2 ignored emails

Adding a Branch

  1. In the sequence editor, click Add Branch on any step
  2. Define the split condition (same types as Step Conditions)
  3. Add steps to each branch
  4. Paths can re-converge into a shared follow-up step or end independently

Branch Analytics

Each branch reports independently:

MetricScope
Contacts per branchHow the split distributed
Per-branch conversionReply rate, meeting-booked rate per path
Winning branchSide-by-side comparison for A/B test patterns

Provider Fallback

When a primary channel resource fails, graph8 can fall back to a secondary resource automatically.

Fallback Modes

ModeBehavior
StrictIf the assigned resource fails, skip the step
RotateTry the next resource in the assigned pool
Cross-channelFail over to a different channel (e.g., email → LinkedIn)

Common Use Cases

  • Mailbox at send cap → rotate to a different mailbox in the pool
  • LinkedIn account rate-limited → wait 4 hours and retry on the same account
  • Phone number rejected (do-not-call list) → skip and continue sequence
  • WhatsApp template rejected → email fallback with the same content

Configure fallback per sequence in Sequence Settings → Fallback.

Rate Limits and Send Caps

graph8 enforces multiple caps to protect sender reputation:

Cap TypeDefaultPurpose
Per-mailbox daily cap40–100 emailsWarmup-aware; adjusts based on reputation
Per-LinkedIn daily cap50 connect + 50 messagesMatches HeyReach platform limits
Per-phone daily cap100 outbound callsConfigurable per number
Org-wide burst cap5× daily volume over 1 hourPrevents spikes that trigger spam filters
Per-contact cap1 email per day per sequencePrevents over-messaging

When a cap is hit, the step re-queues for the next available window. Caps are visible in the sequence’s Resource Allocation view.

Deliverability

Sequence performance depends on the underlying mailbox health. Before launching a high-volume sequence:

  • Warm up mailboxes for 2–3 weeks so cold sends land in the inbox, not spam
  • Verify domain DNS (SPF, DKIM, DMARC) is configured and active
  • Run placement tests weekly to catch deliverability drops early

Deliverability is configured in Settings, not Engage. See Email Warmup → for the full warmup workflow, placement testing, and reputation monitoring.

Studio Integration

Campaigns created in Studio can be launched directly into the Sequencer. When launched, the sequence inherits the campaign’s messaging, personas, and channel strategy. The link between Studio campaign and Engage sequence is maintained for end-to-end performance tracking.

Next Steps