Attaching a custom Skill
aka.ms/VAReadyDemo3
Deploy a custom Skill
-
Create new project from Skill Template in Visual Studio. Give it a unique name and create it in the same directory your Virtual Assistant is in (i.e. if your Virtual Assistant is in
C:\Users\<USERNAME>\Source\Repos, place the custom Skill there as well) -
Build the solution to restore all packages
-
In a PowerShell Core window, navigate to the Skill's project directory, and run the following:
./Deployment/Scripts/deploy.ps1 -
You'll be prompted to enter the following:
- Bot Name - choose a unique name for the custom Skill. This will be used to create the AAD app registration and the resources
- Azure resource group region: eastus
- Password for MSA app registration: 16+ characters, 1+ special character(s), 1+ number(s)
- Create a new LUIS Authoring Resource?: y
- LUIS Authoring Region: westus
Once you've entered the parameters, the script provisions the Skill's Azure resources. It also publishes the initial cognitive models to LUIS and publishes the bot project to the App Service
-
After successful completion, go to the Azure portal, and navigate to the Skill's
Web App Botresource -
Note the name of the resource
-
Click the
Test in Webchatblade to test your deployed Skill with the utterance "sample dialog"
Connect the custom Skill to your Virtual Assistant
-
In the Skill project in Visual Studio, navigate to the
wwwroot\manifestfolder and open themanifest-1.1:-
Update
{YOUR_SKILL_URL}with the URL of your deployed Skill endpoint (SKILL_AZURE_NAME.azurewebsites.net) -
Update
{YOUR_SKILL_APPID}with the Active Directory AppID of your deployed Skill, you can find this within yourappSettings.jsonfile. -
Right-click on the project in the Solution Explorer window and select Publish
-
Enter the details for the Skill's Web App in Azure, and click Publish
-
Validate that you can retrieve the manifest from your Skill endpoint using the browser (
/manifest/manifest-1.1.json)
-
-
Navigate to your Virtual Assistant project directory, and run the following:
botskills connect --remoteManifest "http://<SKILL_AZURE_NAME>.azurewebsites.net/manifest/manifest-1.1.json" --luisFolder "..\..\<SKILL_PROJECT_NAME>\<SKILL_PROJECT_NAME>\Deployment\Resources\LU" --languages "en-us" --csOnce that command has run, your Skill is now connected to your local Virtual Assistant
-
Run your local Virtual Assistant
-
Open the Virtual Assistant configuration in the Emulator again. You should see the same welcome as before
-
Test the "sample dialog" utterance in the Virtual Assistant to see that the Skill is connected