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.
- 💬 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
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
Before running the project, ensure you have:
- 🐍 Python 3.9+\
- 📦 pip\
- 🌐 Git\
- 🔔 ntfy.sh topic (free)\
- 🔑 AI API key like OpenAI
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- Rename
.env.samplefile to.env - Put your environment variables to it(like AI_API_KEY)
python -m pytestpython -m appand then go to http://localhost:8000/
- User starts the chat → Agent greets as AidenAI\
- Smart questions detect customer needs\
- Product filtering using
filter_productstool\ - Results explained naturally\
- Lead capture (email/phone)\
- Real‑time ntfy.sh alert\
- Logging saved in
logs/*.log
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
- Keep API keys inside
.env\ - Change values in config.yaml
- Vector search with ChromaDB\
- Database chat history\
- Lead analytics dashboard
Developed by: ReZaiden
💼 GitHub: @ReZaiden
📧 Contact: rezaidensalmani@gmail.com