abundant-father-33863
08/17/2025, 12:29 PMtall-airline-16756
08/17/2025, 12:29 PMtall-airline-16756
08/17/2025, 12:30 PMlk room participants list <room_name>
If you want to target a particular server, you’ve got a few easy options to set that up: 1. Environment Variables:
export LIVEKIT_URL=<wss://your-server.livekit.cloud>
export LIVEKIT_API_KEY=your-api-key
export LIVEKIT_API_SECRET=your-api-secret
lk room participants list <room_name>
2. CLI Flags:
lk room participants list <room_name> \
--url <wss://your-server.livekit.cloud> \
--api-key your-api-key \
--api-secret your-api-secret
3. Project Configuration:
lk project add myserver <wss://your-server.livekit.cloud> your-api-key your-api-secret
lk project use myserver
lk room participants list <room_name>
This will give you detailed info about each participant, like their identity and connection status. If you have any questions or want a hand with anything else, just let me know! Sources: packages/livekit-server-sdk/src/RoomServiceClient.ts | src/main/kotlin/io/livekit/server/RoomService.kt | telephony/sip_lifecycle.pyabundant-father-33863
08/17/2025, 12:31 PMtall-airline-16756
08/17/2025, 12:32 PMlk room list
This will show you all the active rooms with details like:
• Room ID
• Room Name
• Number of Participants
• Number of Publishers
If you’d prefer to work with the data programmatically, you can get everything in JSON format by using:
lk room list --json
And if you want to dig a bit deeper to see who’s in each room, just list the rooms first, then check participants for any room with:
lk room participants list <room_name>
Feel free to reach out if you have any questions or need a hand with anything else! Sources: autocomplete/fish_autocompleteabundant-father-33863
08/17/2025, 2:28 PMtall-airline-16756
08/17/2025, 2:29 PM// Example in JavaScript
const grant = {
room: roomName,
roomJoin: true,
canPublish: true,
canPublishData: true,
canSubscribe: true,
};
const at = new AccessToken('LIVEKIT_API_KEY', 'LIVEKIT_API_SECRET', { identity: 'user_identity' });
at.addGrant(grant);
const token = at.toJwt();
2. Initialize the VoicePipelineAgent: Set up the agent with components like VAD, STT, LLM, and TTS, and configure the chat context to make it super helpful:
const agent = new pipeline.VoicePipelineAgent(vad, stt, llm, tts, {
chatCtx: new llm.ChatContext().append({
role: llm.ChatRole.SYSTEM,
text: 'You are a helpful assistant.',
}),
allowInterruptions: true,
});
3. Start the Agent: Connect the agent to the room and participant like this:
const participant = await ctx.waitForParticipant('participant_identity');
agent.start(ctx.room, participant);
4. Control the Conversation: Use the say
method to have the agent speak and smoothly manage the chat:
await agent.say('Hello, how can I help you today?', true);
If you want me to walk you through any of these steps or if something’s unclear, just let me know—I’m here to help! Sources: complex-agents/nova-sonic/nova-sonic-form-agent/app/api/connection-details/... | Agents 0.x migration guide | LiveKit Docs | examples/src/outbound.ts | VoicePipelineAgent | LiveKit Agents