System overview

Snapshot of the selected voice agent's wiring: tools, use cases, the request flow, and the live system prompt. Each agent built in the Builder shows up here independently.

Tools (0)
Use cases (0)
Architecture
System prompt
CodeUse caseTool chain
┌──────────────────────────────────────────────────────────────────────┐
│  HRopal portal (host page)                                           │
│   ┌───────────────────────────────────────────────────────────┐      │
│   │  localStorage.hropal_jwt   ←  user already logged in       │      │
│   └─────────────────────┬─────────────────────────────────────┘      │
│                         │ widget reads JWT                            │
│                         ▼                                              │
│   ╭─ floating mic icon (this widget) ─────────────────────────╮       │
│   │  click → open panel → POST /session/start (with JWT)      │       │
│   │                              ↓                            │       │
│   │       backend decodes JWT, stores identity, says greeting │       │
│   │                              ↓                            │       │
│   │       mic arms → MediaRecorder + Web Audio VAD            │       │
│   │       (5 animated bars show level in real time)           │       │
│   ╰────────────────────────┬──────────────────────────────────╯       │
└────────────────────────────┼──────────────────────────────────────────┘
                             │ blob (webm/opus)
                             ▼
┌──────────────────────────────────────────────────────────────────────┐
│  FastAPI backend  (this server)                                      │
│                                                                      │
│   POST /turn                                                         │
│     ├── stt.py   →  Groq Whisper Large v3 turbo  (≈ 750 ms)          │
│     │                       ↓ text                                   │
│     ├── llm.py   →  Groq Llama 3.3 70B + 15 tool schemas             │
│     │              ┌─────────────────────────────────────────┐       │
│     │              │  LLM decides whether to:                │       │
│     │              │   (a) reply directly, OR                │       │
│     │              │   (b) call one of the 15 HRMS tools     │       │
│     │              └────────────────┬────────────────────────┘       │
│     │                               │ if tool_call:                  │
│     │                               ▼                                │
│     │              tools.py  →  httpx call to HRMS API                │
│     │              Authorization: Bearer  (from session JWT)         │
│     │                               │                                │
│     │                               ▼                                │
│     │              HRopal HRMS  (https://apis-hropal.vprc.in)        │
│     │                               │                                │
│     │                               ▼ JSON response                  │
│     │              tool result fed back to LLM for narration         │
│     │                               ↓ final text                     │
│     └── tts.py   →  ElevenLabs Flash v2.5  (≈ 1.3 s)                 │
│                              ↓ mp3 bytes                              │
│                                                                      │
└────────────────────────────────────────────────┬─────────────────────┘
                                                 │
                                                 ▼ played in widget
                                          (Aria speaks)

Loaded from backend/PHASE2_PROMPT.md. Placeholders {{employeeId}}, {{employee_name}}, etc. are substituted at session-start time using the JWT claims.

Loading…