Flow Builder Basics
The flow builder is a visual, no-code tool for building automation sequences. With 22 node types, you can create complex workflows that handle cart recovery, order confirmations, lead qualification, and more.
What is a Flow?
A flow is a sequence of actions triggered by an event. For example:
Trigger: Customer abandons cart Action 1: Send WhatsApp reminder after 1 hour Action 2: Send email with discount after 24 hours Action 3: Send SMS final nudge after 72 hours End: Tag contact as "cart_recovery_attempted"
Node Types
Msghub flows have 22 node types organized into 4 categories:
Triggers (6 types)
Events that start a flow:
- Cart Abandoned — Customer leaves items in cart
- Order Shipped — Order status changes to shipped
- New Signup — New customer signs up
- Webhook — External system triggers flow
- Scheduled — Flow runs at specific time
- Keyword — Customer messages specific keyword
Actions (8 types)
Things the flow does:
- Send SMS — Send SMS message
- Send WhatsApp — Send WhatsApp message
- Send Email — Send email message
- Send RCS — Send RCS message
- API Call — Call external API
- AI Response — Get response from AI chatbot
- Assign Agent — Assign to human agent
- Update Contact — Update contact properties
Logic (6 types)
Decision-making and flow control:
- If/Else — Conditional branching
- AI Decision — AI analyzes context and decides
- Wait — Pause for specified duration
- Random Split — A/B testing (50/50 split)
- Loop — Repeat actions
- Go To — Jump to another node
Other (2 types)
- Apply Tag — Add tag to contact
- End — End the flow
Create Your First Flow
Step 1: Create Flow
- Go Flows → New Flow
- Enter flow name: "Cart Recovery"
- Click Create
Step 2: Add Trigger
- Click Add Node
- Select Triggers
- Choose Cart Abandoned
- Configure:
- Delay — How long after abandonment? (1 hour)
- Click Save
Step 3: Add First Action
- Click Add Node (below trigger)
- Select Actions
- Choose Send WhatsApp
- Configure:
- Message — "Hey! You left items in your cart. Here's 10% off to complete your order"
- Template — Select template or write message
- Click Save
Step 4: Add Wait
- Click Add Node
- Select Logic
- Choose Wait
- Configure:
- Duration — 24 hours
- Click Save
Step 5: Add Second Action
- Click Add Node
- Select Actions
- Choose Send Email
- Configure:
- Subject — "Your cart is waiting"
- Body — Email with discount code
- Click Save
Step 6: Add Another Wait
- Click Add Node
- Select Logic
- Choose Wait
- Configure:
- Duration — 48 hours
- Click Save
Step 7: Add Final Action
- Click Add Node
- Select Actions
- Choose Send SMS
- Configure:
- Message — "Last chance! Your 10% off expires tonight"
- Click Save
Step 8: Add Tag
- Click Add Node
- Select Other
- Choose Apply Tag
- Configure:
- Tag — "cart_recovery_attempted"
- Click Save
Step 9: Save Flow
- Click Save Flow
- Your flow is now active!
Trigger Types
Cart Abandoned
Triggered when customer abandons cart.
Configuration:
- Delay — How long after abandonment? (default: 1 hour)
- Minimum cart value — Only trigger if cart value exceeds threshold (optional)
Example: Trigger after 1 hour if cart value > $50
Order Shipped
Triggered when order status changes to shipped.
Configuration:
- Delay — How long after shipment? (default: immediate)
Example: Send tracking link immediately after shipment
New Signup
Triggered when new customer signs up.
Configuration:
- Delay — How long after signup? (default: immediate)
Example: Send welcome email immediately after signup
Webhook
Triggered by external system via webhook.
Configuration:
- Webhook URL — Msghub provides this
- Expected data — What data will the webhook send?
Example: Your e-commerce platform sends webhook when customer makes purchase
Scheduled
Triggered at specific time.
Configuration:
- Time — When to trigger? (e.g., 9 AM every Monday)
- Frequency — Once, daily, weekly, monthly
Example: Send weekly newsletter every Monday at 9 AM
Keyword
Triggered when customer messages specific keyword.
Configuration:
- Keyword — What keyword triggers flow? (e.g., "REFUND")
- Channel — Which channel? (SMS, WhatsApp, etc.)
Example: When customer texts "REFUND", trigger refund flow
Action Types
Send SMS
Send SMS message.
Configuration:
- Message — SMS text (up to 160 characters)
- Delay — When to send? (immediate or scheduled)
Example: "Your order has shipped! Track it here: [link]"
Send WhatsApp
Send WhatsApp message.
Configuration:
- Template — Select approved template
- Parameters — Fill in template variables
- Delay — When to send?
Example: Send order confirmation template with order number
Send Email
Send email message.
Configuration:
- Subject — Email subject
- Body — Email content (HTML or plain text)
- Delay — When to send?
Example: Send promotional email with discount code
Send RCS
Send RCS message.
Configuration:
- Card Type — Rich card or carousel
- Content — Card content, images, buttons
- Delay — When to send?
Example: Send product carousel with images and prices
API Call
Call external API.
Configuration:
- URL — API endpoint
- Method — GET, POST, PUT, DELETE
- Headers — API headers
- Body — Request body (JSON)
Example: Call your CRM API to update customer record
AI Response
Get response from AI chatbot.
Configuration:
- Prompt — What to ask the AI?
- Context — What context to provide?
Example: "Generate a personalized product recommendation for this customer"
Assign Agent
Assign conversation to human agent.
Configuration:
- Agent — Which agent? (or auto-assign)
- Priority — High, normal, low
- Message — Message to agent
Example: "Escalate to agent for refund approval"
Update Contact
Update contact properties.
Configuration:
- Property — Which property to update?
- Value — New value
Example: Update contact's "last_purchase_date" to today
Logic Types
If/Else
Conditional branching.
Configuration:
- Condition — What to check? (e.g., "cart value > $100")
- If true — What to do if condition is true?
- If false — What to do if condition is false?
Example:
If cart value > $100:
Send WhatsApp with 15% discount
Else:
Send SMS with 10% discount
AI Decision
AI analyzes context and decides.
Configuration:
- Context — What data to analyze?
- Decision options — What are the possible outcomes?
Example:
AI analyzes customer history and decides:
- High-value customer → Send WhatsApp with 20% discount
- Standard customer → Send SMS with 10% discount
- New customer → Send email with welcome offer
Wait
Pause for specified duration.
Configuration:
- Duration — How long to wait? (hours, days, weeks)
Example: Wait 24 hours before sending follow-up
Random Split
A/B testing (50/50 split).
Configuration:
- Option A — First path (50% of contacts)
- Option B — Second path (50% of contacts)
Example:
50% get 10% discount
50% get 15% discount
Compare which converts better
Loop
Repeat actions.
Configuration:
- Count — How many times to repeat?
- Delay — Delay between repetitions?
Example: Send reminder 3 times, 24 hours apart
Go To
Jump to another node.
Configuration:
- Target node — Which node to jump to?
Example: Jump back to "Wait 24 hours" node to repeat
Flow Examples
Cart Recovery
Trigger: Cart Abandoned (after 1 hour)
↓
Send WhatsApp: "Hey! You left items in your cart. Here's 10% off"
↓
Wait: 24 hours
↓
Send Email: "Your cart is waiting. Complete your order"
↓
Wait: 48 hours
↓
Send SMS: "Last chance! Your 10% off expires tonight"
↓
Apply Tag: "cart_recovery_attempted"
Order Confirmation
Trigger: Order Placed
↓
Send WhatsApp: Order confirmation template
↓
Wait: 2 hours
↓
If delivery address is valid:
Send SMS: Tracking link
Else:
Assign Agent: "Verify address"
↓
Apply Tag: "order_confirmed"
Lead Qualification
Trigger: New Signup
↓
Send Email: Welcome email
↓
Wait: 24 hours
↓
AI Decision: Analyze signup data
├─ High-intent → Send product demo link
├─ Medium-intent → Send FAQ
└─ Low-intent → Send newsletter signup
↓
Apply Tag: "lead_qualified"
Best Practices
Keep Flows Simple
- Start with simple flows (3-5 nodes)
- Add complexity gradually
- Test before deploying
Use Meaningful Names
- "Cart Recovery" not "Flow 1"
- "Order Confirmation" not "Automation"
- "Lead Qualification" not "Workflow A"
Test Flows
- Create test contact
- Manually trigger flow
- Verify each step works
- Check messages are correct
- Deploy to production
Monitor Performance
- Go Analytics → Flows
- See:
- Completion rate
- Drop-off points
- Conversion rate
- Optimize based on data
Troubleshooting
Flow not triggering
- Check trigger — Is it configured correctly?
- Check conditions — Are conditions being met?
- Check flow status — Is flow enabled?
Messages not sending
- Check action — Is it configured correctly?
- Check channel — Is the channel connected?
- Check content — Is the message valid?
Flow stuck
- Check wait nodes — Are durations correct?
- Check loops — Are they terminating?
- Check conditions — Are they evaluating correctly?