Skip to content

An interactive chatbot flow builder with a drag-and-drop UI, node connection logic, and a modern panel-based interface.

Notifications You must be signed in to change notification settings

Sanghanmol/Chatbot-Flow-Builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– BiteSpeed Chatbot Flow Builder

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.


πŸ“Œ Overview

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


πŸš€ Features

  • πŸ“ 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

πŸ–₯️ Tech Stack

  • βš›οΈ React + Vite
  • πŸ”— React Flow
  • πŸ’Ύ Local state management (useState, useRef)
  • πŸ“ UUID for unique node IDs

πŸ“Έ UI Preview

  • 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

πŸ› οΈ Installation & Run

Clone the repo

Install dependencies

npm install

Run the app

npm run dev


πŸš€ Usage

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


🎨 UI Highlights

βœ… Drag-and-drop Nodes Panel
βœ… Color-coded nodes for easy identification
βœ… Edges clearly show connections
βœ… Responsive canvas & panels
βœ… Settings Panel for live node editing


πŸ“œ License

MIT License © 2025 - Created with ❀️ by Anmol Sangha


About

An interactive chatbot flow builder with a drag-and-drop UI, node connection logic, and a modern panel-based interface.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published