|
| 1 | +--- |
| 2 | +title: 'How To: Export Custom Commands application as a remote skill - Speech service' |
| 3 | +titleSuffix: Azure Cognitive Services |
| 4 | +description: In this article, you learn how to export Custom Commands application as a skill |
| 5 | +services: cognitive-services |
| 6 | +author: singhsaumya |
| 7 | +manager: yetian |
| 8 | +ms.service: cognitive-services |
| 9 | +ms.subservice: speech-service |
| 10 | +ms.topic: conceptual |
| 11 | +ms.date: 09/30/2020 |
| 12 | +ms.author: sausin |
| 13 | +--- |
| 14 | + |
| 15 | +# Export Custom Commands application as a remote skill |
| 16 | + |
| 17 | +In this article, you will learn how to export a Custom Commands application as a remote skill. |
| 18 | + |
| 19 | +## Prerequisites |
| 20 | +> [!div class="checklist"] |
| 21 | +> * [Understanding of Bot Framework Skill](https://aka.ms/speech/cc-skill-overview) |
| 22 | +> * [Understanding of Skill Manifest](https://aka.ms/speech/cc-skill-manifest) |
| 23 | +> * [How to invoke a skill from a Bot Framework Bot](https://aka.ms/speech/cc-skill-consumer) |
| 24 | +> * An exisiting Custom Commands application. In case you don't have any Custom Commands application, try out with - [Quickstart: Create a voice assistant using Custom Commands](quickstart-custom-commands-application.md) |
| 25 | +
|
| 26 | +## Custom Commands as remote skills |
| 27 | +* Bot Framework Skills are re-usable conversational skill building-blocks covering conversational use-cases enabling you to add extensive functionality to a Bot within minutes. To read more on this, go to [Bot Framework Skill](https://microsoft.github.io/botframework-solutions/overview/skills/). |
| 28 | +* A Custom Commands application can be exported as a skill. This skill can then be invoked over the remote skills protocol from a Bot Framework bot. |
| 29 | + |
| 30 | +## Configure an application to be exposed as a remote skill |
| 31 | + |
| 32 | +### Application level settings |
| 33 | +1. In the left panel, select **Settings** > **Remote skills**. |
| 34 | +1. Set **Remote skills enabled** toggle to on. |
| 35 | + |
| 36 | +### Authentication to skills |
| 37 | +1. If you want to enable authentication, add Microsoft Application Ids of the Bot Framework Bots you want to configure to call the custom commands application. |
| 38 | + > [!div class="mx-imgBorder"] |
| 39 | + >  |
| 40 | +
|
| 41 | +1. If you have at least one entry added to the list, authentication will be enabled on the application, and only the allowed bots will be able to call the application. |
| 42 | +> [!TIP] |
| 43 | +> To disable authentication, delete all the Microsoft Application Ids from the allowed list. |
| 44 | +
|
| 45 | + ### Enable/disable commands to be exposed as skills |
| 46 | + |
| 47 | +You have the option to choose which commands you want to export over Remote Skills. |
| 48 | + |
| 49 | +1. To expose a command over skills, select **Enable a new command** under the **Enable commands for skills**. |
| 50 | +1. From the dropdown, select the command you intend to add. |
| 51 | +1. Select **Save**. |
| 52 | + |
| 53 | +### Configure triggering utterances for commands |
| 54 | +Custom Commands uses the example sentences which are configured for the commands in order to generate the skills triggering utterances. These **triggering utterances** will be used to generate the **dispatcher** section [**skill manifest**](https://microsoft.github.io/botframework-solutions/skills/handbook/manifest/). |
| 55 | + |
| 56 | +As an author, you might want to control which of your **example sentences** are used to generate the triggering utterances for skills. |
| 57 | +1. By default, all the **Triggering examples** from a command will be included the manifest file. |
| 58 | +1. If you want to explicitly eliminate any one example, select **Edit** icon on the command from **Enabled commands for skills** section. |
| 59 | + > [!div class="mx-imgBorder"] |
| 60 | + >  |
| 61 | +
|
| 62 | +1. Next, on the example sentences you want to omit, **right click** > **Disable Example Sentence**. |
| 63 | + > [!div class="mx-imgBorder"] |
| 64 | + >  |
| 65 | +
|
| 66 | +1. Select **Save**. |
| 67 | +1. You will notice that you can't add a new example in this window. If there's a need to do so, proceed to the exit out of the settings section and select the relevant command from **Commands** accordion. At this point, you can add the new entry in the **Example sentences** section. This change will be automatically reflected in the remote skills settings value for the command. |
| 68 | + |
| 69 | +> [!IMPORTANT] |
| 70 | +> In case your existing example sentences have references to **String > Catalog** data-type, those sentences will be automatically omitted from the skills triggering utterances list. |
| 71 | +
|
| 72 | +## Download skill manifest |
| 73 | +1. After, you have **published** your application, you can download the skill manifest file. |
| 74 | +1. Use the skill manifest to configure your Bot Framework consumer bot to call in to the Custom Commands skill. |
| 75 | +> [!IMPORTANT] |
| 76 | +> You must **publish** your Custom Commands application in order to download the skill manifest. </br> |
| 77 | +> Additionally, if you made **any changes** to the application, you need to publish the application again for the latest changes to be reflected in the manifest file. |
| 78 | +
|
| 79 | +> [!NOTE] |
| 80 | +> If you face any issues with publishing the application and the error directs to skills triggering utterances, please re-check the configuration for **Enabled commands for skills**. Each of the exposed commands must have at least one valid triggering utterance. |
| 81 | +
|
| 82 | + |
| 83 | +## Next steps |
| 84 | + |
| 85 | +> [!div class="nextstepaction"] |
| 86 | +> [Enable a CI/CD process for your Custom Commands application](./how-to-custom-commands-deploy-cicd.md) |
0 commit comments