Agent Builder agent joins room and publishes audio, but no speech in preview or production (dispatch Jakt)

Hi LiveKit team — I’m debugging a voice agent built with Agent Builder and dispatched from our mobile app. The agent connects to the room but never speaks, including in the Builder preview in the dashboard (so this doesn’t look like a client-only issue).

Setup

  • LiveKit Cloud project on the Build plan
  • Agent name / dispatch: Jakt (explicit dispatch via AgentDispatchService/CreateDispatch)
  • Pipeline: STT-LLM-TTS via LiveKit Inference (models configured in Builder; e.g. Deepgram nova-3, OpenAI gpt-5.2-chat, ElevenLabs / Cartesia TTS)
  • Optional job metadata: user_name, conversation_memory, userId, e2eeKey, roomType: agent_companion
  • End-of-call summary webhook to our backend (works for history; separate from the speech issue)

Expected

  • Welcome greeting on join (when enabled), then normal voice conversation in Builder preview and in production calls from our app.

Actual

  • Agent participant appears in the room (agent-AJ_… identity)
  • Our client shows 2 participants, 1 remote audio track, LiveKit status connected
  • No audible speech from the agent (no greeting, no response after we speak)
  • Same behavior in Agent Builder preview in the browser (after redeploy)
  • Waiting 15–20s doesn’t help (we ruled out cold start alone)

What we’ve ruled out

  • create-agent-room failing before join — we reach the room successfully (no client error toast)
  • Agent not joining — participant count is 2 and remote audio track count is 1
  • Inference credits fully exhausted on Build — May usage still shows $0 with STT/TTS/LLM usage present

May 2026 usage (Build plan, $0 total) — confusing signal

  • Agent session minutes: 1 (of 1,000 included)
  • WebRTC participant minutes: 585
  • STT (Deepgram nova-3): 4 min
  • TTS: ElevenLabs ~2,286 chars + Cartesia ~149 chars
  • LLM (OpenAI gpt-5.2-chat): ~11.6k input / ~849 output / ~38.8k cached tokens

So some inference activity exists, but agent session minutes are almost zero while WebRTC minutes are high. Not sure if that’s expected or a clue.

Questions

  1. What typically causes connected agent + remote audio track but silence, when Builder preview is also silent?
  2. Should we expect agent session minutes to track these calls, or only certain session types (preview vs dispatched production)?
  3. Any known issues with metadata / prompt templates ({{metadata.user_name}}, large conversation_memory) causing the pipeline to fail without obvious UI errors?
  4. Where should we look for errors — Agent insights (production sessions only?), agent worker logs, or a specific dashboard for Inference failures?
  5. Anything on Build plan limits (inference concurrency, agent sessions) that would present as silence rather than a clear error?

Happy to share a session ID / room name / job ID and enable support access if you point us to the right place.

Thanks!

Do you have a session ID?

If you have agent insights enabled, can you share the agent’s insights with LiveKit staff and the session ID that you shared?

Go here https://cloud.livekit.io/projects/p_/sessions/ find a session that had the issue and open it. There is an agent insight tab click share->check share with LiveKit staff.

If you have not enabled Agent Insights already, go here https://cloud.livekit.io/projects/p_settings/project scroll down to Data and privacy and enable. It can take some time for it to take effect and you may need to redeploy your agent.

Session ID : RM_yFNTGE9KuBTH

  • llm_request_run: APIStatusError: message=“Error code: 429 - {‘type’: ‘inference_quota_exceeded’, ‘error’: ‘LLM token credit quota exceeded, category: MaxGatewayCredits, remaining_limit: 0, current_usage: 0, session_id: 22c9a5d8-20ea-4041-a1e3-5dd4876cf0bc, project_id: p_4ee2vhipoer, status: QuotaStatusExceeded’, ‘hint’: ‘LLM token credit quota exhausted. Wait for the next billing cycle or upgrade your plan.’, ‘documentation_url’: ’ Pricing | LiveKit ', ‘quota_type’: ‘llm’, ‘category’: ‘MaxGatewayCredits’, ‘current_usage’: ‘0’, ‘remaining_limit’: ‘0’, ‘max_allowed’: ‘0’, ‘status’: ‘QuotaStatusExceeded’, ‘free_tier’: ‘true’, ‘session_id’: ‘22c9a5d8-20ea-4041-a1e3-5dd4876cf0bc’, ‘project_id’: ‘p_4ee2vhipoer’}”, status_code=429, retryable=True, body=LLM token credit quota exceeded, category: MaxGatewayCredits, remaining_limit: 0, current_usage: 0, session_id: 22c9a5d8-20ea-4041-a1e3-5dd4876cf0bc, project_id: p_4ee2vhipoer, status: QuotaStatusExceeded

  • llm_request_run: APIStatusError: message=“Error code: 429 - {‘type’: ‘inference_quota_exceeded’, ‘error’: ‘LLM token credit quota exceeded, category: MaxGatewayCredits, remaining_limit: 0, current_usage: 0, session_id: 2685a711-7e64-46b0-a0ad-c914251f8a44, project_id: p_4ee2vhipoer, status: QuotaStatusExceeded’, ‘hint’: ‘LLM token credit quota exhausted. Wait for the next billing cycle or upgrade your plan.’, ‘documentation_url’: ’ Pricing | LiveKit ', ‘quota_type’: ‘llm’, ‘category’: ‘MaxGatewayCredits’, ‘current_usage’: ‘0’, ‘remaining_limit’: ‘0’, ‘max_allowed’: ‘0’, ‘status’: ‘QuotaStatusExceeded’, ‘free_tier’: ‘true’, ‘session_id’: ‘2685a711-7e64-46b0-a0ad-c914251f8a44’, ‘project_id’: ‘p_4ee2vhipoer’}”, status_code=429, retryable=True, body=LLM token credit quota exceeded, category: MaxGatewayCredits, remaining_limit: 0, current_usage: 0, session_id: 2685a711-7e64-46b0-a0ad-c914251f8a44, project_id: p_4ee2vhipoer, status: QuotaStatusExceeded

Looks like you are probably out of inference credits? “inference_quota_exceeded”

status: QuotaStatusExceeded’, ‘hint’: ‘LLM token credit quota exhausted. Wait for the next billing cycle or upgrade your plan.’, ‘documentation_url’: https://livekit.com/pricing