Workflows
Build visual automations with triggers, conditions, delays, and 60+ action types.
The Workflows module is a visual automation builder. You create workflows by connecting triggers, conditions, and actions on a drag-and-drop canvas. When an event occurs - like a new contact being created or a form being submitted - the workflow executes its steps automatically.
Workflow List
The workflows page shows all your automations with their name, status, trigger type, and description. Workflows can be organized into folders.
Statuses
| Status | Meaning |
|---|---|
| Draft | Not yet active - edit freely, no contacts will be enrolled |
| Active | Live and executing - triggers fire and contacts are enrolled automatically |
| Paused | Temporarily stopped - no new enrollments, but in-progress contacts continue |
| Inactive | Deactivated - must be republished to activate |
Actions
From the list, you can duplicate, move to a folder, or delete workflows. Select multiple workflows for bulk operations.
The Visual Builder
Click Edit on any workflow to open the canvas. The builder has three main areas:
- Canvas (center) - Where you arrange and connect nodes visually
- Node palette (right panel) - Drag triggers and actions from here onto the canvas
- Configuration panel (right panel) - Appears when you click a node to configure it
Canvas Controls
- Drag nodes to reposition them
- Connect nodes by dragging from an output port to an input port
- Zoom and pan using scroll and click-drag on the background
- Undo / Redo with Ctrl+Z and Ctrl+Shift+Z (up to 50 states)
- Delete a node by selecting it and pressing Delete
- Changes auto-save as you work
Triggers
Every workflow starts with a trigger - the event that enrolls a contact. There are 40+ triggers organized by category:
Contact Events
- Contact created, updated, or deleted
- Tag added or removed
- Do-Not-Disturb enabled
- Birthday or custom date reminder
- Contact replied to a message
- Note or task added
Email Events
- Email delivered, opened, clicked, or bounced
- Tracked link clicked
Pipeline Events
- Opportunity created, stage changed, or status changed
- Stale opportunity (no activity for a set period)
Form and Survey Events
- Form submitted
- Survey submitted
Payment Events
- Payment received
- Invoice created, sent, viewed, paid, or overdue
- Subscription created or cancelled
Document Events
- Document sent, viewed, signed, or declined
Appointment Events
- Appointment booked, confirmed, cancelled, rescheduled, no-show, or completed
Social and Ads
- Lead form submissions from Facebook, Google, TikTok, or LinkedIn
- Comments on Facebook, Instagram, or TikTok posts
System Triggers
- Inbound webhook (receive data from external systems)
- Scheduled (cron expression, recurring schedule, or one-time)
- Contact date field matches today
Action Types
After the trigger, add action nodes to define what the workflow does. There are 60+ action types:
Communication
Send messages across channels - email, SMS, voicemail drop, Facebook Messenger, Instagram DM. Send review requests, internal notifications, or Slack messages. Mark conversations as read or edit conversation properties.
CRM Actions
Update, create, find, or delete contacts. Assign contacts to users. Add or remove tags and notes. Adjust engagement scores. Create tasks. Enable or disable Do-Not-Disturb.
Pipeline Actions
Create, update, or remove opportunities. Find opportunities by criteria. Manage opportunity ownership and followers.
Logic and Flow
Control the path contacts take through the workflow:
- Condition - Branch based on a single true/false evaluation (e.g., "Does email contain @gmail.com?")
- If/Else multi-branch - Evaluate multiple conditions with separate paths for each
- A/B split - Randomly distribute contacts between paths by percentage
- Wait - Pause for a set duration (seconds, minutes, hours, days, or weeks)
- Wait for reply - Pause until the contact responds, with an optional timeout
- Wait for condition - Pause until a field value changes
- Go To - Jump to another node in the workflow
- Set variable - Store a value for use in later nodes
Data Operations
Transform data inline - math operations, text formatting, number formatting, and date/time formatting.
Integrations
Connect to external systems - fire webhooks, create invoices, send documents, charge via Stripe, or connect through Zapier.
Workflow Management
Enroll a contact in another workflow, remove from a workflow, or enroll in a campaign.
Conditions and Branching
Condition nodes let you send contacts down different paths based on their data.
What You Can Evaluate
- Any contact field (name, email, phone, company, custom fields)
- Engagement score
- Lifecycle stage
- Tags (has tag, does not have tag)
Available Operators
| Category | Operators |
|---|---|
| Text | Equals, contains, starts with, ends with, is any of, is none of |
| Empty checks | Is empty, is not empty, is set, is not set |
| Numeric | Greater than, less than, greater/less than or equal |
| Date | Before, after, on or before, on or after |
Branching
A condition node has two outputs: Yes (condition met) and No (condition not met). Connect each output to the next step for that path.
The multi-branch node lets you define multiple conditions, each with its own output path, plus a default path for contacts that match none.
A/B Testing
Split nodes randomly distribute contacts between paths based on percentages you define.
- Add up to 4 variants
- Set the percentage for each (must total 100%)
- Use the Distribute Evenly button to auto-balance
- The tracked variant tracks conversion so you can measure which path performs better
Delays and Waits
| Node | What It Does |
|---|---|
| Wait | Pause for a fixed duration (e.g., 3 days, 2 hours) |
| Wait for reply | Pause until the contact responds on a specific channel, with an optional timeout |
| Wait for condition | Pause until a contact field changes to a specific value |
| Wait for link click | Pause until the contact clicks a link in a previously sent email |
| Wait for email event | Pause until an email is opened, clicked, or bounced |
Enrollment and Settings
How Contacts Enter
Contacts are enrolled automatically when the trigger event occurs. You can also manually enroll a contact using the Enroll Contact button in the toolbar.
Workflow Settings
Click the gear icon in the toolbar to configure:
- Re-entry - Whether the same contact can enter the workflow more than once
- Time window - Restrict execution to specific hours and days of the week, in a specific timezone
- Exit conditions - Automatically stop the workflow for a contact if they reply or unsubscribe
- Communication defaults - Set the sender name, email address, and phone number for messages sent by this workflow
Testing a Workflow
Before publishing, test your workflow to verify the logic:
- Click the test button (flask icon) in the toolbar
- Select a contact
- The workflow runs in test mode - no real messages are sent, but the execution is logged
- Check the Execution Logs to see which path was taken and whether each step succeeded
Execution Logs
Click the execution logs button (scroll icon) to see a history of every workflow run.
Each entry shows:
- Contact name
- Status (running, completed, failed, cancelled)
- Start time and duration
- Current node (if still running)
- Error details (if failed)
Expand an entry to see per-node results - which nodes executed, which were skipped, and how long each took.
Contact Path Highlighting
Click the eye icon in the toolbar and enter an execution ID to highlight the exact path a contact took through the workflow on the canvas. This helps you visualize branching and debug unexpected behavior.
Publishing
When your workflow is ready:
- Click Publish in the toolbar
- The workflow becomes Active - triggers fire and contacts enroll automatically
- To pause temporarily, click Pause - new enrollments stop, but in-progress contacts continue
- To deactivate, unpublish the workflow - it returns to Inactive status
Changes to an active workflow apply immediately. Contacts already mid-execution continue on the version they started with.
Summary
| Capability | Detail |
|---|---|
| Triggers | 40+ event types across contacts, email, pipelines, forms, payments, appointments, and more |
| Actions | 60+ node types for communication, CRM, logic, data, and integrations |
| Branching | Single condition, multi-branch, and A/B split nodes |
| Delays | Fixed duration, wait for reply, wait for condition, wait for email event |
| Testing | Test mode with logged execution, contact path highlighting |
| Enrollment | Automatic via triggers or manual via toolbar button |
| Settings | Re-entry rules, time windows, exit conditions, sender defaults |
| Auto-save | Changes save automatically as you work |