IT Support Voice Assistant - Automated IT helpdesk support via phone calls.
QualifyBot automates IT support through intelligent voice conversations. It helps users troubleshoot issues, retrieves relevant knowledge base articles, and creates support tickets in Jira when escalation is needed.
- Intelligent Troubleshooting: RAG-powered knowledge base retrieval
- Natural Conversations: Human-like voice interactions with ElevenLabs TTS
- Automatic Ticket Creation: Creates Jira tickets on escalation
- Multi-tenant Support: Isolated knowledge bases per tenant
- Low Latency: <2s end-to-end response time
- Production Ready: Error handling, monitoring, observability
- PSTN: Twilio Voice
- STT: OpenAI Realtime API
- TTS: ElevenLabs
- LLM: OpenAI GPT-4o-mini
- RAG: ChromaDB with OpenAI embeddings
- Ticketing: Jira
- Backend: FastAPI (Python)
- State: Redis (LangGraph checkpoints)
- Database: PostgreSQL
- Package Manager: uv
# Install dependencies
make install
# Start services (Redis, PostgreSQL)
make docker-up
# Start dev server
make dev
# Health check
curl http://localhost:10000/healthSee ROADMAP.md for implementation plan.
- API: 10000 (mapped from container 8000)
- Redis: 6383 (mapped from container 6379)
- PostgreSQL: 5436 (mapped from container 5432)
QualifyBot/
├── src/
│ ├── core/ # Core services (STT, TTS, config, logging)
│ ├── agent/ # LangGraph agent (nodes, state, orchestrator)
│ ├── services/ # Business logic (Jira, KB, tickets, escalation)
│ ├── database/ # Database models and migrations
│ └── api/ # FastAPI routes
├── knowledge_base/ # Sample knowledge base documents
├── tests/
└── docker/
See RAILWAY.md for detailed Railway deployment instructions.
Quick steps:
- Push code to GitHub
- Create Railway project from GitHub repo
- Add PostgreSQL and Redis services
- Configure environment variables
- Deploy!
Work in develop branch only.
MIT