Indicates whether the agent is currently allowed to log in to the CX platform
Use this to check the precondition before calling loginToCx.
true if the agent can log in to CX, false otherwise
Logs the agent into the CX platform
Must be called before the agent can receive interactions. When reasonCode is
provided, a non-Elite agent is logged in and set to that status in a single request.
Elite Voice agents must call loginToCx() without a reason, wait for login to
complete, and then call changeStatus explicitly.
OptionalreasonCode: ReasonCodeOptional initial ReasonCode from getAssignableReasonCodes.
A promise that resolves when CX login is complete
Indicates whether the agent is currently allowed to log out from the CX platform
Use this to check the precondition before calling logoutFromCx.
true if the agent can log out from CX, 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 obtained from getAssignableReasonCodes.
A promise that resolves when CX logout is complete
Indicates whether the agent is currently logged into the CX platform
true if the agent is logged in to CX, false otherwise
Indicates whether the agent has permission to initiate outbound calls
true if outbound call creation is permitted, false otherwise
Indicates whether the agent is licensed for Avaya Elite Voice (hybrid agent).
Hybrid agents handle voice via Elite Voice.
true if Elite Voice is enabled for this user, false otherwise
Whether 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.
While the SDK is auto-accepting an interaction, Interaction.canAccept
returns false, and the resulting
InteractionEventType.INTERACTION_ACCEPTED event carries
payload.isAutoAccepted = true.
true if auto-accept is enabled for this agent, false otherwise
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 user ID
The agent's email address
The agent's email
The agent's full display name
The agent's full name
The agent's first name
The agent's first name
The agent's last name
The agent's last name
The tenant identifier for the logged-in agent.
Platform-assigned, session-level constant - the same value across every interaction the agent handles in the session.
The agent's account/tenant ID
Returns the agent's currently active interactions
Returns the cached list. Subscribe to UserEventType.INTERACTION_RECEIVED, UserEventType.INTERACTION_CREATED, and UserEventType.INTERACTION_VIEWING_STARTED to track changes.
An array of assigned Interaction objects
Creates and initiates an outbound call interaction
Resolves when the call has been connected and media is set up.
Parameters for User.createOutboundVoiceInteraction.
OptionalqueueId?: stringThe ID of the queue to route the call through.
Required for standard agents. Optional for Elite (hybrid) agents
({@link UserTrait.isEliteVoiceEnabled} === true).
The destination phone number to call
Optionalcustomer?: OutboundCustomerDetailsOptional pre-fill data for the customer being called (name, email, language code).
Optionaldetails?: AdditionalInteractionDetailsOptional additional details for the interaction
A promise that resolves to the new Interaction once the call is active
Indicates whether the agent has permission to initiate outbound calls
true if outbound call creation is permitted, false otherwise
Returns the current WebRTC registration status
Reflects the state of the agent's voice channel registration with the media server. Subscribe to WebRtcRegistrationEventType events for change notifications.
The current WebRtcRegistrationState
Returns the available audio input and output devices
If microphone permission has not been granted, device names may be hidden
and returned as generic labels such as Unknown audioinput.
This method does not request microphone permission.
A promise that resolves to the AvailableAudioDevices listing all input and output devices
Returns the currently selected audio input and output devices
The SelectedAudioDevices representing the active input and output device selection
Indicates whether an audio input device can currently be set
Use this to check the precondition before calling setAudioInputDevice.
true if an audio input device can be set, false otherwise
Sets the active audio input device
The deviceId must be one of the IDs from getAvailableAudioDevices.
The ID of the input device to use
Indicates whether an audio output device can currently be set
Use this to check the precondition before calling setAudioOutputDevice.
true if an audio output device can be set, false otherwise
Sets the active audio output device
The deviceId must be one of the IDs from getAvailableAudioDevices.
The ID of the output device to use
Returns the current microphone permission state
Use this to check permission before calling getAvailableAudioDevices, which will trigger a browser permission prompt if not yet granted.
The current MediaDevicePermissionState
Returns the list of queues currently assigned to this agent
Returns the cached list. Call refreshAssignedQueues to fetch the latest assignments from the server.
An array of Queue objects assigned to this agent
The 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 default outbound queue, or undefined when not configured
Refreshes the agent's queue assignments from the server
After this resolves, getAssignedQueues returns the updated list.
A promise that resolves to the updated list of Queue objects
The agent's current status
Reflects the most recently applied status. Subscribe to UserEventType.USER_STATUS_CHANGED for change notifications.
The current ReasonCode 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
Use the returned reasons to pass the selected ReasonCode to changeStatus.
A promise that resolves to an array of available ReasonCode objects
Indicates whether the agent can currently change their status
Use this to check the precondition before calling changeStatus.
true if a status change is possible, false otherwise
Changes the agent's status to the specified reason
The reason must be one of the values returned from getAssignableReasonCodes.
The target ReasonCode to set
A promise that resolves when the status change has been applied
Starts monitoring an interaction as a private or public viewer. Creates the interaction delegate, 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
Whether the agent may claim ownership of an interaction they are viewing.
Whether the agent may claim ownership of a viewed interaction
Whether the agent may view an interaction publicly (visible to the parties).
Whether the agent may view an interaction privately (silent monitoring).
The primary entry point for all agent operations in the Avaya Infinity platform.
A
Userinstance is obtained by calling AvayaInfinityAgentSdk.init after a successful OAuth authentication. It is the single object through which your application drives the full agent lifecycle - from CX login to receiving and managing interactions, controlling agent status, accessing queue assignments, and configuring audio devices.Typical usage flow
AvayaInfinityAgentSdk.init()to get aUser.true.Index of methods and attributes
Reactivity
The SDK maintains a single User instance for the session and mutates its fields in place as state changes — the object reference is stable across updates. The same holds for the collections it exposes (Interaction, Queue, and so on). Framework consumers (React, Vue, etc.) that rely on reference equality for change detection must therefore trigger their own re-render on each subscribed event — for example by bumping a version counter, re-emitting the enclosing array, or lifting the data into a store that produces a fresh snapshot per event.
See