
- Automated nurturing: Welcome sequences, onboarding flows, re-engagement campaigns
- Triggered emails: Send the right message at the right moment based on contact actions
- Behavioral responses: React to email opens, clicks, bounces, and custom events
Automation Lifecycle
Automations have three states that control their behavior:
Workflow:
- Create automation in Draft mode
- Configure trigger and add nodes
- Activate to go live and start enrolling contacts
- Pause when needed—active contacts continue their journey
- Delete performs soft-delete with recovery capability
Triggers
Triggers define when contacts enter an automation. They’re based on events that appear in the contact timeline.Trigger Frequency
Event Types
Automations can trigger on any of these timeline events:Contact Events
List Events
Segment Events
Email Events
Custom Events
Field-Specific Triggers
Forcontact.updated events, you can filter by specific fields that changed:
Core Fields: first_name, last_name, phone, external_id, timezone, language, photo_url
Address Fields: address_line_1, address_line_2, country, state, postcode
Custom Fields:
- String:
custom_string_1throughcustom_string_5 - Number:
custom_number_1throughcustom_number_5 - Date:
custom_datetime_1throughcustom_datetime_5 - JSON:
custom_json_1throughcustom_json_5
Conditional Triggers
Add segment conditions to filter which contacts enter the automation. For example:- Trigger on
list.subscribedbut only for contacts wherecountry = "US" - Trigger on
contact.updatedbut only whencustom_number_1 > 100
Node Types
Nodes are the building blocks of automation workflows. They’re divided into action nodes (linear flow) and branching nodes (multi-path).Action Nodes
Branching Nodes
Node Details
Delay Node
Pauses the contact’s journey for a specified duration before continuing to the next node.- Duration: 1 to 365
- Unit:
minutes,hours, ordays
Email Node
Sends an email template to the contact.- Template ID: Required. Select from workspace templates.
- Subject Override: Optional. Replace template subject line.
- From Override: Optional. Replace sender email/name.
Filter Node
Routes contacts based on segment conditions. Contacts matching the conditions continue on the “Yes” path; others take the “No” path or exit. Uses the same condition builder as segments—supports contact fields, custom events, and complex AND/OR logic.A/B Test Node
Splits contacts into variants for testing different paths.- Variants: 2 to 4 variants (A, B, C, D)
- Weights: Each variant has a weight (1-100%), must sum to 100%
- Deterministic: Same contact + node always gets the same variant (uses FNV-32a hash)
List Status Branch Node
Routes contacts based on their subscription status in a specific list:Webhook Node
Sends contact and automation data to an external URL via HTTP POST.- URL: Required. Must start with
http://orhttps:// - Secret: Optional. Sent as
Authorization: Bearer {secret}header
Visual Flow Editor
The visual flow editor provides a drag-and-drop canvas for building automation workflows.Building Workflows
- Start with Trigger: Every automation begins with a trigger node
- Add Nodes: Use the node palette or floating ”+” buttons on unconnected outputs
- Connect Nodes: Drag connections between nodes
- Configure: Click a node to open its configuration panel
Contact Journeys
Each contact’s progress through an automation is tracked as a “journey” with full execution history.Journey States
Exit Reasons
When a contact exits early, the reason is recorded:Timeline Events
Automation activity is recorded in the contact timeline:automation.start— Contact enrolled in automationautomation.end— Contact completed, exited, or failed
Execution Engine
Automations run on a background scheduler that processes contacts through their workflows.How It Works
- Polling: Scheduler runs every 10 seconds
- Batching: Contacts are processed in batches for efficiency
- Fair Distribution: Round-robin across workspaces
Node Processing
- Multi-node execution: Up to 10 nodes processed per tick (prevents runaway loops)
- Crash recovery: State is persisted after each node
- Delay handling: Delay nodes schedule future execution at
scheduled_attime
Retry Logic
When node execution fails:- Increment retry count
- Schedule retry with exponential backoff: 1min, 2min, 4min, 8min…
- After max retries (default: 3), mark as
failed
Statistics
Track automation performance with built-in statistics.Automation-Level Stats
Node-Level Stats
Each node tracks:- Entered: Contacts that reached this node
- Completed: Successfully processed
- Failed: Encountered errors
- Skipped: Bypassed (e.g., wrong branch)
Best Practices
- Start simple: Begin with trigger → delay → email, then add complexity
- Use filters wisely: Segment contacts within flows for targeted messaging
- Test before going live: Use a small test list before activating for production
- Monitor statistics: Review enrolled, completed, and failed counts regularly
- Check execution logs: Debug issues using the contact journey history
- Name meaningfully: Use descriptive automation names for easy identification
- Consider frequency: Choose
oncevsevery_timebased on your use case
