How to connect a published bot to bot channel registration on Azure - azure-web-app-service

I'm new to Azure. I had published a bot (developed locally) to Azure, e.g. named MyBot. It was shown as web service. Then I had created a bot channel registration on Azure e.g. named MyRegistration. As instructed, I wrote down the AppID and client secrete value from MyRegistration. In My Registration->settings, I put https://MyBot.azurewebsites.net/api/messages to the messaging endpoint. In MyBot->Configureation->Application settings, I added "MicrosoftAppId" and "MicrosoftAppPassword" and their values. I turned on "Web sockets" in MyBot->Configureation->General settings. I saved all the changes.
When I run "Test in Web Chat" in MyRegistration, nothing happened. In MyRegistration->Channels, there was "Issues" saying "There was an error sending this message to your bot: HTTP status code InternalServerError".
Can anybody help to point to what the reasons of failure were? Thank you very much.

Not sure the root reason, but I deployed my bot and go through this process but everything works perfectly for me. This is my steps below:
Deploy my bot service to Azure as a web app.
Create a Bot Channels registration, config my bot-message endpoint and Note Microsoft App ID:
Create a new secret, and note its value by clicking "Manage" Link:
Go to app service, and config App ID and App Password
Back to bot channel and have a web test. everything works as excepted:

Related

Can't talk to QnAMaker bot in Azure or Teams, but can locally with emulator

I created a QnAMaker bot through the website https://www.qnamaker.ai, which then took me through the steps creating the bot in Azure.
When I click on the Test in Web Chat section of the bot in Azure, before I've even typed anything, an error message arrives in Channels > Web Chat > Issues that states: "There was an error sending this message to your bot: HTTP status code Unauthorized"
I have download the code of the bot locally, and running it with npm, using ngrok and the Bot Emulator, I have successfully managed to connect to the bot and it works.
I haven't touched the AppID or Password in the Bot's settings in Azure, and these are the same credentials I used for the local bot that works.
Could someone please help?
Thanks
I solved this by removing the bot entirely and creating a brand new one. I think the issue with some sort of mix up with the AppID and AppPassword, even though they were both correct in the settings

Azure web chat testing shows "There was an error sending this message to your bot: HTTP status code Unauthorized"

I depolyed my microsoft bot to azure. After deployment I went to check my bot response through "Test in Web Chat", But it shows message could not send, So I went to channels and view my web chat then it shows "There was an error sending this message to your bot: HTTP status code Unauthorized".
Where I missed ? I do not do any mistakes in microsoft app id and microsoft app password. I correctly updated that.
Please help to resolve this issue.
You need to add the 'production' endpoint in the .bot file. This needs to be added by the developer after deployment, along with App Id and App Password. If your bot file does not have a production endpoint and you don't have the app id and password stored somewhere else, you will have to follow this guide to register your bot on the Azure Portal.
I have answered here: "There was an error sending this message to your bot: HTTP status code NotFound"
But I'll paste the answer here as well for convenience.
What solved my problem was changing the Protocol Setting of the App Service. IF you've deployed your bot using Bot Composer, in the resource group you will find 2 App Services -- one with a 'qna' suffix and the other without. Choose the one without the 'qna' suffix.
Select the App Service --> TLS/SSL settings --> HTTPS Only --> On

Installing a bot in Microsoft teams, the bot name is the Azure host not the bot name specified in the mandate

I have deployed a custom app in teams, which is an Azure hosted bot framework chatbot. To install I used teams "App Studio" app, where under "Bots" I selected my existing bot. I deployed to a specific team. Everything works perfectly, apart from the actual name of the bot in teams. Instead of the user being able to start a chat with the chatbot name #Dave, they have to start using the Azure host name #prodserver123. Anychats with the bot then display the bot messages as coming from #prodserver123.
I have gone through the manifest, the chatbot name is specified as #Dave everywhere, and the BotId on Azure is also #Dave.
Does anybody know how I might be able to resolve this please?
For sidealoaded apps Bot name and icon is taken from Bot Service. For apps which are published in Teams App Store, the Bot informatin is fetched from app manifest.
Also, Bot names are cached and that could be the reason you don't see updated name. Please sign out and sign in to clear out the cache.

No response from bot after publishing to Azure

I've built a bot locally on my PC, using the Microsoft Bot Builder v3.15.2.2 NuGet package.
Using the bot emulator v3.5.3.6 on my PC, I can connect to the bot and interact with it. After I published the bot to our Azure envirnoment, and using the Test in Web Chat option in the Bot Service page for my bot, I notice that the bot is not responding. I enter a message, press enter, but nothing comes back from the bot.
I have registered the bot using the https://apps.dev.microsoft.com/ website, and I copied the app ID and password from that site into the app settings of my bot web.config file. I can verify that those settings appear correct in the Application settings tab for my Azure Web App for the bot.
I've spent a long time looking at log streams, and diagnostic files via Kudu, but it's not clear to me why there is no response coming back from the bot. As another test, I edited the default.htm file of the project to include an iframe to host the bot chat window (the iframe code was obtained via the Channels tab on the bot service page). When I typed into the iframe, the same result occurs - I do not get a response from the bot.
Remote debugging with Visual Studio isn't really an option, as our company has strict security in place, and I doubt they will be willing to open ports for me to attach Visual Studio to the Azure Web App.
I'm at a standstill here, since I do not know what to do look for in diagnosing the issue. Any suggestion would be appreciated.
EDIT
I opened the DevTools and attempted to chat with the bot using the `Test in Web Chat tab in Azure. The following error was caught in the console window:
botchat.js:20 WebSocket connection to 'wss://webchat.botframework.com/v3/directline/conversations/<FOO>/stream?watermark=-&t=<FOO>' failed: Error during WebSocket handshake: Unexpected response code: 400
Note that I replaced token values with <Foo> for privacy. I hope this might be useful clue for someone.
Make sure your messaging endpoint is set to https://{botname}.azurewebsites.net/api/messages in the bot settings.
The problem was to do with our network proxy.
Basically, since testing the bot in Azure Portal uses websockets, our proxy by default blocks websocket access. So, boom, no response from the bot.
By changing our network settings for the bot config, we are no receiving responses from the bot.

Enabling Cortana channel in Azure Bot service

I am trying to enable Cortana channel to my Azure Bot Service. I am getting below message-
The bot was created by my official MSA ID under a subscription. I checked the publish profile and it seems the username and password is different and probably auto generated when I created the bot in Azure. Do I need to change the publish profile to use my official ID and password? In that case my credentials will be visible to anyone who is using the app in Azure portal.
Also my app seems to be registered on the bot framework portal-
However while navigating to-
https://dev.botframework.com/bots/channels?id=mybotid&channelId=cortana
I see the same message saying Cortana channel cannot be added.
Few observations-
Unable to edit the app ID field
Anyone can access the link- https://dev.botframework.com/bots/settings?id=mybotid even if the ownership is only having my email ID
Any help on this?

Resources