Indicates whether the agent is currently logged into the CX platform
Whether the agent can currently log into CX
true if login is possible, false otherwise
Logs the agent into the CX platform
OptionalreasonCode: ReasonCodeOptional initial ReasonCode from getAssignableReasonCodes.
When provided for a non-Elite agent, login and status change are applied in a
single server request. Elite Voice agents must log in without a reason, wait
for confirmation, and then call changeStatus().
A promise that resolves when CX login is complete
Whether the agent can currently log out from CX
true if logout is possible, false otherwise
Logs the agent out from the CX platform
The ReasonCode describing why the agent is logging out.
Must be a LOGOUT-type reason from getAssignableReasonCodes.
A promise that resolves when CX logout is complete
ReadonlyisIndicates whether the agent is licensed for Avaya Elite Voice (hybrid agent).
Hybrid agents handle voice via Elite Voice .
ReadonlyisWhether auto-accept is enabled for the agent's incoming interactions.
When true, the SDK accepts incoming interactions on the agent's behalf
across all channels. Auto-accept is suppressed for an audio interaction
when another audio interaction is already in progress.
Subscribes to agent events
The UserEventType to subscribe to
Callback invoked each time the event fires
A handler ID to pass to unsubscribe when done
Unsubscribes a previously registered event handler
The UserEventType to unsubscribe from
The handler ID returned from subscribe
The unique identifier for this agent
The agent's email address
The agent's full display name
The agent's first name
The agent's last name
The tenant identifier for the logged-in agent.
Stable for the lifetime of the session - the same value across every interaction the agent handles.
Indicates whether the agent has permission to initiate outbound calls
Returns the agent's currently active interactions
An array of active Interaction objects
Creates and initiates an outbound call interaction
Queue ID, phone number, and optional details
A promise that resolves to the new Interaction once the call is active
Returns the available audio input and output devices A resolved empty device kind confirms that enumeration succeeded but no device of that kind exists.
A promise that resolves to the AvailableAudioDevices
Returns the currently selected audio input and output devices
The SelectedAudioDevices representing the active device selection
Whether an audio input device can currently be set
true if the audio device service is available, false otherwise
Sets the active audio input device
The ID of the input device to use
Whether an audio output device can currently be set
true if the audio device service is available, false otherwise
Sets the active audio output device
The ID of the output device to use
Returns the current microphone permission state
The current MediaDevicePermissionState
Returns the current WebRTC registration status
The current WebRtcRegistrationState
ReadonlydefaultThe configured default outbound queue when this SDK session was initialized or most recently logged into CX.
Returns undefined for Elite Voice users or when the outbound queue is not configured.
The agent's current status
Fetches the agent's current status from the server
A promise that resolves to the current ReasonCode status
Fetches the available reason codes for status changes
A promise that resolves to an array of available ReasonCode objects
Whether the agent can currently change their status
true if a status change is possible, false otherwise
Changes the agent's status to the specified reason
The target ReasonCode to set
A promise that resolves when the status change has been applied
Whether the agent may claim ownership of an interaction they are viewing.
Whether the agent may view an interaction publicly (visible to the parties).
Whether the agent may view an interaction privately (silent monitoring).
Starts monitoring an interaction as a private or public viewer. Creates the interaction delegate, sends a viewerAdd request, and dispatches UserEventType.INTERACTION_VIEWING_STARTED on success. Use Interaction.joinCall to join audio after viewing starts.
The ID of the interaction to monitor
ViewInteractionParams — set viewPrivately: true for silent monitoring
Promise that resolves to the Interaction
Fetches the list of interaction views available to the current user. Views define server-side filters for the interaction list (e.g., "All Active Interactions"). Call InteractionView.getInteractions on a returned view to fetch its interactions.
A promise that resolves to an array of InteractionView
The interface implemented by User.
Defines the full contract for agent operations — identity, status management, CX login, queue access, interaction handling, event subscriptions, and media device control.
See
User