Automation Flow Builder
Overview
The Whoxa CRM Automation Flow Builder is a visual, node-based chatbot engine. Business owners can design automated conversation flows that trigger on incoming WhatsApp messages and guide customers through multi-step interactions — without writing any code.
Flows are built using a drag-and-drop canvas (powered by React Flow). Each flow consists of nodes connected by edges.
Key Concepts
| Concept | Description |
|---|---|
| Automation | A named flow with a trigger type and a set of nodes/edges |
| Node | A single action or decision point in the flow |
| Edge | A connection between two nodes defining the execution path |
| Trigger | The event that starts the automation (e.g., first message from a contact) |
| Session | An active instance of an automation running for a specific conversation |
| Execution | A recorded run of a flow or individual node |
Node Types
Message Node
Sends a WhatsApp message to the customer. Supports:
- Text
- Image, video, audio, document
- Interactive buttons
- Interactive list
Button Card Node
Sends a message with up to 3 quick-reply buttons. Each button connects to a different next node based on customer's tap.
Condition Router Node
Evaluates a condition and routes to different branches:
- Variable equals/contains value
- Contact field matches
- Time-based conditions
Contact Form Node
Collects information from the customer (name, email, phone) and saves it to their contact record.
API Call Node
Makes an outbound HTTP request to an external service during the flow:
- Supports GET / POST
- Can inject response values as flow variables
- Used for order lookups, CRM sync, etc.
Delay Node
Pauses the flow execution for a configured duration before proceeding to the next node. Useful for spacing out messages.
Agent Transfer Node
Ends the automated flow and assigns the conversation to a human agent. Sends a handoff notification.
AI Transfer Node
Routes the conversation to the configured AI model for intelligent, context-aware responses.
Fallback Node
Handles unrecognized or unexpected input. Sends a fallback message and optionally retries the previous node.
Create an Automation
- Go to Automation in the left sidebar.
- Click Create Automation.
- Fill in:
- Name — descriptive name (e.g., "New Customer Welcome")
- Trigger type — when should this flow start
- Status — Active or Inactive
- Click Create.
- The flow canvas opens. Drag nodes from the left panel onto the canvas.
- Connect nodes by dragging from one node's output handle to another's input handle.
- Click any node to configure it (message text, button labels, conditions, etc.).
- Click Save Flow when done.
Subscription Limit
The number of active automations is limited by your plan (automation_limit). The system blocks creation when the limit is reached.
How Flows Execute
When an inbound message arrives via webhook:
- The webhook handler checks if there is an active automation session for the conversation.
- If a session exists → continue the flow from the last node.
- If no session and trigger type matches → start a new session and execute from the first node.
- If no automation matches → fall back to default messages (welcome, out-of-hours, delayed reply).
Each node execution is logged for debugging and analytics.
Template-Based Automations
Pre-built automation templates are available in the Automation Templates library. You can import a template and customise it instead of building from scratch.
Go to Automation → Templates to browse available options.
Best Practices
- Keep flows short — aim for under 7 nodes before a human transfer.
- Always add a Fallback Node to handle unexpected replies.
- Use Delay Nodes between messages to avoid message flooding.
- Test flows using a personal WhatsApp number before going live.
- Give clear, numbered options in Button/List nodes (customers prefer structured choices).
- Use API Call Nodes to personalise responses with live data (order status, account info).