+------------------------------------------------------------------+
| Browser |
| |
| +------------------+ +------------------------+ |
| | Dashboard | REST API | Voice Session (WebRTC) | |
| | (Next.js) |-------------->| LiveKit Client SDK | |
| +--------+---------+ +-----------+------------+ |
+------------|--------------------------------------|---------------+
| HTTP | WebRTC
v v
+------------------------+ +-----------------------------+
| Backend API (FastAPI) | | LiveKit Cloud |
| | REST | |
| +--------------------+ |<---------->| +-------------------------+ |
| | PostgreSQL | | webhooks | | Standard Agent Worker | |
| | - agents, sessions | | | | (shared voice engine) | |
| | - encrypted keys | | | +-------------------------+ |
| | - costs, files | | | |
| +--------------------+ | | +-------------------------+ |
| | | | Custom Agent Containers | |
| +--------------------+ | | | (user Python code) | |
| | Telephony | | | +-------------------------+ |
| | Provisioning | | +-------------+---------------+
| +--------------------+ | |
+----------+-------------+ +-----------+-----------+
| | | |
v v v v
+-------------------+ +-----+ +-------+ +-----+
| Twilio | | STT | | LLM | | TTS |
| - SIP trunks | +-----+ +-------+ +-----+
| - Phone numbers |
+-------------------+