An interactive chatbot flow builder with a drag-and-drop UI, node connection logic, and a modern panel-based interface.
Built with React + React Flow + MUI.
BiteSpeed Flow Builder allows users to:
β
Create Text Nodes representing messages
β
Drag and drop nodes from the Nodes Panel
β
Connect nodes using edges to define conversation flow
β
Edit node text via Settings Panel
β
Save flows with validation for incomplete connections
-
π Text Node
- Represents a chatbot message
- Multiple nodes can exist in a single flow
- Added to canvas via drag-and-drop
-
π Edges
- Connect nodes to define flow order
- Source handle: only one outgoing edge allowed
- Target handle: can have multiple incoming edges
-
π Settings Panel
- Appears when a node is selected
- Edit node text dynamically
-
πΎ Save Button
- Validates flow
- Shows error if multiple nodes have empty target handles
- Logs nodes & edges to console on successful save
-
π¨ UI
- Color-coded nodes & handles
- Panels for node selection and settings
- Responsive and modern layout
- βοΈ React + Vite
- π React Flow
- πΎ Local state management (useState, useRef)
- π UUID for unique node IDs
- Left panel: Nodes Panel for dragging new nodes
- Canvas: Main flow area to place & connect nodes
- Right panel: Settings Panel for editing selected node
- Edges: Connect nodes to define chatbot conversation
- git clone https://github.com/Sanghanmol/Chatbot-Flow-Builder.git
- cd my-app
npm install
npm run dev
1οΈβ£ Drag a Message node from Nodes Panel to canvas
2οΈβ£ Drag from a nodeβs source handle to another nodeβs target handle to connect them
3οΈβ£ Select a node to edit text via Settings Panel
4οΈβ£ Click Save β Validates flow and logs nodes & edges
5οΈβ£ Add multiple nodes and connect freely to build chatbot flow
β
Drag-and-drop Nodes Panel
β
Color-coded nodes for easy identification
β
Edges clearly show connections
β
Responsive canvas & panels
β
Settings Panel for live node editing
MIT License Β© 2025 - Created with β€οΈ by Anmol Sangha