Feature Request: Support multiple participants in a single AgentSession
Problem
The current SDK assumes a single active participant per AgentSession. While the existing workarounds are sufficient for transcription, they don't support a single-session, multi-participant conversation with a shared chat context.
Use case
We're building AI-conducted interviews with human takeover.
- An AI agent interviews a candidate in a 1:1 conversation.
- A human interviewer joins the room and takes over questioning.
- The agent switches to a silent "observer" mode—it stops speaking but continues listening.
- While silent, it must continue hearing both the interviewer and the candidate, appending both to the same chat context.
- When the interviewer leaves or hands control back, the agent resumes the interview with the complete conversation history.
The requirement is therefore:
N participants → 1 AgentSession → 1 shared chat context → 1 LLM/TTS, with the agent's speaking ability toggleable independently of its listening.
Why the current approaches don't work
SDK limitation (agents 1.6.7)
From our investigation, the current implementation appears to make two single-participant assumptions:
_participant_available_fut latches onto the first participant (room_io.py:378-396).
_ParticipantInputStream maintains a single _stream / _publication (_input.py:202-204), so a second participant's track replaces the existing one instead of being added alongside it.
Expected behavior
It should be possible for a single AgentSession to receive audio from multiple participants while maintaining a single conversation context. Each completed user turn should also include the speaker identity so the application can attribute transcripts correctly while preserving one shared chat history.
This would enable use cases such as:
- AI interviews with human takeover
- Meeting copilots
- Customer support escalations
- Collaborative conversations where the agent needs to listen to multiple participants while speaking selectively
Feature Request: Support multiple participants in a single
AgentSessionProblem
The current SDK assumes a single active participant per
AgentSession. While the existing workarounds are sufficient for transcription, they don't support a single-session, multi-participant conversation with a shared chat context.Use case
We're building AI-conducted interviews with human takeover.
The requirement is therefore:
Why the current approaches don't work
RoomIO.set_participant()/toggle_io.pyMultiple
AgentSessionsSDK limitation (agents 1.6.7)
From our investigation, the current implementation appears to make two single-participant assumptions:
_participant_available_futlatches onto the first participant (room_io.py:378-396)._ParticipantInputStreammaintains a single_stream/_publication(_input.py:202-204), so a second participant's track replaces the existing one instead of being added alongside it.Expected behavior
It should be possible for a single
AgentSessionto receive audio from multiple participants while maintaining a single conversation context. Each completed user turn should also include the speaker identity so the application can attribute transcripts correctly while preserving one shared chat history.This would enable use cases such as: