Cortana interactions (XAML)

In Windows 10 you can extend the basic functionality of Cortana with voice commands that launch and execute a single action in an external application.

Note

A voice command is a single utterance with a specific intent, defined in a Voice Command Definition (VCD) file, directed at an installed app through Cortana.

A voice command definition can vary in complexity. It can support anything from a single, constrained utterance to a collection of more flexible, natural language utterances, all denoting the same intent.

A VCD file defines one or more voice commands, each with a unique intent.

The target app can be launched in the foreground (the app takes focus) or activated in the background (Cortana retains focus but provides results from the app), depending on the complexity of the interaction. For example, voice commands that require additional context or user input (such as sending a message to a specific contact) are best handled in a foreground app, while basic commands can be handled in Cortana through a background app.

Integrating the basic functionality of your app, and providing a central entry point for the user to accomplish most of the tasks without opening your app directly, lets Cortana act as a liaison between your app and the user. In many cases, this can save the user significant time and effort.

Tip The info in this topic is specific to developing Windows Store apps using C++, C#, or Visual Basic. See Responding to Cortana interactions (HTML) for Windows Store apps using JavaScript.

In this section

Topic Description

Launch a foreground app with voice commands in Cortana

In addition to using voice commands within Cortana to access system features, you can also use voice commands through Cortana to launch a foreground app and specify an action or command to execute within the app.

How to dynamically modify Voice Command Definition (VCD) phrase lists

Learn how to access and update the list of supported phrases (PhraseList elements) in a VCD file using the speech recognition result at run time.

Launch a background app with voice commands in Cortana

In addition to using voice commands within Cortana to access system features, you can also extend Cortana with features and functionality from a background app using voice commands that specify an action or command to execute within the app.

How to interact with a background app in Cortana

Learn how a user can interact with a background app through the Cortana voice and canvas during the execution of a voice command.

How to support natural language voice commands in Cortana

Learn how Cortana can be extended with more flexible and natural voice commands that let a user say the app name anywhere in the command.

Responding to user interaction

VCD elements and attributes v1.2

Designers

Cortana design guidelines