Skip to main content

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

Lead sources
  -> lead_fetcher.py / streamlit_app.py
  -> PostgreSQL leads table
  -> scheduler.py
  -> PostgreSQL calls table
  -> LiveKit SIP API
  -> Vobiz SIP trunk
  -> Lead phone
  -> LiveKit room: ignitech-lead-{lead_id}
  -> agent.py or agent_realtime.py
  -> calls.qualification JSONB
  -> talkingshops_pusher.py
  -> Talking Shops CRM task

Main Components

ComponentResponsibility
lead_fetcher.pyPolls IndiaMART and receives Facebook webhook leads
scheduler.pySelects callable leads and starts SIP calls
sip_setup.pyCreates, lists, deletes, and tests SIP trunks
agent.pySarvam voice-agent mode
agent_realtime.pyOpenAI Realtime voice-agent mode
db.pyDatabase schema and helper functions
talkingshops_pusher.pyPushes qualified calls to Talking Shops
streamlit_app.pyInternal dashboard and CSV upload
pages/minutes.pyCall-minute reporting
token_server.pyLiveKit token server for browser testing