Skip to main content

Knowledge > Runbooks > Voice Operations

Voice Operations Runbooks

Operational procedures for managing the ChurchWiseAI voice agent — provisioning new churches, debugging call issues, deploying code changes, and handling platform outages.

Architecture Summary

The voice agent is a multi-tenant LiveKit Agents v1.5 deployment. ONE agent instance serves ALL churches. Routing happens in session.py:resolve_route() — the inbound phone number is looked up in the PHONE_REGISTRY dict and church_voice_agents Supabase table to load the correct church config. No redeploy is needed when adding a new church.

  • Code: C:\dev\churchwiseai-web\voice-agent-livekit\
  • Deploy: C:\dev\lk.exe agent deploy --project cwa-voice --silent (from the voice-agent-livekit/ directory)
  • Hosting: LiveKit Cloud — project cwa-voice-9x077mph
  • LLMs: Gemini 2.5 Flash (primary), Claude Haiku 4.5 (Care Agent + fallback)
  • Phone routing: Telnyx (new customers) + Twilio legacy numbers, both via SIP trunk to LiveKit

Runbooks

RunbookWhen to Use
add-voice-agent.mdProvision a new church on the voice agent
voice-agent-debug.mdDebug a misbehaving call or routing failure
voice-agent-update.mdDeploy code changes to the voice agent
handle-missed-calls.mdReview and action missed call notifications
prayer-request-follow-up.mdProcess prayer requests received via voice
voice-call-quality-review.mdReview call quality and tune agent performance
cartesia-outage.mdRespond to a Cartesia platform outage

Key Tables

TablePurpose
church_voice_agentsPer-church config (phone, greeting, prompt override)
voice_call_logsAll call transcripts, recordings, Gemini classification
voice_prayer_requestsPrayer requests (voice + chatbot — shared table)
voice_callback_requestsCallback requests (voice + chatbot — shared table)
voice_visitor_contactsVisitor captures (voice + chatbot — shared table)

Safety Rules

  • NEVER modify the main LiveKit SIP trunk (ST_Xa3Bp9aixRFP) — only the voice-agent-engineer may touch it. An agent broke all Twilio lines by changing the + prefix.
  • Do NOT redeploy just to add a new church — update the DB row instead.
  • New customer phone lines use Telnyx; legacy lines use Twilio. Both route via SIP to LiveKit.
  • Deploy command must be run from the voice-agent-livekit/ directory.

See Also