Hello
I am trying to add a Skill to test PVA.
I built and deployed the experimental WeatherSkill: it works when testing in Azure Web Chat (returns the current weather).
But when I try to add it to the PVA following the instructions at https://docs.microsoft.com/en-us/power-virtual-agents/configuration-add-skills
1) I don't know what to do with the PVA application id in the Skill...
2) if I don't do anything and try validate the skill manifest it returns two errors
-----------------------
{ "id": "WeatherSkill", "msaAppId": "xxxxxx-xxxxx-xxx-xxxx-xxxxxxxx", "name": "WeatherSkill", "endpoint": "https://myskillname.azurewebsites.net/api/skill/messages", "description": "The weather skill provides an example of displaying the current weather using AccuWeather.", "authenticationConnections": [], "actions": [ { "id": "WeatherSkill_getForecast", "definition": { "description": "Showing the weather forecast.", "slots": [ { "name": "location", "types": [ "string" ] } ], "triggers": { "utteranceSources": [ { "locale": "en-us", "source": [ "WeatherSkill#CheckWeatherValue" ] } ] } } } ] }
@rvalli - Wow! Amazing to see that you've already built a Skill and attempting to register it with Power Virtual Agents. Could you please answer a few questions,
1) What Bot Framework SDK have you built your SDK on? Power Virtual Agents only supports Skills built using Virtual Assistant templates 4.5 at this time.
2) Have you authorized your bot to call the Skill endpoint? I believe you need to copy the bot ID and add it to the Skill's allowlist.
Thank you,
Pawan
My answers:
1) See the attached screenshot for the SDK version...I just cloned the repository from here:
https://github.com/microsoft/botframework-solutions
Then built the Skill under skills/csharp/experimental/weatherskill then deployed on Azure. It works. It looks like it's using 4.6.1, but 4.5.4 for Microsoft.Bot.Builder.Skill.
2) I don't know how to authorize the bot to call the skill endpoint, I mean I don't see mention of an "allow list" anywhere...
@rvalli - Thank you for your patience while we investigate further. Here are recommendations,
1) For the language issue - please update your Skill manifest to emit "en" for the locale property. We have a bug where we expect the locale property to only contact language code.
2) For the endpoint issue - there is a known issue in Bot Framework Solutions repo (see solution) that may be causing the issue. You need to set the Skill's homepage using the 'az' command, AAD cmdlets or https://aad.portal.azure.com
Let us know how you fare.
-Pawan
Thank you @pawan-msft for the workaround suggestion, I have been able to add the skill to the PVA and add it in the flow of a topic.
The same skill works in Azure as a standalone bot.
Basically I added some trigger phrases like
tell me the weather in Boston
is it raining in London?
etc...
then added a question with a variable mapped to a City entity
and passing it to the weather skill that expects a location text variable as input.
Issues:
sometimes the trigger phrases work, sometimes not (for example it may work for "London" but not for "Boston" etc)
When it works the town is mapped to the variable correctly but then when it reaches the Skill block it returns an error.
So I flagged an issue in the conversation.
Still I don't know what to do about the "allow list" you mentioned and for which I need to set the PVA AppId somewhere in the skill...may this cause the issue? where do I put the AppId? I mean where do I find this "Allow list"?
Re: calling the skill fails intermittently - Does it always work for London? Does it always fail for Boston? If these are intermittent failures & not related to the specific city, it may be necessary to look at the App Insights logs from the skill. Turning on "always on" may help
Re: Allow List - this refers to what is called "Whitelist Authentication" in the bot framework solutions documentation . You would plug the "allow list" id from bot designer into AppsWhitelist in the skill to secure the skill. I don't think this is related to your issue.
Hope this helps!
I also having same issue when i add a skill.
"Currently, skills are only supported in English. Contact your skill developer."
I have change the "locale": "en-us" to "locale": "en" but still not working. How did you manage to make it work.
I'm trying to add the calendar skill to my PVA - "https://github.com/microsoft/botframework-solutions/tree/master/skills/csharp/calendarskill"
Removing calendarskill_summary from manifestTemplate.json should solve the "English" issue at import time, as the English check wants all actions in a skill to have triggers.utteranceSources.locale set to English, and calendarskill_summary does not have utterance triggers.
You will likely encounter other issues with this particular skill. For example, Power Virtual Agent will not pass tokens related to authenticationConnections in the manifest to the skill. eg: The skill would need to get its own tokens via OAuthCard.
https://microsoft.github.io/botframework-solutions/skills/samples/restaurant-booking/ is a simple skill with no authenticationConnections for example.
Keep up to date with current events and community announcements in the Power Virtual Agents community.
A great place where you can stay up to date with community calls and interact with the speakers.
User | Count |
---|---|
4 | |
3 | |
2 | |
2 | |
2 |