Windows.ApplicationModel.ConversationalAgent Namespace

Provides applications the ability to expose functionality through any digital assistant supported by the Windows Conversational Agent platform.

Important

The Windows.ApplicationModel.ConversationalAgent APIs are part of a Limited Access Feature (see LimitedAccessFeatures class). For more information or to request an unlock token, please use the LAF Access Token Request Form.

Classes

ActivationSignalDetectionConfiguration

Provides the configuration details for a single signal supported by an activation signal detector. For example, the keyword "Hey Cortana" in US English.

ActivationSignalDetectionConfigurationCreationResult

Provides the results when an ActivationSignalDetector creates an ActivationSignalDetectionConfiguration.

ActivationSignalDetector

Represents hardware and software components that can generate activation signals based on input from a user's environment, such as spoken keyword(s), sound detection, or button press.

ConversationalAgentDetectorManager

Provides access to existing signal detector and configuration definitions of a digital assistant.

ConversationalAgentSession

The communication channel between the digital assistant and the Windows Conversational Agent platform.

ConversationalAgentSessionInterruptedEventArgs

Provides event data for the SessionInterrupted event.

ConversationalAgentSignal

A signal detected by an agent that corresponds to an ActivationSignalDetectionConfiguration. This signal indicates that the matching agent should be activated to handle an interaction.

ConversationalAgentSignalDetectedEventArgs

Provides event data for the SignalDetected event.

ConversationalAgentSystemStateChangedEventArgs

Provides event data for the SystemStateChanged event.

DetectionConfigurationAvailabilityChangedEventArgs

Provides event data for the ActivationSignalDetectionConfiguration.AvailabilityChanged event.

DetectionConfigurationAvailabilityInfo

Provides availability details for the ActivationSignalDetector.

Enums

ActivationSignalDetectionConfigurationCreationStatus

Specifies the possible results when creating an ActivationSignalDetectionConfiguration for the digital assistant.

ActivationSignalDetectionConfigurationRemovalResult

Specifies the possible results when removing an ActivationSignalDetectionConfiguration from the digital assistant.

ActivationSignalDetectionConfigurationSetModelDataResult

Specifies the possible results returned when setting the model configuration data of an ActivationSignalDetectionConfiguration for the digital assistant.

ActivationSignalDetectionConfigurationStateChangeResult

Specifies the possible results returned when enabling or disabling ActivationSignalDetectionConfiguration for the digital assistant.

ActivationSignalDetectionTrainingDataFormat

Specifies the activation signal training data formats supported by the ActivationSignalDetector for the digital assistant.

ActivationSignalDetectorKind

Specifies the supported ActivationSignalDetector types.

ActivationSignalDetectorPowerState

Specifies the power modes, supported by an ActivationSignalDetector, that describe the power-related conditions under which a detector is allowed to operate.

ConversationalAgentActivationKind

Specifies the supported agent activation types.

ConversationalAgentActivationResult

Specifies the supported agent activation request result values.

ConversationalAgentSessionUpdateResponse

Specifies each possible response for a ConversationalAgentSession update.

ConversationalAgentState

Specifies each possible AgentState for a digital assistant.

ConversationalAgentSystemStateChangeType

Specifies the possible state changes for the SystemStateChanged event.

ConversationalAgentVoiceActivationPrerequisiteKind

Specifies the possible settings required for voice activation to function.

DetectionConfigurationAvailabilityChangeKind

Specifies the permission levels granted by a user to each ActivationSignalDetectionConfiguration of an ActivationSignalDetector.

DetectionConfigurationTrainingStatus

Specifies the voice training data states recognized by the ActivationSignalDetector for the digital assistant.

Note

These determinations are made by the training algorithms of an individual signal detector and may be specific to the hardware or software implementations of the detector.

SignalDetectorResourceKind

Specifies the types of system resources that might be reported as unavailable to an ActivationSignalDetectionConfiguration.

Remarks

Users can enable a platform-level detection signal for a conversational agent in Settings. This signal can include a keyword utterance, Bluetooth transmission, system keyboard accelerator, in-app speech recognition, or other sounds (door slam, smoke detector). For example, the "Hey Cortana" keyword that begins a voice interaction with Cortana.

Platform-level signal detectors act as a "first-pass" filter and can result in too many unintended activations. For this reason, we recommend that you consider additional verification of an activation signal, such as using a more stringent keyword detector from the context of the agent application.

If a ConversationalAgentSignal is detected while the application is not running, or is not able to respond to the ConversationalAgentSession.SignalDetected event, the application is activated in the background using a task registered with a ConversationalAgentTrigger.

If a ConversationalAgentSignal is detected while the application is able to respond to a ConversationalAgentSession.SignalDetected event (by calling ConversationalAgentSession.RequestAgentStateChangeAsync), no background activation occurs, as the signal has already been handled.

If a ConversationalAgentSignal is detected for a conversational agent while an interruptible session (see RequestInterruptableAsync) is already active, the session will receive a ConversationalAgentSession.SessionInterrupted event to indicate that a new signal event has been raised.

Note

Some digital assistant sessions cannot be interrupted by another signal. For example, Cortana requires the user to issue a cancel or stop command to end the current session (the user cannot be in a Cortana session and issue commands to Alexa).