Documentation Index
Fetch the complete documentation index at: https://docs.spn.wtf/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Ignitech AI Caller is a production-oriented lead qualification pipeline. It takes new leads, calls them through Vobiz and LiveKit SIP, runs an AI voice conversation, stores the structured call result in PostgreSQL, and pushes qualified follow-up work into Talking Shops CRM.Core Capabilities
- Ingest leads from IndiaMART, Facebook Lead Ads, Facebook Page messages, CSV uploads, or manual inserts.
- Normalize Indian mobile numbers before dialing.
- Enforce configured calling windows, weekdays, concurrency limits, and test whitelists.
- Create outbound SIP calls through LiveKit using a Vobiz SIP trunk.
- Run either Sarvam or OpenAI Realtime voice agents.
- Save call status, failure reason, qualification JSON, and duration.
- Retry rejected, unanswered, stale, and dispatch-failed calls up to a configured limit.
- Push completed qualifications to Talking Shops as follow-up tasks.
- Provide Streamlit dashboards for pipeline visibility and call-minute reporting.
High-Level Architecture
Main Components
| Component | Responsibility |
|---|---|
lead_fetcher.py | Polls IndiaMART and receives Facebook webhook leads |
scheduler.py | Selects callable leads and starts SIP calls |
sip_setup.py | Creates, lists, deletes, and tests SIP trunks |
agent.py | Sarvam voice-agent mode |
agent_realtime.py | OpenAI Realtime voice-agent mode |
db.py | Database schema and helper functions |
talkingshops_pusher.py | Pushes qualified calls to Talking Shops |
streamlit_app.py | Internal dashboard and CSV upload |
pages/minutes.py | Call-minute reporting |
token_server.py | LiveKit token server for browser testing |
What To Read Next
- Quickstart: run the system locally.
- Architecture: understand service boundaries.
- Vobiz and SIP Trunks: understand phone calling.
- Configuration: all environment variables.
- Operations: day-to-day runbook.