Overview
The Flow Builder is the visual heart of the Exo-Chatbot platform, providing a powerful no-code interface for designing and automating conversational user journeys. It is a canvas-based tool where you can map out every step of a conversation by creating and connecting nodes. Each node represents a point in the conversation and can contain various elements, such as sending a message, asking the user for information, performing a backend action, or applying conditional logic.
This visual approach allows you to craft everything from simple, single-turn interactions to complex, branching dialogues that can integrate with APIs, query databases, and execute custom code. The Flow Builder is designed to be intuitive, enabling both technical and non-technical users to build, test, and manage sophisticated chatbot logic without writing a single line of code.
Key components of the Flow Builder include:
The Canvas: An infinite workspace where you arrange and connect your conversation nodes.
Nodes: The building blocks of a conversation, representing a step or a state in the user's journey.
Elements: Specific items you add inside a node, categorized as Bot Messages, Prompts, Actions, and Logic.
Connectors: The lines you draw between nodes to define the flow of the conversation from one step to the next.
Ultimately, the Flow Builder is where the abstract concept of a user conversation is transformed into a functional, automated, and interactive experience.
How to Use the Flow Builder
This guide provides a detailed walkthrough of the Flow Builder interface and its core functionalities.
2.1 Accessing the Flow Builder
To create a new flow: Navigate to Workflow -> Flows and click the + Create Flow button.
To edit an existing flow: From the Workflow -> Flows page, locate the flow in the table and click the Edit (pencil) icon in its Actions column.
2.2 The Flow Builder Interface
Top Navigation Bar: Contains the Back button, Flow Status (which indicates errors), a Language Switcher for multilingual bots, and the Preview Bot button for real-time testing.
The Canvas: The main workspace where you build your conversation by adding and connecting nodes.
Flow Map: A mini-map in the bottom-right corner that helps you navigate large, complex flows.
2.3 Building a Conversation
Configuring the Intent Trigger (First Node):
Every flow starts with an Intent Trigger node. Click it to configure.
Flow Name: The primary phrase that triggers the conversation (e.g., "Check Order Status").
Training Questions: Add alternative user phrases (e.g., "track my package").
Select Channels & Category: Assign the flow to specificchannels and an organizational category.
Adding Steps (Nodes) to the Flow:
Click the + icon on an existing node to add a new step.
This opens a menu with four categories of elements to add:
Bot Messages: To send information to the user (Text, Image, Carousel, etc.).
Prompts: To get information from the user (Text, Quick Replies, Form, etc.). User input can be stored in variables.
Actions: To perform backend operations (call an API, query a Database, Transfer to Live Chat, etc.).
Logic: To control the conversation path using Condition (If/Else) or Channel Filter.
Connecting Nodes: Drag the circular connector from one node to the next to define the conversation path. Logic nodes (like Condition) will have separate connectors for different outcomes (e.g., If/Else), allowing for branching paths.
Managing Nodes and Elements:
Click the three-dot menu on a node to Copy Step, Copy Tree (node + all subsequent nodes), or Delete Step.
Within a node, you can Edit, Delete, or Rearrange the individual elements.
Saving and Testing: The builder auto-saves. Use the Preview Bot button frequently to test your logic.
Common Use Cases
Restaurant Table Reservation:
Intent Trigger: "Book a table"
Prompt (Form): Ask for Number of guests, Date, and Time. Store these in variables.
Action (API): Call the reservation system's API with the collected variables.
Logic (Condition): Check the API response. If successful, send a confirmation message. If not, inform the user the time is unavailable.
Customer Support Ticket Creation:
Intent Trigger: "I have a problem"
Prompt (Quick Replies): "What is this regarding? [Billing] [Technical Issue]"
Prompt (Text): "Please describe your issue." Store the description in a variable.
Action (Database): Use Insert Entry to save the details to a "Support Tickets" table.
Best Practices
Keep Flows Focused: Each flow should accomplish one primary goal. Break complex processes into smaller, reusable flows linked with the Execute Flow action.
Name Nodes Clearly: Descriptive node names (e.g., "Ask for Email," "Check API for Availability") make large flows much easier to understand and debug.
Always Build Failure Paths: When using an API or Database action, always connect the Failure path to a node that gives the user a helpful message.
Use Variables Extensively: Store every piece of user input in a variable. This enables personalization and allows you to pass data between steps and to external systems.
Common Mistakes
Creating "Spaghetti" Flows: Avoid crossing connector lines all over the canvas. If a flow becomes too messy, it's a sign it should be broken into smaller, more manageable flows.
Forgetting to Store Prompt Responses: A common error is asking the user a question with a Prompt but forgetting to select a variable to store their answer in.
Dangling Nodes: Every node should be part of a complete path. A node that isn't connected to anything is a dead end and will break the conversation.
Not Setting a Default/Else Condition: When using a Condition node, always define the Else path to handle any case that doesn't match your If conditions.
Ignoring Asynchronous Behavior: API calls can take time. Design your flow with "Please wait" messages where necessary to manage user expectations.