I'm trying to create a bot using the Azure Portal, trying to follow some tutorials from the documentation. Specifically, these:
Microsoft Docs https://learn.microsoft.com/en-us/azure/bot-service/abs-quickstart?view=azure-bot-service-4.0
Azure 4 Everyone https://youtu.be/-FHc_lZ6jJY
When I got to the Azure portal and try to create a Web App Bot however, I am unable to choose a template. It seems to assume I want to create a QnA Bot, which is not the case. I've been doing tutorials and research for a few days; I'm pretty sure I recall this was not the case as of yesterday.
Did something get updated? Is using the Visual Studio template my only option now? I was hoping to use VS Code for the development once I downloaded the basic bot template.
Edit: I include a screenshot here of the blade I get when clicking "Create" on Web App Bot in the Marketplace.
URL: https://portal.azure.com/?Microsoft_Azure_BotService_subscriptionId=a2096f22-5a26-42bf-962a-aa232ff81cfe&Microsoft_Azure_BotService_qnaHostName=qna-testbot-001.azurewebsites.net&Microsoft_Azure_BotService_qnaKbId=87f53208-171f-4323-9905-3257bef5cdf3&Microsoft_Azure_BotService_csResourceGroupName=rg-bot-dev-001&Microsoft_Azure_BotService_csAccountName=qna-testbot-001&botsvc.rp=true#create/Microsoft.BotServiceSdkGalleryPackage
Looks like some folks might just be getting the wrong link in the Azure Portal for some reason. This one should work.
You should be able to choose from:
C# or Node, then
Echo Bot or Basic Bot
In the Azure Portal, click "Create a resource"
In the search bar, type "Web App Bot" and click Create
Then select the appropriate bot under Bot template
Alternatively, you can start with any of the samples, which offers a much much wider selection of starting points.
Related
I have used the Bot Builder Teams messaging extension sample and successfully debugged the project locally on my machine using ngrok. I then proceeded to follow the Azure deployment instructions, and successfully deployed my bot project to Azure.
However, I cannot find instructions regarding what values need to change within my project to now use the assets within Azure. I have enabled the Teams channel on the Bot Channel Registration resource that was provisioned, and I tried updating the botId value within my project's manifest file to match that of the newly provisioned app registration. But I'm still receiving an 'unable to reach app' message when sideloading the app in Teams.
Are there instructions regarding how/what to change within the project so it uses the Azure assets rather than my local ones?
To narrow down what's wrong, have you tried using the Web Chat to test the bot ? If this works, then the bot is working fine in Azure and the issue is for local teams to reach Azure.
Also verify that you are using the right AppID and Password.
Once you have verified that the bot is working in Azure, at the bottom of this page, you will see steps to get a url that you can paste to get the bot added in your local MS Teams instance. (quoting below for quick access)
Copy the https part of the code that is shown in the Get bot embed code dialog. For example,
https://teams.microsoft.com/l/chat/0/0?users=28:b8a22302e-9303-4e54-b348-343232.
In the browser, paste this address and then choose the Microsoft Teams app (client or web) that you use to add the bot to Teams. You
should be able to see the bot listed as a contact that you can send
messages to and receives messages from in Microsoft Teams.
I did finally get my bot working, but found several missing steps within the deployment documentation. I have reported them in a GitHub issue, associated with the relevant documentation article.
I'm having really annoying problems getting my bot to work in MS Teams. I created it using Bot Framework v4 and deployed it to Azure. I deployed the bot using Direct Line from the "channels" blade and it's working ok. Then in the same blade I deployed it to MS Teams. And that caused issues.
People are telling me that the problem has to do with something about a manifest file and a "valid domains" setting I have to edit. I don't know what those are and I never had to do any of this when I told Azure to deploy it to MS Teams. It seems there's a whole different way to deploy the bot to teams, which is using App studio. I tried that way, and now I see another different issue.
So it doesn't work for me when I deploy with Azure or using App Studio. And I want to research and fix the issues, but first I need to know which method should I try to fix? Which am I supposed to use to deploy to MS Teams? Azure or App Studio?
Note: I'm not asking how to fix these issues. I want to know which method of deployment I am supposed to use. What's the difference?
Let's get the terminology straight first. You are building a bot. In Teams, a bot is just one of the possible capabilities of a Teams app. (The others are tabs, connectors, and messaging extensions.)
The definition of a Teams app is defined at a high level here.
Creating an app package (which is one of the things App Studio can do) is defined here - App Studio can also sideload/upload apps (see below).
Once you've created it, you need to make it available within Teams, first for yourself (and potentially others, if it's allowed in your tenant) via sideloading/uploading, or for your entire organization if you like. That's defined in Upload an app package, with in-depth discussion of the tenant app catalog here.
I deployed my QnAmaker chatbot using the new GA QnAmaker portal today. But after creating the knowledge base, i can't find the channels tab in Azure anymore.
In the channels tab, you could deploy the chatbot to different channels like Microsoft Teams or the Webchat.
Has anyone found this tab in Azure?
You just created your QnAMaker knowledge base and all the necessary items to use it (web app to host the service, Azure Search for the search part).
Now the next step is to create a bot by doing the following:
On Azure, create a Web App Bot
Use Question And Answer bot template in order to have the basic code to call QnAMaker already implemented
Once it is created, you will have at least the following resources: one Web App bot (to manage channels) and one App Service (hosting your bot code)
Go to the Web App Bot item
Select Application Settings menu, you will found several settings: QnAKnowledgebaseId, QnAAuthKey and QnAEndpointHostName
Fill those values with your QnA settings:
QnAKnowledgebaseId: it's your knowledge base Id on QnaMaker.ai website
QnAAuthKey: it's the Authorization EndpointKey value on QnaMaker.ai website (check https://www.qnamaker.ai/UserSettings)
QnAEndpointHostName: the endpoint location where you published your KB (also visible on https://www.qnamaker.ai/UserSettings)
Save
Then it's working ;-) and you can set the channels you want on the Channels menu of this Web App Bot item
Yes! It's still there. QnA MAker going GA has no impact on its functionalities but the way of implementation to some extent, which is of course in a good sense.
You Can find it on Azure Portal => Web App Bot => Bot Management section
Happy Coding!
Once the bot is created using qnamaker.ai, I wanted to deploy it in Azure using the SDK and publishing from VS2017, which let me define the top parameter to enable the Active Learning as shown in https://github.com/Microsoft/BotBuilder-CognitiveServices/tree/master/CSharp/Samples/QnAMaker
But when I want to register it in dev.botframework the end point URL doesn't work.
If I use Azure Bot Service template, is not possible to set the top parameter but registering in my Bots is ready straight forward.
I have realized that the URL from Azure template contains some extra info, that is not available in my web app
...code=2xDGuyPbupZIm8zsDOucgcHDvXO908dPIad2LFG2y/37TPecdMfQEw==
A "typical" URL from Azure, that work with other deployed Bots is https://"MyBotName".azurewebsites.net/api/messages
Please, can you help enabling the active learning in Azure templates for a Q&A bot?
Can you explain me what should I add to get the "extra details" in my Web app URL?
I think there is some misunderstanding here. The QnA Maker site is not creating any bot for you. It just provisions the QnA service (a rest API).
If you want to have a bot on top of the service you created, grab the code of the QnABotWithActiveLearning sample that you linked, update the QnADialogWithActiveLearning.cs class to include your QnA subscription key (that you can get from the Settings tab of your QnA service), update MicrosotAppId and MicrosoftAppPassword settings on the Web.config with the ones you got from the BotFramework developer portal and deploy to Azure as a Web App.
Once done, you will have the standard websites URL https://"MyBotName".azurewebsites.net and the API endpoint https://"MyBotName".azurewebsites.net/api/messages.
Then just update your bot URL in the BotFramework portal with this URL.
I'm working on a bot (in testing) using the Azure Bot framework and the chat embed code. I had started from the LUIS framework template and embedded it into a section of my website several days ago. It was working as expected, but now all of the files/code for it (using the Azure editor) seem to be erased and the chat embed throws a 502.
This looks like it may be similar to this: How to recover a bot made with Azure Bot Service (Botframework)?
But that did not have an answer that I could work on for my end.
This is just a test bot (so I didn't use the continuous integration/source control anyhow), and mostly for learning at this point, but any help is greatly appreciated.
Thanks!
Please download the Azure Storage Explorer from here: http://storageexplorer.com/
Login, and navigate to your resource group's Storage Account. When you open it, you'll see File Shares. There you'll find the source for your bot.
The Bot Service and Bot Framework are currently in preview and being improved upon daily. We apologize for this inconvenience, and hope your future experiences with the Bot Framework are productive and enjoyable.