BotFramework-Composer: Can't invoque remote skill

Describe the bug

I have a project with multiple skills, everything works when I invoke the skills locally, but when I deploy the skills and I try to invoke the remote skill I get the following error:

Error invoking the skill id: "<APP ID from the Bot Channel registration resource>" at "https://contactskilldev.azurewebsites.net/api/messages" (status is 401).

I followed the steps in https://docs.microsoft.com/en-us/composer/how-to-export-a-skill and https://docs.microsoft.com/en-us/composer/how-to-connect-to-a-skill and also set allowedCallers to "*" on the skill configuration settings. This is how one of the skill manifests looks like: { "$schema": "https://schemas.botframework.com/schemas/skills/skill-manifest-2.0.0.json", "$id": "ContactDetailsSkill-7561f7ff-d796-4774-a5ee-a2fe432cbbf4", "endpoints": [ { "protocol": "BotFrameworkV3", "name": "ContactManifest1", "description": "Contact Skill", "msAppId": "<APP ID from the Bot Channel registration resource>", "endpointUrl": "https://contactskilldev.azurewebsites.net/api/messages" } ], "name": "ContactDetailsSkillRemote", "version": "1.0", "publisherName": "CSCBot", "activities": { "ContactDetailsSkill": { "type": "event", "name": "ContactDetailsSkill" }, "GetContactDetailsDialog": { "type": "event", "name": "GetContactDetailsDialog" }, "conversationUpdate": { "type": "conversationUpdate" } } }

Version

1.3.0

Browser

  • Electron distribution
  • Chrome
  • Safari
  • Firefox
  • Edge

OS

  • macOS
  • Windows
  • Ubuntu

Expected behavior

I expect to be able to invoke remote skills

Additional context

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 15 (9 by maintainers)

Most upvoted comments

Closing this ticket. The issue was an invalid MsAppId for the consumer bot and the need to configure MsAppId’s for all the skills when one of them is remote.

Hi @srinaath , I’ll be sending you my project by email, my email is (pedro.ramirez@muraladvisors.com).

Thanks.

Nope. There are no special permissions to set up since all the calls to skills work and the skill logic works. It just fails when the skill logic ends and control shifts back to the root bot right? Was skills call made inside the Greeting trigger or inside a loop by any chance?

Yes, it fails when shift backs to the main bot; The main bot invokes the skill after presenting a menu (HeroCard) to the user, depending on the selection a particular skill is invoked, the skills ask for some user input and execute an api call, then it returns a response to the main bot and the main bot performs additional actions depending on the skills’ response, this does not occur inside a loop.

Inside the skill we have a few dialogs, the entry point dialog starts on both the greeting and inside an unknown intent that we have at the same level of the greeting; we did this because we found that when the skill is invoked from an external bot, the unknown intent is the one that starts our entry point dialog, but if we interact with the skill directly from the emulator, the greeting is the one that starts the entry point.