Hi,
I followed these steps to connect to BF skill from my PVA bot and, I'm stuck on parsing manifest step. I am not sure what is wrong in my manifest file. Based on the error in screen shot 'We ran into problems getting the Skill manifest' it looks like validation step 'Validate if Skill manifest can be retrieved' is failed. Does this mean this pva tool is not able to download the manifest from the URL location?
I actually uploaded sample manifest to azure blob, created shared signature, and able to see manifest file is available anonymously as well. Not sure still why PVA is not able to get it from provided URL.
Thoughts?
Is this related to The Azure AD Challenge mentioned here ?
It is super important to note that to add a skill to PVA, the user signed in PVA can only add a skill that is in her/his tenant. Also, there's an issue which is being tracked by the Product team i.e. if you're developing a bot using Skill's template so it won't populate the home page of App Registration with the bot's URL
The skill bot I;m trying to connect to PVA is hosted on local using ngrok so I dont understand how 'user signed in' is even valid here.
@pawan-msftany help is much appreciated. I saw you on other thread I mentioned.
@pawan-msft, Thank you for the details. W.r.t error I was getting I got it resolved today with following updates in V4 skill. ( I was not using v3 sdk bot )
I am using node v4 sdk, typescript skill bot.
Class: /node_modules/botbuilder-core/lib/telemetryLoggerMiddleware.js
Solution: latest v4 js sdk code break on line #157 and #158 so I had to comment those and, assign empty string to recipient.name and recipient.id. Basically activity object doesn't have recipient object popuated so it simply throws an error.
Here is the stack trace:
TranscriptLoggerMiddleware logActivity failed: "Cannot read property 'id' of undefined"
transcriptLogger.ts:165
TypeError: Cannot read property 'id' of undefined
at AzureBlobTranscriptStore.<anonymous> (/node_modules/botbuilder-azure/lib/azureBlobTranscriptStore.js:70:49)
at Generator.next (<anonymous>)
at fulfilled (/node_modules/botbuilder-azure/lib/azureBlobTranscriptStore.js:11:58)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
@Anonymous -
Sorry to see you go through this experience. We need to improve our documentation and provided better guidance to folks trying to build skills and integrate with PVA. As a first step, we're making the errors we emit a bit more self explanatory in our documentation. While our official documentation page will update in a few days, here's a sneak peak at the changes you'll see.
With respect to the error you're seeing ("Something went wrong while checking your Skill.") -- it seems that your bot is a V3 SDK bot. We only officially support bots built using v4 SDK at this time. There are some known issues with wrapping a v3 SDK bot as a Skill and integrating it with PVA. Please open a github issue here for further help,
>> https://github.com/microsoft/botframework-sdk/issues
-Pawan
Error message | Troubleshoot / Mitigation |
We ran into problems getting the skill manifest. (MANIFEST_FETCH_FAILED) | Try opening your manifest URL in a web browser. If the URL renders the page within 10 seconds, please re-register your Skill. |
The manifest is incompatible. (MANIFEST_MALFORMED) | (a) Check if the manifest is a valid JSON file. (b) Check if the manifest contains required properties E.g.(name, msaAppId, single endpoint, activities/id, activities/description, activities/type (only event or message supported) ) |
There is a mismatch in your endpoints (MANIFEST_ENDPOINT_ORIGIN_MISMATCH) | Check if your Skill endpoint matches your Azure AD application registration's Publisher domain (preferred) or Home page URL field. Learn more |
To add a skill, it must first be registered (APPID_NOT_IN_TENANT) | Check if your skill's application ID is registered in your organization's Azure AD tenant. |
The link isn't valid; The link must begin with https:// (URL_MALFORMED, URL_NOT_HTTPS) | Re-enter the link as a secure URL. |
The manifest is too large; (MANIFEST_TOO_LARGE) | Check size of the manifest. It must be less than or equal to 500KB. |
This Skill has already been added to your bot. (MANIFEST_ALREADY_IMPORTED) | Delete the Skill and try registering again. |
The Skill is limited to 25 actions. (LIMITS_TOO_MANY_ACTIONS) | There are too many Skill actions defined in Skill manifest. Remove actions and try again. |
Actions are limited to 25 inputs. (LIMITS_TOO_MANY_INPUTS) | There are too many Skill action input parameters. Remove parameters and try again. |
Actions are limited to 25 outputs. (LIMITS_TOO_MANY_OUTPUTS) | There are too many Skill action output parameters. Remove parameter and try again. |
Your bot can have a maximum of 25 Skills. (LIMITS_TOO_MANY_SKILLS) | There are too many Skills added into a bot. Remove an existing Skill and try again. |
It looks like something went wrong. (AADERROR_OTHER) | There was a transient error while validating your Skill. Please retry. |
Something went wrong while checking your Skill. (ENDPOINT_HEALTHCHECK_FAILED, HEALTH_PING_FAILED) | Check if your Skill endpoint is online and responding to messages. |
This skill has not allow listed your bot (ENDPOINT_HEALTHCHECK_UNAUTHORIZED) | Check if your bot has been added to the Skills allowlist. Learn more |
I resolved very last error I mentioned by adding home URL to AD app tied to the azure app. This is the latest error I have and cant get around it. Omg its so frustrating as there is not to know what s going wrong.
error simple says 'Something went wrong while checking your skill.'
@ArafatTehsin I read your post and solution as well but, it didn't work out. Any help you can offer is appreciated.
I was able to resolve above errors and now stuck at following. 'The manifest is incompatible.'
I have used same json format and structure mentioned herehttps://docs.microsoft.com/en-us/azure/bot-service/skill-implement-skill?view=azure-bot-service-4.0&tabs=javascript#skill-manifest and just updated endpointUrl andmsAppId
Okay here is my latest updated after trying few things, I understood from above error that manifest URL I am putting there is somehow not in reach by PVA. Not sure what's the deal there so I uploaded json here http://myjson.com/
and now looks like after re-running validation process, I am getting different error.
This skill couldn't be validated. Review details and try again
In the documentation it says 'Contact your Skills developer. Please add in the Manifest URL to the Home Page in the Azure Portal and re-validate the Skill.' so I did this part.
After re-running validation step on PVA I'm getting same error.
For testing purposes I just added my manifest to one of my github repo's but, still gives same error.
Here is my manifest json
{ "$schema": "https://schemas.botframework.com/schemas/skills/skill-manifest-2.0.0.json", "$id": "yammerBot", "name": "yammerBot", "version": "1.0", "description": "This is a sample echo skill", "publisherName": "Microsoft", "privacyUrl": "https://echoskillbot.contoso.com/privacy.html", "copyright": "Copyright (c) Microsoft Corporation. All rights reserved.", "license": "", "iconUrl": "https://echoskillbot.contoso.com/icon.png", "tags": [ "sample", "echo" ], "endpoints": [ { "name": "default", "protocol": "BotFrameworkV3", "description": "Default endpoint for the skill", "endpointUrl": "https://2cadf019.ngrok.io/api/messages", "msAppId": "bef3ca2f-4ab9" } ], "activities": { "message": { "type": "message", "description": "Receives the user's' utterance and attempts to resolve it using the skill's LU models", "value": { "$ref": "#/definitions/accountNumber" } } }, "definitions": { "accountNumber": { "type": "object", "required": [ ], "properties": { "locale": { "type": "string", "description": "The current user's locale ISO code" } } }} }
I came across thishttps://powerusers.microsoft.com/t5/Power-Virtual-Agents-Forum/Can-t-connect-my-PVA-to-the-Skill/m-p/457752#M665
But still can't understand if I can connect my local running skill.