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.

Runtime Mode

VariableExampleDescription
LLM_PROVIDERsarvam or openaiSelects preferred agent mode. The actual running file still matters.

LiveKit

VariableRequiredDescription
LIVEKIT_URLYesWebSocket URL for the LiveKit project
LIVEKIT_API_KEYYesAPI key used by agents, token server, and SIP setup
LIVEKIT_API_SECRETYesAPI secret used to sign server tokens
LIVEKIT_SIP_TRUNK_IDYes for callingOutbound SIP trunk ID used by scheduler
TOKEN_SERVER_PORTNoPort for token_server.py, default 8080

Vobiz SIP

VariableRequiredDescription
VOBIZ_PHONE_NUMBERRecommendedCaller ID / SIP number displayed when dialing
VOBIZ_SIP_DOMAINYes for trunk creationSIP endpoint/domain supplied by Vobiz
VOBIZ_SIP_USERNAMEYes for authSIP auth username
VOBIZ_SIP_PASSWORDYes for authSIP auth password

OpenAI Realtime

VariableDefaultDescription
OPENAI_API_KEYNoneRequired for agent_realtime.py
OPENAI_MODELgpt-4o-miniUsed for extraction/normalization in some flows
OPENAI_REALTIME_MODELgpt-4o-realtime-previewRealtime voice model
OPENAI_REALTIME_TRANSCRIBE_MODELwhisper-1Input transcription model
OPENAI_REALTIME_TEMPERATURE0.5Realtime generation temperature
OPENAI_REALTIME_VAD_THRESHOLD0.45Voice activity threshold
OPENAI_REALTIME_VAD_PREFIX_MS400Audio prefix padding before detected speech
OPENAI_REALTIME_VAD_SILENCE_MS700Silence duration before turn end
AUTO_HANGUP_ON_USER_END_PHRASEfalseOptional auto-hangup behavior
USER_SILENCE_HANGUP_SECONDS15User silence timeout
CALL_MAX_DURATION_SECONDS240Maximum call duration before save/hangup

Sarvam

VariableDefaultDescription
SARVAM_API_KEYNoneRequired for agent.py
STT_LANGUAGEen-INSarvam STT language
STT_MODELsaarika:v2.5Sarvam STT model
STT_FLUSH_SIGNALtrueEnables STT flush behavior
MIN_ENDPOINTING_DELAY_SECONDS0.65Turn-end tuning

Database

VariableRequiredDescription
DATABASE_URLYesPostgreSQL connection string
Docker Compose local database:
DATABASE_URL=postgresql://ignitech:ignitech@db:5432/ignitech

Scheduler

VariableDefaultDescription
SCHEDULER_INTERVAL_SECONDS60How often to scan for new leads
PUSH_INTERVAL_SECONDS120How often to push called records to CRM
MAX_CONCURRENT_CALLS1Active call limit
STALE_CALL_MINUTES5Max age for stuck calling records
MAX_CALL_RETRIES3Max retry attempts per lead
CALL_TIMEZONEAsia/KolkataCalling-window timezone
CALL_HOURS_START9Start hour, inclusive
CALL_HOURS_END20End hour, exclusive
CALL_ALLOWED_WEEKDAYSMonday-SaturdayAllowed call days
CALL_WHITELIST_NUMBERSEmptyRestrict calls to selected test numbers
DISPLAY_TIMEZONEAsia/KolkataDashboard display timezone

Lead Sources

VariableDescription
INDIAMART_API_KEYIndiaMART CRM API key
INDIAMART_POLL_INTERVAL_MINUTESIndiaMART polling interval
INDIAMART_NEW_ONLY_MODEUse IndiaMART cursor/new-only mode
FACEBOOK_ACCESS_TOKENFacebook Graph API token
FACEBOOK_PAGE_IDFacebook Page ID
FACEBOOK_APP_SECRETVerifies Facebook webhook signatures
FACEBOOK_VERIFY_TOKENWebhook verification token
FACEBOOK_AD_FORM_IDSComma-separated Lead Ad form IDs
WEBHOOK_PORTPort for Facebook webhook server

Talking Shops

VariableDefaultDescription
TALKINGSHOPS_API_URLhttps://api.talkingshops.com/v1/tasksTask creation endpoint
TALKINGSHOPS_API_KEYNoneCRM API key
TALKINGSHOPS_AUTH_HEADERx-tenant-api-keyHeader name for auth
TALKINGSHOPS_AUTH_PREFIXEmptyOptional auth prefix, such as Bearer
TALKINGSHOPS_CUSTOMERS_API_URLDerivedCustomer lookup/create endpoint
TALKINGSHOPS_OWNERSEmptyRound-robin owner_id:owner_name pairs
TALKINGSHOPS_OWNER_IDEmptyStatic task owner ID
TALKINGSHOPS_OWNER_NAMEEmptyStatic task owner name
TALKINGSHOPS_TIMEOUT_SECONDS30HTTP timeout
TALKINGSHOPS_DRY_RUNfalseLog payload without sending
TALKINGSHOPS_MARK_FAILED_ON_PUSH_ERRORtrueMark calls failed when push fails

Dashboards

VariableDescription
MINUTES_DASHBOARD_PASSWORDOptional password for /minutes Streamlit page
LEGACY_SUCCESS_CALL_ESTIMATE_MINUTESEstimate used for old successful rows without duration