# \#node-js

**URL:** https://community.livekit.io/tag/node-js/32.md

[Latest](https://community.livekit.io/latest.md) · [Categories](https://community.livekit.io/categories.md) · [Tags](https://community.livekit.io/tags.md)

---

## [Outbound call - waitForParticipant doesn't wait for the participant to answer the call](https://community.livekit.io/t/outbound-call-waitforparticipant-doesnt-wait-for-the-participant-to-answer-the-call/2025)

<div class="topic-metadata">

**Author:** [@royibernthal](https://community.livekit.io/u/royibernthal)\
**Replies:** 11\
**Last updated:** [September 28, 2026, 9:09am UTC](https://community.livekit.io/t/outbound-call-waitforparticipant-doesnt-wait-for-the-participant-to-answer-the-call/2025 "2026-09-28T09:09:18Z")

</div>

I’m using the Node SDK. I’m following this doc to make outbound calls: In my backend, I’m using createDispatch: const api = new LiveKitAPI({ host: process.env.LIVEKIT\_URL!, apiKey: process.env.LIVEKIT\_API\_KEY!, …

---

## [\[FR\] WarmTransferTask: add cooperative cancellation and a teardown-complete lifecycle](https://community.livekit.io/t/fr-warmtransfertask-add-cooperative-cancellation-and-a-teardown-complete-lifecycle/1863)

<div class="topic-metadata">

**Author:** [@Dan\_Tran](https://community.livekit.io/u/Dan_Tran)\
**Replies:** 3\
**Last updated:** [August 27, 2026, 8:19am UTC](https://community.livekit.io/t/fr-warmtransfertask-add-cooperative-cancellation-and-a-teardown-complete-lifecycle/1863 "2026-08-27T08:19:57Z")

</div>

Feature request WarmTransferTask represents a long-running workflow, but it does not currently expose a supported cancellation or deadline API. Applications commonly need to stop a warm transfer when: the original cal…

---

## [Openai TTS hardcodes response\_format: 'pcm' and never checks the response, so a compatible endpoint returning anything else is played as raw samples](https://community.livekit.io/t/openai-tts-hardcodes-response-format-pcm-and-never-checks-the-response-so-a-compatible-endpoint-returning-anything-else-is-played-as-raw-samples/1903)

<div class="topic-metadata">

**Author:** [@abidullahcs.uk](https://community.livekit.io/u/abidullahcs.uk)\
**Replies:** 2\
**Last updated:** [August 24, 2026, 3:33pm UTC](https://community.livekit.io/t/openai-tts-hardcodes-response-format-pcm-and-never-checks-the-response-so-a-compatible-endpoint-returning-anything-else-is-played-as-raw-samples/1903 "2026-08-24T15:33:21Z")

</div>

Hi team, Following on from livekit/agents#6930, which fixed a related problem in the Python plugin, I went looking for the same pattern here. The Node plugin has a different but related gap, and it fails more quietly. …

---

## [Unable to run livekit-server-sdk in Convex default runtime](https://community.livekit.io/t/unable-to-run-livekit-server-sdk-in-convex-default-runtime/1725)

<div class="topic-metadata">

**Author:** [@PodoTip](https://community.livekit.io/u/PodoTip)\
**Replies:** 3\
**Last updated:** [July 28, 2026, 8:04am UTC](https://community.livekit.io/t/unable-to-run-livekit-server-sdk-in-convex-default-runtime/1725 "2026-07-28T08:04:58Z")

</div>

v2 moved to using web crypto but there is still import(‘node:crypto’) somewhere which doesn’t allow running in Convex’s default cf-workers like v8 isolate runtime and i need to use the slower ‘use node’ runtime. I just w…

---

## [Update maxParticipants after room creation](https://community.livekit.io/t/update-maxparticipants-after-room-creation/1740)

<div class="topic-metadata">

**Author:** [@PodoTip](https://community.livekit.io/u/PodoTip)\
**Replies:** 2\
**Last updated:** [July 27, 2026, 10:35pm UTC](https://community.livekit.io/t/update-maxparticipants-after-room-creation/1740 "2026-07-27T22:35:47Z")

</div>

How and why is there no option to update maxParticipants ? Why can’t we do increase maxParticipants after room creation as needed like this: roomServiceClient.updateRoomConfig({ maxParticipants: 30 }) Can/will this be a…

---

## [Local participant appears muted, but audio is still received by remote participants](https://community.livekit.io/t/local-participant-appears-muted-but-audio-is-still-received-by-remote-participants/1595)

<div class="topic-metadata">

**Author:** [@emanuel.h](https://community.livekit.io/u/emanuel.h)\
**Replies:** 2\
**Last updated:** [July 13, 2026, 10:25am UTC](https://community.livekit.io/t/local-participant-appears-muted-but-audio-is-still-received-by-remote-participants/1595 "2026-07-13T10:25:13Z")

</div>

Dear LiveKit Community, we are relatively new to this forum, but we have been using LiveKit for quite some time. We are currently facing an issue where, in some cases, a local participant mutes their microphone on thei…

---

## [WarmTransferTask: how to tear down a 2-party SIP room when one party hangs up after the agent has left?](https://community.livekit.io/t/warmtransfertask-how-to-tear-down-a-2-party-sip-room-when-one-party-hangs-up-after-the-agent-has-left/1499)

<div class="topic-metadata">

**Author:** [@Dan\_Tran](https://community.livekit.io/u/Dan_Tran)\
**Replies:** 5\
**Last updated:** [June 27, 2026, 1:06pm UTC](https://community.livekit.io/t/warmtransfertask-how-to-tear-down-a-2-party-sip-room-when-one-party-hangs-up-after-the-agent-has-left/1499 "2026-06-27T13:06:46Z")

</div>

Environment: @livekit/agents 1.4.7 (Node), @livekit/rtc-node 0.13.29, livekit-server-sdk 2.15.3. Inbound PSTN via SIP (Twilio trunk). Using beta.WarmTransferTask. What we’re doing (warm transfer): Caller (SIP) is in …

---

## [LiveKit Agents for Node.js 1.5.0 is coming (Feedback Wanted)](https://community.livekit.io/t/livekit-agents-for-node-js-1-5-0-is-coming-feedback-wanted/1466)

<div class="topic-metadata">

**Author:** [@Brian\_Yin](https://community.livekit.io/u/Brian_Yin)\
**Replies:** 6\
**Last updated:** [June 26, 2026, 8:31pm UTC](https://community.livekit.io/t/livekit-agents-for-node-js-1-5-0-is-coming-feedback-wanted/1466 "2026-06-26T20:31:20Z")

</div>

Update: 1.5.0 pre-release is up (0.0.0-next-20260624041820) Hey everyone — we’re getting close to releasing LiveKit Agents for Node.js 1.5.0, a minor version focused on making the Node.js API more ergonomic. The headli…

---

## [Is there a Node.js version or roadmap for WarmTransferTask?](https://community.livekit.io/t/is-there-a-node-js-version-or-roadmap-for-warmtransfertask/1074)

<div class="topic-metadata">

**Author:** [@Robbe](https://community.livekit.io/u/Robbe)\
**Replies:** 7\
**Last updated:** [June 22, 2026, 8:16am UTC](https://community.livekit.io/t/is-there-a-node-js-version-or-roadmap-for-warmtransfertask/1074 "2026-06-22T08:16:10Z")

</div>

Hey LiveKit team/community, We’re currently building with LiveKit Agents in Node.js/TypeScript and are looking into implementing agent-assisted warm transfers for our voice agent workflow. I noticed in the docs under T…

---

## [Feature request: updateInstructions() support in Node.js Agents SDK](https://community.livekit.io/t/feature-request-updateinstructions-support-in-node-js-agents-sdk/1410)

<div class="topic-metadata">

**Author:** [@Robbe](https://community.livekit.io/u/Robbe)\
**Replies:** 3\
**Last updated:** [June 12, 2026, 10:15am UTC](https://community.livekit.io/t/feature-request-updateinstructions-support-in-node-js-agents-sdk/1410 "2026-06-12T10:15:06Z")

</div>

Hi LiveKit team, In the Python Agents SDK, there’s support for mutating an agent’s instructions at runtime using agent.update\_instructions(new\_text) (documented under “Update in place instead of handing off” in the Tool…

---

## [Support persistent custom model options in openai.LLM.withTelnyx() / OpenAI-compatible LLMs](https://community.livekit.io/t/support-persistent-custom-model-options-in-openai-llm-withtelnyx-openai-compatible-llms/1262)

<div class="topic-metadata">

**Author:** [@Robbe](https://community.livekit.io/u/Robbe)\
**Replies:** 2\
**Last updated:** [May 27, 2026, 9:07am UTC](https://community.livekit.io/t/support-persistent-custom-model-options-in-openai-llm-withtelnyx-openai-compatible-llms/1262 "2026-05-27T09:07:25Z")

</div>

Hi LiveKit team, I’m using the Node.js Agents SDK with @livekit/agents-plugin-openai and Telnyx via: openai.LLM.withTelnyx({ apiKey, model: "moonshotai/Kimi-K2.6", temperature: 0.1, }) Telnyx exposes an Open…

---

## [Best practice for task-specific agents in LiveKit workflows?](https://community.livekit.io/t/best-practice-for-task-specific-agents-in-livekit-workflows/1181)

<div class="topic-metadata">

**Author:** [@Robbe](https://community.livekit.io/u/Robbe)\
**Replies:** 13\
**Last updated:** [May 27, 2026, 7:43am UTC](https://community.livekit.io/t/best-practice-for-task-specific-agents-in-livekit-workflows/1181 "2026-05-27T07:43:44Z")

</div>

I’m working with LiveKit Agents and currently structuring a workflow so that each workflow task creates a new agent. The reason is that each task needs a different context, instructions, and set of tools. Is this the re…

---

## [Dynamic endpointing in agents-js SDK](https://community.livekit.io/t/dynamic-endpointing-in-agents-js-sdk/1210)

<div class="topic-metadata">

**Author:** [@Robbe](https://community.livekit.io/u/Robbe)\
**Replies:** 2\
**Last updated:** [May 26, 2026, 9:52am UTC](https://community.livekit.io/t/dynamic-endpointing-in-agents-js-sdk/1210 "2026-05-26T09:52:00Z")

</div>

Hi LiveKit community, I’m using the Node.js Agents SDK with @livekit/agents and @livekit/agents-plugin-livekit, currently configuring turn handling like this: turnHandling: { turnDetection: new livekit.turnDetector.…

---

## [Roadmap for adaptive interruption handling in self-hosted LiveKit workers?](https://community.livekit.io/t/roadmap-for-adaptive-interruption-handling-in-self-hosted-livekit-workers/1172)

<div class="topic-metadata">

**Author:** [@Robbe](https://community.livekit.io/u/Robbe)\
**Replies:** 4\
**Last updated:** [May 20, 2026, 8:50am UTC](https://community.livekit.io/t/roadmap-for-adaptive-interruption-handling-in-self-hosted-livekit-workers/1172 "2026-05-20T08:50:13Z")

</div>

Hi LiveKit team, I’m working with a self-hosted LiveKit Agents worker and I’m looking into the new adaptive interruption mode. From the docs, I understand that adaptive interruption handling currently runs on LiveKit C…

---

## [Is TaskGroup the right primitive for Survey Agents with 20+ Questions](https://community.livekit.io/t/is-taskgroup-the-right-primitive-for-survey-agents-with-20-questions/694)

<div class="topic-metadata">

**Author:** [@Ubani\_Balogun](https://community.livekit.io/u/Ubani_Balogun)\
**Replies:** 5\
**Last updated:** [May 14, 2026, 5:48pm UTC](https://community.livekit.io/t/is-taskgroup-the-right-primitive-for-survey-agents-with-20-questions/694 "2026-05-14T17:48:35Z")

</div>

Hey folks, I’ve got an Agent design question. I’m working on a survey agent asks about 30 questions. Is a Task Group the right primitive for this given the length of the survey? I initially implemented the workflow as a…

---

## [LiveKit Tester With Realtime Debug Terminal](https://community.livekit.io/t/livekit-tester-with-realtime-debug-terminal/951)

<div class="topic-metadata">

**Author:** [@\_E\_r\_r\_o\_n\_e\_o\_u\_s\_D\_e\_s\_i\_g\_n\_s](https://community.livekit.io/u/_E_r_r_o_n_e_o_u_s_D_e_s_i_g_n_s)\
**Replies:** 2\
**Last updated:** [May 11, 2026, 4:28pm UTC](https://community.livekit.io/t/livekit-tester-with-realtime-debug-terminal/951 "2026-05-11T16:28:46Z")

</div>

Hello everyone, I’ve noticed a lot of people running into the same core issues. To help with that, I put together a testing tool last night that covers everything needed to validate LiveKit streaming and viewing integra…

---

## [Manual or server VAD for Node.js Elevenlabs STT plugin?](https://community.livekit.io/t/manual-or-server-vad-for-node-js-elevenlabs-stt-plugin/1006)

<div class="topic-metadata">

**Author:** [@Robbe](https://community.livekit.io/u/Robbe)\
**Replies:** 1\
**Last updated:** [May 6, 2026, 10:42am UTC](https://community.livekit.io/t/manual-or-server-vad-for-node-js-elevenlabs-stt-plugin/1006 "2026-05-06T10:42:21Z")

</div>

In @livekit/agents-plugin-elevenlabs@1.3.2 JS STT, realtime Scribe appears to default to ElevenLabs provider VAD because serverVad undefined results in commit\_strategy=vad, while serverVad: null switches to manual. For …

---

## [ElevenLabs eleven\_v3 with LiveKit Agents JS plugin fails with WebSocket 403](https://community.livekit.io/t/elevenlabs-eleven-v3-with-livekit-agents-js-plugin-fails-with-websocket-403/1007)

<div class="topic-metadata">

**Author:** [@Robbe](https://community.livekit.io/u/Robbe)\
**Replies:** 6\
**Last updated:** [May 5, 2026, 8:27pm UTC](https://community.livekit.io/t/elevenlabs-eleven-v3-with-livekit-agents-js-plugin-fails-with-websocket-403/1007 "2026-05-05T20:27:14Z")

</div>

Hi, I’m running a LiveKit Agents JS voice worker and trying to use ElevenLabs TTS with eleven\_v3. Environment: @livekit/agents: 1.3.2 @livekit/agents-plugin-elevenlabs: 1.3.2 @livekit/rtc-node: 0.13.27 Runtime: Node…

---

## [How to controll use of RAM](https://community.livekit.io/t/how-to-controll-use-of-ram/1009)

<div class="topic-metadata">

**Author:** [@Kauan\_Passos\_ataide](https://community.livekit.io/u/Kauan_Passos_ataide)\
**Replies:** 0\
**Last updated:** [May 2, 2026, 7:54pm UTC](https://community.livekit.io/t/how-to-controll-use-of-ram/1009 "2026-05-02T19:54:48Z")

</div>

Hello guys, I’m current using this config on my agent server with node: cli.runApp( new ServerOptions({ agent: path.resolve( process.cwd(), process.env.NODE\_ENV === ‘development’ ? ‘src/ai/agent.ts’ : ‘dist/ai/ag…

---

## [Elevenlabs STT plugin for Node.js](https://community.livekit.io/t/elevenlabs-stt-plugin-for-node-js/998)

<div class="topic-metadata">

**Author:** [@Robbe](https://community.livekit.io/u/Robbe)\
**Replies:** 2\
**Last updated:** [May 1, 2026, 1:14pm UTC](https://community.livekit.io/t/elevenlabs-stt-plugin-for-node-js/998 "2026-05-01T13:14:48Z")

</div>

Hi everyone, I’m building a voice AI product with the LiveKit Node.js Agents SDK and would like to use ElevenLabs for STT. For compliance and EU data residency reasons, we need to route STT directly through our own Ele…

---

## [Auto STT model errors leads to stalled agent](https://community.livekit.io/t/auto-stt-model-errors-leads-to-stalled-agent/923)

<div class="topic-metadata">

**Author:** [@carlos\_lostao](https://community.livekit.io/u/carlos_lostao)\
**Replies:** 3\
**Last updated:** [April 23, 2026, 2:50pm UTC](https://community.livekit.io/t/auto-stt-model-errors-leads-to-stalled-agent/923 "2026-04-23T14:50:57Z")

</div>

Over the last week, I’ve noticed a spike in errors during the STT phase when using the ‘auto’ model. Specifically, most of the errors match the one attached below. I wanted to report this and ask for a solution or workar…

---

## [Raised an PR solving issue 1179: gemini-3.1-live model support fix](https://community.livekit.io/t/raised-an-pr-solving-issue-1179-gemini-3-1-live-model-support-fix/738)

<div class="topic-metadata">

**Author:** [@swayam\_gupta](https://community.livekit.io/u/swayam_gupta)\
**Replies:** 1\
**Last updated:** [April 1, 2026, 9:21am UTC](https://community.livekit.io/t/raised-an-pr-solving-issue-1179-gemini-3-1-live-model-support-fix/738 "2026-04-01T09:21:15Z")

</div>

Hi team, I tried picking the issue (#1179). Both issues are addressed, pushAudio() now sends the audio field directly instead of mediaChunks, and generateReply() switches from sendClientContent to sendRealtimeInput({ tex…

---

## [Long-running Voice Session incur Significant Costs for WebSocket-based STT model](https://community.livekit.io/t/long-running-voice-session-incur-significant-costs-for-websocket-based-stt-model/710)

<div class="topic-metadata">

**Author:** [@Yang\_Xu](https://community.livekit.io/u/Yang_Xu)\
**Replies:** 2\
**Last updated:** [March 31, 2026, 8:31am UTC](https://community.livekit.io/t/long-running-voice-session-incur-significant-costs-for-websocket-based-stt-model/710 "2026-03-31T08:31:37Z")

</div>

For streaming STT models like Deepgram, Assembly Universal Pro, and ElevenLabs Scribe v2 Realtime, the current setup works well for dense, back-and-forth voice interactions. The challenge is with long-running voice sessi…

---

## [Validating architecture: Single agent, dynamic per-call config via external API (multi-tenant PSTN)](https://community.livekit.io/t/validating-architecture-single-agent-dynamic-per-call-config-via-external-api-multi-tenant-pstn/718)

<div class="topic-metadata">

**Author:** [@Musaraf\_dev](https://community.livekit.io/u/Musaraf_dev)\
**Replies:** 3\
**Last updated:** [March 31, 2026, 5:35am UTC](https://community.livekit.io/t/validating-architecture-single-agent-dynamic-per-call-config-via-external-api-multi-tenant-pstn/718 "2026-03-31T05:35:31Z")

</div>

Hi all — I’m building a multi-tenant PSTN voice agent and want to validate whether my architecture is the right approach or if I’m missing something. Scenario I have one deployed agent (pstn-voice-agent) handling inbou…

---

## [Adaptive interruption error nodejs agents sdk](https://community.livekit.io/t/adaptive-interruption-error-nodejs-agents-sdk/670)

<div class="topic-metadata">

**Author:** [@serhat.turker](https://community.livekit.io/u/serhat.turker)\
**Replies:** 11\
**Last updated:** [March 29, 2026, 9:13am UTC](https://community.livekit.io/t/adaptive-interruption-error-nodejs-agents-sdk/670 "2026-03-29T09:13:19Z")

</div>

error: { "type": "APIStatusError", "message": "LiveKit Adaptive Interruption error: prediction failed: bargein prediction failed: Provider livekit error (status 0): Unhandled HTTP status: 0 - retryable: false", "st…

---

## [Gemini 3.1 Flash live generateReply() timeout issue nodejs](https://community.livekit.io/t/gemini-3-1-flash-live-generatereply-timeout-issue-nodejs/702)

<div class="topic-metadata">

**Author:** [@Mohd\_Azaan](https://community.livekit.io/u/Mohd_Azaan)\
**Replies:** 1\
**Last updated:** [March 28, 2026, 7:30pm UTC](https://community.livekit.io/t/gemini-3-1-flash-live-generatereply-timeout-issue-nodejs/702 "2026-03-28T19:30:43Z")

</div>

Even after updating the package, I am always getting this timeout issue from the generateReply() method. I saw that issue on github as well, but seems like people are doing some workaround using send\_realtime\_input() in…

---

## [Sessions stuck in In progress](https://community.livekit.io/t/sessions-stuck-in-in-progress/489)

<div class="topic-metadata">

**Author:** [@ngolitech](https://community.livekit.io/u/ngolitech)\
**Replies:** 3\
**Last updated:** [March 26, 2026, 9:31am UTC](https://community.livekit.io/t/sessions-stuck-in-in-progress/489 "2026-03-26T09:31:17Z")

</div>

When I try to delete the room via API, it says no room exists but on dashboard I have one that is showing as active for 6 hours and another one for the past 30 mins. Why do I have these and how to gracefully end them? Al…

---

## [Setting elevenlabs TTS voice speed with LiveKit Inference](https://community.livekit.io/t/setting-elevenlabs-tts-voice-speed-with-livekit-inference/618)

<div class="topic-metadata">

**Author:** [@Jeremy\_W\_Sherman](https://community.livekit.io/u/Jeremy_W_Sherman)\
**Replies:** 4\
**Last updated:** [March 20, 2026, 9:29pm UTC](https://community.livekit.io/t/setting-elevenlabs-tts-voice-speed-with-livekit-inference/618 "2026-03-20T21:29:24Z")

</div>

I am trying to configure the speed for an elevenlabs voice using inference.TTS in Node. The TypeScript types only document the properties inactivity\_timeout and apply\_text\_normalization, but the documentation ( ElevenLab…

---

## [LiveKit Cloud is likely classifying a normal idle SIGTERM shutdown of the cloud hosted Node agent as Error](https://community.livekit.io/t/livekit-cloud-is-likely-classifying-a-normal-idle-sigterm-shutdown-of-the-cloud-hosted-node-agent-as-error/612)

<div class="topic-metadata">

**Author:** [@ngolitech](https://community.livekit.io/u/ngolitech)\
**Replies:** 2\
**Last updated:** [March 18, 2026, 9:46pm UTC](https://community.livekit.io/t/livekit-cloud-is-likely-classifying-a-normal-idle-sigterm-shutdown-of-the-cloud-hosted-node-agent-as-error/612 "2026-03-18T21:46:40Z")

</div>

Is this a known issue? Looks like LiveKit Cloud is classifying a normal idle SIGTERM shutdown of the Node agent as Error because the SDK exits 143, showing current status on dashboard as ‘Error’ even though operationally…

---

## [Request for reviewer](https://community.livekit.io/t/request-for-reviewer/581)

<div class="topic-metadata">

**Author:** [@Deepak\_Medam](https://community.livekit.io/u/Deepak_Medam)\
**Replies:** 5\
**Last updated:** [March 17, 2026, 8:57am UTC](https://community.livekit.io/t/request-for-reviewer/581 "2026-03-17T08:57:11Z")

</div>

Hello livekit team, I am an engineer from TrugenAI. We made a new node-js plugin to integration TrugenAi and livekit agents and raised a PR and its been a while. No reviewer has been assigned to review the PR and build w…

[Next page](https://community.livekit.io/tag/node-js/32.md?match_all_tags=true&page=1&tags%5B%5D=node-js)
