Visual Sequence Builder
The Visual Sequence Builder is a drag-and-drop canvas for designing outreach sequences that go beyond simple linear step lists. You can create branching paths, add conditional logic, let AI make routing decisions, and run A/B tests — all from a visual interface that shows the entire flow at a glance.
When to Use the Visual Builder
The standard step-by-step sequence editor is great for straightforward cadences: email on day 0, follow-up on day 3, voicemail on day 7. If every contact follows the same path, that editor is all you need.
Use the Visual Builder when you want to:
- Branch based on conditions — Send different messages depending on a contact’s industry, role, or engagement level
- Let AI decide the next step — Use AI Decide nodes to route contacts dynamically based on their profile and behavior
- Run A/B tests — Split contacts between two variants to see which message or channel performs better
- Combine multiple channels with logic — For example, send an email first, then route to SMS if the email was not opened
- Visualize complex flows — See the entire sequence as a graph instead of a flat list
Key Concepts
Before you start building, here are the core ideas:
- Nodes are the building blocks of your sequence. Each node represents a single action (send an email), a decision (check a condition), or a control point (wait 3 days).
- Edges are the connections between nodes. They define the order contacts move through the flow.
- Triggers are starting points. Every visual sequence begins with a Trigger node that defines how contacts enter the flow.
- Conditions create branches. A Condition node has two outgoing paths — Yes and No — so different contacts can take different routes.
Getting Started
Creating Your First Visual Sequence
- Go to Sequences in the left sidebar
- Click + Create Sequence
- Enter a name and optional description, then click Create
- On the sequence detail page, click the Visual Builder tab
You will see a blank canvas with a single Trigger node already placed. This is your starting point.
The Canvas Interface
The canvas is your workspace. Here is what you will find:
- Toolbar (top of the canvas) — Buttons to add new nodes, undo/redo, toggle the minimap, auto-layout, and zoom controls
- Minimap (bottom-right corner) — A small overview of your entire flow, useful for navigating large sequences. Click and drag within the minimap to pan the canvas.
- Zoom controls (bottom-left) — Zoom in, zoom out, and fit-to-view buttons. You can also scroll to zoom or pinch on a trackpad.
- Node palette — Click the Add Node button in the toolbar to see all available node types, grouped by category
To pan the canvas, click and drag on any empty space. To select a node, click it. To move a node, drag it to a new position.
Building Modes: Canvas vs Quick Mode
The Visual Builder offers two building modes to match how you prefer to work.
Canvas Mode
Canvas Mode is the full drag-and-drop experience. You place nodes anywhere on the canvas, draw connections between them, and build flows with branching and parallel paths.
This is the default mode and gives you complete control over the sequence layout and logic.
Quick Mode
Quick Mode is a simplified, form-based interface for building linear sequences. Instead of dragging nodes on a canvas, you add steps to an ordered list using forms.
Quick Mode is ideal when:
- You want a fast, linear sequence without branching
- You are more comfortable with forms than drag-and-drop
- You are building a simple cadence and want to get it done quickly
Quick Mode sequences are fully compatible with Canvas Mode. You can start in Quick Mode and switch to Canvas Mode later if you need to add branching or conditions. When you switch, ScendCore converts your linear steps into a visual graph automatically.
Switching Between Modes
To switch modes, use the Canvas / Quick toggle at the top of the Visual Builder tab. Switching from Quick to Canvas converts your steps into nodes and edges. Switching from Canvas to Quick is only available when your flow is linear (no branches).
Node Types Reference
Triggers
Trigger (Manual Enroll)
Every visual sequence starts with a Trigger node. This node defines the entry point — when you enroll a contact in the sequence (individually, in bulk, or from a list), they begin at this node and move to whatever is connected next.
Configuration:
- No configuration needed. The Trigger node is placed automatically when you create a visual sequence.
Tip: You can only have one Trigger node per sequence.
Actions
Sends a personalized email to the contact using your configured sender profile and AI agent.
Configuration:
- Subject line override (optional) — Provide a specific subject, or leave blank to let the AI generate one
- Messaging overrides (optional) — Angle, CTA, and value proposition hints for the AI
- Sender profile — Inherited from the sequence settings, or override per node
Tip: If the contact does not have an email address, the step is skipped and the enrollment advances to the next node.
SMS
Sends a text message to the contact via your configured Twilio number.
Configuration:
- Messaging overrides (optional) — Angle, CTA, and value proposition to guide the AI’s message
- Phone number — Uses the contact’s primary phone number
Prerequisites: A Twilio phone number must be configured under Settings > Phone Numbers.
Voice
Places a phone call to the contact. Can be used for voicemail drops or live AI conversations depending on your agent configuration.
Configuration:
- Job type — Choose between Initial Outreach, Follow-up, Re-engagement, or Voicemail Drop
- Messaging overrides (optional) — Talking points for the AI
Prerequisites: A Twilio phone number must be configured, and the contact must have a phone number on file.
Logic
Wait
Pauses the contact’s progression for a specified amount of time before moving to the next node.
Configuration:
- Duration — Number value
- Unit — Minutes, hours, or days
Example: A Wait node set to 3 days between an email and a follow-up ensures proper spacing between touches.
Tip: For testing, set waits to 0 or 1 minute. The sequence processor runs every 2 minutes, so steps will fire quickly.
Condition
Routes contacts down different paths based on a rule you define. Condition nodes always have exactly two outgoing connections: Yes (the condition is true) and No (the condition is false).
Configuration:
- Field — The contact or enrollment field to evaluate (e.g.,
industry,title,lead_score) - Operator — equals, not equals, contains, greater than, less than, is set, is not set
- Value — The value to compare against
Example: A Condition node checking industry equals Healthcare routes healthcare contacts to a specialized email while everyone else gets the general version.
Tip: You can chain multiple Condition nodes to create multi-level branching. But if you find yourself chaining more than two or three, consider using an AI Decide node instead.
End
Marks the end of a path. When a contact reaches an End node, their enrollment is marked as completed for that branch.
Configuration:
- No configuration needed.
Tip: Every branch in your flow should eventually reach an End node. If a branch has no End node, the contact’s enrollment will remain active indefinitely after the last step.
AI Nodes
AI Decide
Lets the AI agent evaluate a contact’s profile and engagement history to decide which path they should take. Instead of writing rigid rules, you describe the decision in plain language and let the AI route contacts dynamically.
Configuration:
- Decision prompt — Describe the decision the AI should make. For example: “Should this contact receive the enterprise pitch or the SMB pitch?”
- Options — Define two or more named outcomes (each becomes an outgoing connection)
Example: An AI Decide node with the prompt “Is this contact likely to respond to a technical deep-dive or a business ROI pitch?” and options “Technical” and “Business” will evaluate each contact’s title, industry, and past engagement to pick the right path.
Tip: AI Decide is powerful for situations where a simple field check is not enough. Use it when the routing decision depends on multiple factors or requires judgment.
AI Qualify
Uses the AI agent to score or qualify a contact based on your ICP profile and the contact’s data. The result determines which path the contact follows.
Configuration:
- Qualification criteria — What makes a contact qualified vs. unqualified
- Outgoing connections — Qualified and Unqualified paths
Example: An AI Qualify node at the start of a sequence can filter out contacts that do not match your ICP before spending outreach effort on them.
Advanced
A/B Split
Randomly splits contacts between two variants so you can test different approaches. You set the allocation percentage, and ScendCore randomly assigns each contact to Variant A or Variant B.
Configuration:
- Split ratio — The percentage of contacts that go to Variant A (the rest go to Variant B). Default is 50/50.
Example: Send 50% of contacts a short, direct email and the other 50% a longer, story-driven email. After enough contacts have gone through, compare the response rates.
Tip: Let the A/B test run for at least 50-100 contacts before drawing conclusions. Small sample sizes can be misleading.
Notify Rep
Sends a notification to the contact’s assigned sales rep (or a specific team member). Useful for alerting humans at key moments in the sequence.
Configuration:
- Notification method — In-app notification, email, or both
- Message template — The notification message. Supports variables like
{{contact.name}}and{{contact.company}}
Example: After an AI Qualify node marks a contact as highly qualified, a Notify Rep node can alert the assigned rep to follow up personally.
Building with AI
How “Build My Sequence” Works
Instead of placing nodes one by one, you can describe the sequence you want in plain language and let AI build it for you. Click the Build My Sequence button in the toolbar, type your description, and ScendCore generates a complete visual flow.
The AI creates the appropriate nodes, connects them in the right order, and sets reasonable defaults for delays and configuration. You can then fine-tune any node’s settings.
Example Prompts
Here are some prompts and what they generate:
| Prompt | Generated Flow |
|---|---|
| ”3-step email cadence over 10 days” | Trigger > Email > Wait 3d > Email > Wait 4d > Email > End |
| ”Email first, then SMS if no reply after 2 days” | Trigger > Email > Wait 2d > Condition (replied?) > Yes: End / No: SMS > End |
| ”A/B test two different email approaches” | Trigger > A/B Split > Variant A: Email (approach 1) / Variant B: Email (approach 2) > End |
| ”Qualify contacts first, then outreach to qualified ones” | Trigger > AI Qualify > Qualified: Email > Wait 3d > Email > End / Unqualified: End |
| ”Multi-channel: email, wait 3 days, voicemail, wait 2 days, follow-up email” | Trigger > Email > Wait 3d > Voice (voicemail) > Wait 2d > Email > End |
Tips for Writing Effective Prompts
- Be specific about timing. “Email every 3 days” is clearer than “email sequence.”
- Mention channels explicitly. Say “email then SMS” rather than “two touches.”
- Describe the logic. “If the contact is in healthcare, send the compliance angle” tells the AI to add a Condition node.
- Keep it conversational. You do not need to use technical terms — the AI understands natural language.
Connecting Nodes
How to Create Connections
To connect two nodes:
- Hover over the source node — you will see a small connection handle (a circle) appear on the bottom or right edge
- Click and drag from the handle to the target node
- Release over the target node to create the connection
The connection appears as an arrow showing the direction contacts will flow.
Deleting Connections
To remove a connection, click on the edge (the line between two nodes) to select it, then press Delete or Backspace.
Connection Validation Rules
ScendCore enforces rules to keep your flow valid:
- Trigger nodes can only have outgoing connections, not incoming ones
- End nodes can only have incoming connections, not outgoing ones
- Condition nodes must have exactly two outgoing connections labeled Yes and No
- A/B Split nodes must have exactly two outgoing connections labeled Variant A and Variant B
- Circular connections are not allowed — you cannot create a loop back to an earlier node
- Each non-branching node can have only one outgoing connection
If you try to create an invalid connection, the canvas will show a warning and prevent the connection.
Condition Node: Yes/No Branches
When you connect a Condition node to its first target, that connection is labeled Yes (the condition is true). The second connection is labeled No (the condition is false). You must connect both branches before the sequence can be activated.
If you need to skip one branch (for example, you only want to act on the Yes case), connect the No branch directly to an End node.
A/B Split: How Variant Allocation Works
When a contact reaches an A/B Split node, ScendCore generates a random number and routes the contact based on your configured split ratio. For a 50/50 split, each contact has an equal chance of going to Variant A or Variant B. For a 70/30 split, 70% go to A and 30% go to B.
The assignment is random per contact and recorded in the enrollment history so you can analyze results later.
Saving and Managing
Save
Click the Save button in the toolbar to save your flow. The sequence stores the complete graph — node positions, configurations, and connections — so you can close the page and return later to pick up where you left off.
Auto-Layout
If your flow looks messy after moving nodes around, click the Auto-Layout button in the toolbar. ScendCore rearranges all nodes into a clean, readable layout while preserving all connections.
Converting Existing Linear Sequences
If you have an existing sequence built with the step-by-step editor, you can convert it to a visual flow:
- Open the sequence
- Click the Visual Builder tab
- ScendCore automatically converts your linear steps into a chain of nodes on the canvas
From there, you can add branching, conditions, or any other visual-only node types. Note that once you add branching logic, you cannot switch back to the linear editor for that sequence.
Enrollment and Execution
How Enrollments Work
Enrolling contacts in a visual sequence works the same way as linear sequences — individually, in bulk, or from a list. The difference is in how the enrollment progresses.
Instead of moving through steps 1, 2, 3 in order, the contact moves through the graph. At each node, the system executes the node’s action (send an email, wait, evaluate a condition) and then follows the outgoing connection to the next node.
How the Execution Engine Advances Contacts
The sequence processor runs every 2 minutes and checks for enrollments that are ready to advance:
- If the current node is a Wait node and the wait duration has elapsed, the contact moves to the next node
- If the current node is an Action node (Email, SMS, Voice), the system creates an agent job to draft and send the message, then advances to the next node
- If the current node is a Condition node, the system evaluates the rule and routes the contact down the Yes or No path
- If the current node is an AI Decide or AI Qualify node, the AI evaluates the contact and picks the appropriate path
- If the current node is an A/B Split node, the system randomly assigns the contact to a variant
- If the current node is an End node, the enrollment is marked as completed
Stop Conditions
Just like linear sequences, visual sequences support automatic stop conditions:
- Stop on reply — If a contact replies to any message in the sequence, their enrollment is paused
- Stop on meeting — If a meeting is booked with the contact, the enrollment is paused
These are configured in the sequence settings and apply to the entire flow regardless of which branch the contact is on.
Path History and Tracking
ScendCore records every node a contact passes through, creating a complete path history for each enrollment. You can see:
- Which nodes the contact visited and when
- Which branch they took at each Condition or AI Decide node
- Which variant they were assigned at an A/B Split
- The AI’s reasoning for any AI Decide or AI Qualify decisions
This history is available on the enrollment detail view and is useful for debugging flows and understanding why a contact received a particular message.
Monitoring Performance
Enrollment Path Visualization
On the sequence detail page, you can see a heatmap overlay on your visual flow showing how many contacts have passed through each node. This helps you identify:
- Drop-off points — Nodes where contacts are getting stuck or pausing
- Popular branches — Which conditions or AI decisions route most contacts
- Bottlenecks — Wait nodes that might be too long
AI Optimize
Click the AI Optimize button to get AI-powered suggestions for improving your sequence. The AI analyzes your flow structure, enrollment data, and engagement metrics to recommend changes such as:
- Adjusting wait durations based on response patterns
- Rewriting underperforming email angles
- Rebalancing A/B splits based on early results
- Adding or removing steps to improve conversion
Interpreting Suggestions
AI Optimize suggestions include:
- What to change — A specific, actionable recommendation
- Why — The data or reasoning behind the suggestion
- Expected impact — What improvement you might see
Suggestions are recommendations, not automatic changes. Review each one and apply the ones that make sense for your situation.
Tips and Best Practices
Start Simple, Add Complexity Later
Begin with a linear flow — Trigger, a few emails with waits, and an End node. Once that is working and you have enrollment data, add conditions or AI nodes to optimize the flow. It is easier to improve a working sequence than to debug a complex one from scratch.
Always Have an End Node
Every branch in your flow should terminate with an End node. Without one, contacts who reach the end of a branch will stay in an “active” state indefinitely, which makes your enrollment counts misleading and can cause confusion.
Test with Short Delays
Before launching a sequence to real contacts, test it with wait durations set to minutes instead of days. Enroll a test contact and watch them move through the flow in real time. Once you are confident the flow works correctly, update the waits to production values.
Use AI Decide for Dynamic Routing
If you find yourself building a chain of three or more Condition nodes to handle different scenarios, consider replacing them with a single AI Decide node. Describe the decision in plain language and let the AI handle the routing. This is easier to maintain and adapts better to edge cases.
Name Your Nodes
Give each node a descriptive label (e.g., “Day 3 Follow-up Email” or “Check if Enterprise”) instead of relying on the default names. This makes the flow easier to understand at a glance, especially for teammates who did not build it.
Use Notify Rep at Key Moments
Place Notify Rep nodes after high-value events — a contact being qualified by AI, reaching a specific branch, or completing the sequence. This keeps your sales team informed without requiring them to monitor the sequence dashboard constantly.