Getting started with Cortana skills

To create a skill, use the Azure Bot Service to create a bot. The framework provides two options that you can use to build your bot: a .NET SDK or a Node.js SDK.


For an overview of the framework, see How the Azure Bot Service works. These are the Bot Framework topics that will tell you what you need to know in order to build and deploy your first bot.

After you create a bot, you need to enable speech. This is covered in the Add speech to your Cortana skill page.

Use the online editor to create your Cortana skill

Topic Description
Create your first Cortana skill Tutorial to quickly build a bot for your Cortana Skill.
My bots list, configured for Cortana View or create bots for your Cortana Skill.

Use Visual Studio to create your Cortana skill

Topic Description
Create a bot with .NET
Create a bot with Node.js
Guide that walks you through installing the SDK, creating your first bot, and running it.
Add speech to your bot with .NET
Add speech to your bot with Node.js
Shows the mechanisms that you use to add speech to bots.
Build a speech bot with .NET
Build a speech bot with Node.js
Shows how to add speech to bots.
Deploy a bot to the cloud Shows how to deploy your bot to the cloud.

If you successfully followed the steps in the table above, then you've already run your skill in the Bot Framework emulator. To run your skill locally in Cortana, there are two more steps. First, use the Register a bot with Bot Service page to register your bot. This will get your app ID and password. Then, connect your bot to Cortana using the Connect a bot to Cortana page. For this exercise, specify only the configuration settings listed in the General bot information section.

Configuring your bot with the Cortana channel adds your skill to Cortana on your computer. To ensure the skill has been added, visit the My Bot List Configured for Cortana page. You must sign into Bot Framework using the same Microsoft account that you used to register your Cortana Skill in Azure. For information about specifying an invocation name, see Invocation name guidelines.

If you see your Cortana skill on the list, then you can invoke your skill from Cortana. But before invoking your skill, make sure that:

  1. You're signed into Cortana using the same Microsoft account that you used to register the skill in the Bot Framework. To confirm:

    1. Open Cortana by clicking Type here to search in the task bar.


    1. Open Cortana Notebook by clicking the notebook icon.

    Cortana's Notebook

    1. Click About Me
    2. Confirm the account shown is the same one you used to register your skill. If not, sign out and then sign back in with the correct account.
  2. Cortana's microphone is enabled.

    1. Open Cortana

    2. Open Cortana's settings

    Cortana settings

    1. Under Microphone, click Get started

When you're all set, click the Cortana microphone and invoke your skill. For example, if your invocation name is Contoso Photo, you can invoke your skill by saying, Ask Contoso Photo to... or Tell Contoso Photo that.... When Cortana recognizes your skill, it launches and displays on the canvas.

If you have any issues, see Testing and debugging Cortana skills.

Next steps

To design the perfect skill, see Principles of Cortana skills design.

To make your skill smart, add intelligence to your skill with Cognitive Services.

To add UI elements, see Add cards to your skill using Node.js or Add cards to your skill using .NET. Cortana supports adaptive, hero, thumbnail, receipt, and sign-in cards. In addition to cards, Node.js users can use a set of built-in prompts (Prompt for user input) to simplify collecting inputs from a user. For example, you can use the choice prompt to present a list of choices that the user can pick from, or you can use the confirm prompt to confirm an action. For a list of prompts, see Prompt types.

To add natural language understanding to your skill, see Recognize intents and entities with LUIS for Node.js, or Recognize intents and entities with LUIS for .NET.

To personalize your skill, see Use the user's profile and contextual information.

To publish your skill locally to a group of friends or coworkers, or to publish it to the world, see Publishing Cortana skills.