Windows.ApplicationModel.ConversationalAgent Windows.ApplicationModel.ConversationalAgent Windows.ApplicationModel.ConversationalAgent Windows.ApplicationModel.ConversationalAgent Windows.ApplicationModel.ConversationalAgent Namespace

Provides applications the ability to expose functionality through any digital assistant supported by the Windows platform Agent Activation Runtime (AAR).


ConversationalAgentSession ConversationalAgentSession ConversationalAgentSession ConversationalAgentSession ConversationalAgentSession

The communication channel between the digital assistant and the Agent Activation Runtime (AAR).

ConversationalAgentSessionInterruptedEventArgs ConversationalAgentSessionInterruptedEventArgs ConversationalAgentSessionInterruptedEventArgs ConversationalAgentSessionInterruptedEventArgs ConversationalAgentSessionInterruptedEventArgs

Provides event data for the SessionInterrupted event.

ConversationalAgentSignal ConversationalAgentSignal ConversationalAgentSignal ConversationalAgentSignal ConversationalAgentSignal

The audible signal detected by a digital signal processor (DSP) that indicates the digital assistant should be activated. This signal can include audio events such as a wake utterance, Bluetooth transmission, system keyboard accelerator, in-app speech recognition, or other sounds (door slam, smoke detector).

ConversationalAgentSignalDetectedEventArgs ConversationalAgentSignalDetectedEventArgs ConversationalAgentSignalDetectedEventArgs ConversationalAgentSignalDetectedEventArgs ConversationalAgentSignalDetectedEventArgs

Provides event data for the SignalDetected event.

ConversationalAgentSystemStateChangedEventArgs ConversationalAgentSystemStateChangedEventArgs ConversationalAgentSystemStateChangedEventArgs ConversationalAgentSystemStateChangedEventArgs ConversationalAgentSystemStateChangedEventArgs

Provides event data for the SystemStateChanged event.


ConversationalAgentSessionUpdateResponse ConversationalAgentSessionUpdateResponse ConversationalAgentSessionUpdateResponse ConversationalAgentSessionUpdateResponse ConversationalAgentSessionUpdateResponse

Specifies each possible response for a ConversationalAgentSession update.

ConversationalAgentState ConversationalAgentState ConversationalAgentState ConversationalAgentState ConversationalAgentState

Specifies each possible AgentState for a digital assistant.

ConversationalAgentSystemStateChangeType ConversationalAgentSystemStateChangeType ConversationalAgentSystemStateChangeType ConversationalAgentSystemStateChangeType ConversationalAgentSystemStateChangeType

Specifies the possible state changes for the SystemStateChanged event.


Users can enable a first-stage signal for a digital assistant in Settings. This signal can include a wake utterance, Bluetooth transmission, system keyboard accelerator, in-app speech recognition, or other sounds (door slam, smoke detector). For example, the "Hey Cortana" keywords enable listening mode for a Cortana interaction.

A second-stage utterance (or keyword detection) is part of the intent phase. For example, "Hey Cortana, what's the forecast for today?".

Third-stage keyword detection involves a remote cloud service.

If a ConversationalAgentSignal is detected while a ConversationalAgentSession is inactive, the AAR raises a ConversationalAgentTrigger background event. Your app can then use the Signal property to process the conversation.

If a ConversationalAgentSignal is detected while a ConversationalAgentSession is active (listening, speaking, detecting), the AAR does not raise a ConversationalAgentTrigger background event. Instead, it raises the SessionInterrupted event to indicate that the digital assistant app should set itself to inactive and stop processing input. The digital assistant can then decide to ignore the new signal or use it in the context of the current session.


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).