Member Junction
    Preparing search index...

    What a HOST that owns the call (a phone call arriving in a room, a web room with handoff tools) adds to an agent's room session beyond the plain "join the room" the coordinator does for the Meet UI. All optional: a session started without it behaves exactly as before. A start that created the agent session for this agent alone (a Meet room, a scheduled meeting) passes only AgentRoomHostOptions.OnSessionEnded, to close that session when the agent leaves.

    interface AgentRoomHostOptions {
        Channel?: "phone" | "web";
        ConversationID?: string;
        Direction?: "Inbound" | "Outbound";
        HostFraming?: string;
        HostTools?: RealtimeToolDefinition[];
        JoinMethod?: "InboundRoute" | "OnDemand" | "Invite";
        OnBargeIn?: () => void;
        OnModelSession?: (session: IRealtimeSession) => void;
        OnSessionEnded?: (reason: BridgeDisconnectReason) => void | Promise<void>;
        RecoverModelSession?: boolean;
        TranscriptSink?: BridgeTranscriptSink;
    }
    Index

    Properties

    Channel?: "phone" | "web"

    How the person the agent serves reached the room: 'phone', a phone call through SIP (they hear the agent and see nothing), or 'web', a browser. On a phone call the coordinator never asks for the avatar: no room delivery, and the session asks the model for none (phone), even when people in the room could see it. Default: not stated, which is treated like 'web'.

    ConversationID?: string

    The conversation the session's transcript belongs to.

    Direction?: "Inbound" | "Outbound"

    Whether the agent was called into the room or placed the call. Default: not stated.

    HostFraming?: string

    Instructions appended to the agent's system prompt.

    Tools the host executes itself.

    JoinMethod?: "InboundRoute" | "OnDemand" | "Invite"

    How the agent got into the room. Default 'OnDemand'.

    OnBargeIn?: () => void

    The participant talked over the agent (a true barge-in).

    OnModelSession?: (session: IRealtimeSession) => void

    Called with every model session opened for this agent (the first one, and any re-opened after a drop) so the host can attach its tool handler to each.

    OnSessionEnded?: (reason: BridgeDisconnectReason) => void | Promise<void>

    Called once when the session has fully ended, for whatever reason (a stop, an emptied room, a lost model session), for the host's own bookkeeping: closing the agent session it created, freeing a capacity slot.

    RecoverModelSession?: boolean

    Re-open the model session once, with the conversation so far, if it drops mid-call.

    TranscriptSink?: BridgeTranscriptSink

    Where this session's final transcript lines go (instead of the shared room transcript).