Skip to content

Initial Stable Release(SalesFlow AI with python)

Latest

Choose a tag to compare

@ReZaiden ReZaiden released this 16 Nov 16:39

πŸ€– AI Sales Agent with Lead Generation

Live Demo Click HereπŸ‘†πŸ»

Python
OpenAI
Gradio
ntfy.sh
Pandas
PyPDF

A conversational AI sales agent capable of interacting with users,
filtering products from Excel/PDF/TXT, capturing leads, and sending
real-time notifications using ntfy.sh.
Powered by OpenAI, Gradio, and a fully modular architecture.

⚠️ Note: This project is built for development and testing.
For production, ensure secure API keys, HTTPS, and proper rate
limiting.

πŸš€ Features

  • πŸ’¬ Natural AI chat using OpenAI function-calling\
  • πŸ” Product filtering by name, min/max price\
  • πŸ“₯ Lead capturing (email & phone)\
  • 🚨 Instant notifications via ntfy.sh\
  • πŸ“š Knowledge Base from Excel, PDF, and TXT\
  • 🎨 Beautiful Gradio UI with custom themes\
  • πŸ“ Centralized logging (file + console)\
  • πŸ§ͺ Full test coverage with pytest

🧠 Tech Stack

Technology Version Description


Python 3.9+ Core language
OpenAI API Latest LLM & tool calling
Gradio 4.0+ Interactive UI
ntfy.sh API Real-time alerts
Pandas 2.0+ Excel loader
PyPDF Latest PDF parser
PyYAML Latest Config management
python-dotenv Latest Environment variables

βš™οΈ Prerequisites

Before running the project, ensure you have:

  • 🐍 Python 3.9+\
  • πŸ“¦ pip\
  • 🌐 Git\
  • πŸ”” ntfy.sh topic (free)\
  • πŸ”‘ AI API key like OpenAI

πŸ› οΈ Installation

git clone https://github.com/yourusername/SalesFlow-AI.git
cd SalesFlow-AI
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

πŸ—οΈ Edit .env file

  1. Rename .env.sample file to .env
  2. Put your environment variables to it(like AI_API_KEY)

πŸ“ƒ Run Tests

python -m pytest

▢️ Run the Project

python -m app

and then go to http://localhost:8000/

πŸ“‘ How It Works

  1. User starts the chat β†’ Agent greets as AidenAI\
  2. Smart questions detect customer needs\
  3. Product filtering using filter_products tool\
  4. Results explained naturally\
  5. Lead capture (email/phone)\
  6. Real‑time ntfy.sh alert\
  7. Logging saved in logs/*.log

🧩 Project Structure

files/
β”œβ”€β”€ info.pdf
β”œβ”€β”€ products.xlsx
└── summary.txt
logs/
└── *.log
src/
β”œβ”€β”€ agent.py
β”œβ”€β”€ tools.py
β”œβ”€β”€ data.py
β”œβ”€β”€ config.py
β”œβ”€β”€ logger.py
└── ui.py
app.py
config.yaml

πŸ”’ Security Notes

  • Keep API keys inside .env\
  • Change values in config.yaml

πŸ’‘ Future Improvements

  • Vector search with ChromaDB\
  • Database chat history\
  • Lead analytics dashboard

πŸ§‘β€πŸ’» Author

Developed by: ReZaiden
πŸ’Ό GitHub: @ReZaiden
πŸ“§ Contact: rezaidensalmani@gmail.com