Skip to main content
Use this page as a shared mental model when aligning product, backend, and telephony teams. For internal sequence diagrams and runbooks, see your application repositories.

At a glance

Layers

LayerRole
TelephonyInbound/outbound calls, media streams, provider signatures (e.g. Twilio).
Voice runtimeReal-time audio, tool calls, session policy (e.g. LiveKit worker).
STT / TTSStreaming transcription and neural speech output.
Backend APIBookings, availability, integrations, webhooks (e.g. FastAPI).
DashboardOperators, lines, campaigns, analytics (e.g. Next.js + Supabase).
When debugging production issues, narrow which layer owns the symptom (media drop vs. tool timeout vs. integration error) before changing prompts or voice settings.

Operational concerns

Treat telephony and WebRTC as flaky by default: retries, idempotent webhooks, and clear timeouts on tool calls reduce duplicate bookings and stuck sessions.
Keep API keys and secrets out of operator-visible JSON where possible; use your vault or integration store and rotate credentials on the same schedule as the rest of your stack.
Correlate call ids, operator ids, and webhook delivery ids in logs so support can trace a single conversation across services.

Operators

How prompts, voice, and knowledge map to the runtime.

Integrations

Calendars, CRM, automation, and custom APIs.