Quickstart: Create a voice assistant with custom commands


Custom Commands will be retired on April 30th 2026. As of October 30th 2023 you can't create new Custom Commands applications in Speech Studio. Related to this change, LUIS will be retired on October 1st 2025. As of April 1st 2023 you can't create new LUIS resources.

In this quickstart, you create and test a basic custom commands application using Speech Studio. You can also access this application from a Windows client app.

Region Availability

At this time, custom commands support speech resources created in regions that have voice assistant capabilities.


Go to the Speech Studio for custom commands

  1. In a web browser, go to Speech Studio.

  2. Enter your credentials to sign in to the portal.

    The default view is your list of Speech resources.


    If you don't see the select resource page, you can navigate there by choosing "Resource" from the settings menu on the top bar.

  3. Select your Speech resource, and then select Go to Studio.

  4. Select Custom commands.

    The default view is a list of the custom commands applications you have under your selected resource.

Import an existing application as a new custom commands project

  1. Select New project to create a project.

  2. In the Name box, enter project name as Smart-Room-Lite (or something else of your choice).

  3. In the Language list, select English (United States).

  4. Select Browse files and in the browse window, select the SmartRoomLite.json file.

    Create a project

  5. In the LUIS authoring resource list, select an authoring resource. If there are no valid authoring resources, create one by selecting Create new LUIS authoring resource.

    1. In the Resource Name box, enter the name of the resource.
    2. In the Resource Group list, select a resource group.
    3. In the Location list, select a location.
    4. In the Pricing Tier list, select a tier.


    You can create resource groups by entering the desired resource group name into the "Resource Group" field. The resource group will be created when Create is selected.

  6. Next, select Create to create your project.

  7. After the project is created, select your project. You should now see overview of your new custom commands application.

Try out some voice commands

  1. Select Train at the top of the right pane.
  2. Once training is completed, select Test and try out the following utterances:
    • Turn on the tv
    • Set the temperature to 80 degrees
    • Turn it off
    • The tv
    • Set an alarm for 5 PM

Integrate custom commands application in an assistant

Before you can access this application from outside Speech Studio, you need to publish the application. For publishing an application, you need to configure prediction LUIS resource.

Update prediction LUIS resource

  1. Select Settings in the left pane and select LUIS resources in the middle pane.

  2. Select a prediction resource, or create one by selecting Create new resource.

  3. Select Save.

    Set LUIS Resources


Because the authoring resource supports only 1,000 prediction endpoint requests per month, you will mandatorily need to set a LUIS prediction resource before publishing your custom commands application.

Publish the application

Select Publish on top of the right pane. Once publish completes, a new window appears. Note down the Application ID and Speech resource key value from it. You need these two values to be able to access the application from outside Speech Studio.

Alternatively, you can also get these values by selecting Settings > General section.

Access application from client

In the scope of this article, we're using the Windows Voice Assistant client you downloaded as part of the prerequisites. Unzip the folder.

  1. Launch VoiceAssistantClient.exe.
  2. Create a new publish profile and enter value for Connection Profile. In the General Settings section, enter values Subscription Key (this is same as the Speech resource key value you saved when publishing the application), Subscription key region and custom commands app ID.

    Screenshot that highlights the General Settings section for creating a WVAC profile.

  3. Select Save and Apply Profile.
  4. Now try out the following inputs via speech/text

    WVAC Create profile


You can select entries in Activity Log to inspect the raw responses being sent from the custom commands service.

Next steps

In this article, you used an existing application. Next, in the how-to sections, you learn how to design, develop, debug, test and integrate a custom commands application from scratch.