can't send messages to created bot? - botframework

Okay, so, I'm trying to create a QnA bot with Azure and Microsoft Bot Framework. I think I managed to create it and got it linked to Teams, but when I go to Teams to test it, it gives me this message in the chat box:
"Sending new messages to this bot has been disabled by your administrator."
I'm not sure what I did wrong or how to fix it. I'm also not sure how I can link a bot I made with QnA Maker into the bot I just created with Azure. The tutorials I found online all talk about using Bot Service (preview) in Azure, but I can't choose that one from the available list.
Thanks in advance

Your Tenant Admin needs to go to the Teams Admin Centre:
Open the Teams Apps pulldown
Select Permission Policies
Click the "Org-wide app setttings" button in the top RH corner.
This shortcut will get them there: admin.teams.microsoft.com/policies/app-permission
From Org-wide app settings turn on one (or both?) of "Allow third party or custom apps", or just "Custom apps" (I'm not sure which it is these days) and then click Save.
Be aware that replication delays could take some hours or even overnight before this change manifests to you as a user though.

This is because your Office 365 admin has not enabled side-loading of Apps in MS-Teams for your user.
Ask the Admin to allow Side-Loading of Apps for you in the Admin console on the O365 dashboard.

I had the same problem. The tutorial is old
In Azure Portal, When creating, try to go to
AI + Machine Learning > Web App Bot
And Select Q&A if you are using QnA.
Then in Application Settings, scroll down and you will find
QnAKnowledgebaseId(1)
QnAAuthKey(2)
QnAEndpointHostName(3)
You put all the information you get from QnA
POST /knowledgebases/(1)xxxxxxxx/generateAnswer
Host: (3)https://xxxxxx
Authorization: QnAEndpointKey (2)xxxxxx
Content-Type: application/json
{"question":"<Your question>"}

I've had the same problem, it seems like the administrator needs to allow sideloading of apps.
see here:
https://learn.microsoft.com/en-US/microsoftteams/teams-app-permission-policies

Related

Is it possible to programatically add an event to my own Office 365 calendar without an Azure subscription?

According to this guide there are a jillion ways to integrate, some of which are beyond my understanding, but they seem to require a Client Id which is created via portal.azure.com
When I log into that site, it says I don't have a subscription. I don't really want an azure subscription - I have an office 365 subscription already.
Is there a way to integrate with office 365 without an azure subscription or some way that means I don't have to pay for Azure?
I have a program that runs as a windows service that books something, and when it's completed I simply wanted to insert the booking automatically into my outlook calendar.
To access Graph API you need to give a set of permissions to your app for selected endpoints and it can be done only in Azure portal.
Every Office 365 tenant has an Azure Active Directory.
To find it go into the Office 365 Administration dashboard, click the "Show All" menu down the left and side of the page, then click "Azure Active Directory". This will take you into the AAD admin pages in the Azure Portal.
From there you can register an application.

Teams channel in Azure Bot Service not working

I created an Azure Bot Service. When I test the service using "Test in Web Chat" it works as expected. When I add the Web Chat channel and use the Web Chat URL, it works as expected.
However, when I add the Microsoft Teams channel, it does not work as I expected. The Health Status shows "Healthy" (in "Channels (Preview)") and "Running" (in "Channels"). When I select "Open in Teams", I am redirected to Teams, but I do not see the bot as a user/bot I can chat with. I watched a video showing just that behavior as I was expecting, but the link only opens my Teams. I only have one other user in Teams and that user shows up. No sign of the bot. What am I missing?
I tried using the "Get bot embed codes". I put in the URL for the Mstreams href and instead of sending me to the bot user as I expected, I am redirected to the other user on the account (not the bot). What am I missing?
I've tried this using the "Channels" and the "Channels (Preview)" sections with the same results.
If relevant, I am still in the trial period with Azure and have not upgraded, but nothing says this should be an issue.
From all I can tell, I'm logging into the Azure portal and the Bot Framework portal with the same account as my Teams account. I'm using latest updated version of Chrome.
I don't think free account has anything to do with this. But the fact that the " bot embed codes" lead you to a different user, may be a configuration issue. Read Create a bot and Test and debug your Microsoft Teams bot in the Microsoft Teams documents for more information.
If you have successfully deployed to teams channel (teams channel registration), as per docs 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.
Alternately, In-order to test them in teams you need to take the app id from the Configuration page of the bot.
Once you search with the app ID in teams you would be able to see this bot as a contact in Microsoft Teams.
Refer:
Create a Teams app package and upload your app to the Teams client for testing. Learn how
Publish your bot as a Line of Business app in your organization's Teams Tenant App Catalog. Learn how
Publish your bot as an app in the Teams App store. Learn how
I think I have found the answer, though I'm still trying to retrace my steps to make sure this is accurate. I will update here if I find anything more of value.
Despite little/no documentation to this effect, bots apparently do not work in the free version of Teams. You have to at least:
create a developer version of Microsoft O365 (E5 license) (and go through all the rigamarole to get it setup properly)
add at least one more user to the organization
then open Teams
Then, I used the embed URL to get the bot to show up. (Again, the same process did not work with my free Teams account even with another user added to it).
For the record, I didn't need to change any admin settings once the three items above were completed.

Is there an easy way to add custom bot to Teams conversation

We want to easily add our custom bot to the conversation window when an user ping us. Currently we have to upload the zip file of the bot to the conversation every time. Ideally the bot should be found by searching in the "Add People" - just like how the real people been added. Several questions:
I noticed that the custom bot can be published. However, we don't want it to be published publicly, it needs to be Microsoft internally. Is it possible?
If the bot got published, can we add the bot to a conversation just by searching in the "Add People" box? If not, is there anyway to achieve this?
Thank you!
If you want to publish the bot for your organisation only, you can publish it in your tenants app catalog. You need to be a global admin or have the teams service admin role enabled to publish apps for your organization.
Publish apps in the Microsoft Teams Tenant Apps Catalog
As far as I know, this isn't possible yet. However when people search for your bot in the topbar, they can add the bot to a team or to their personal workspace.

Load 1:1 bot as tab in Teams

How can I load my 1:1 bot (so; a bot that doesn't work inside a channel) as a tab in Teams? The default manifest options only provide ways to set it as 1:1 (but then each user would have to add the bot manually) or as channel-bot (but that's more for commands rather then discussions).
So looking for something like this:
http://prntscr.com/nqzh37
Bots are supported only as part of conversation. This could be personal or team conversation. Currently, what you are looking for is not possible in Microsoft Teams.
You can publish an app to the Tenant Apps Catalog from where individual could install it. We are working on feature for Tenant admin to install certain apps for all the users.
One possible option is to 'Add a tab' and choose 'Website' and link to your bot. This would require you to run your bot in web chat, but in this way the bot would not be integrated into Teams, wouldn't listen for #mentions (as it wouldn't have been added as an app) yet would be accessible to any user who has access to that Teams channel. (This example links to "mockbot", accessible via the BotFramework-WebChat GitHub repo).
Keep in mind, this loads the website hosting the bot. In this example, mockbot utilizes the entire web page. Therefore, we only see the bot. If the bot is embedded with other content on the page, then the other content will be displayed, as well.
Click the '+' symbol:
Choose 'Website':
Give the bot/app a name and add the link:
Enjoy bot mayhem:
Hope of help!

How to add chat bot to the Skype contacts?? (for testing purpose)

I have created chat bot and integrated it to the Skype.
Its still under development. So I added contacts to with whom i'm testing it.
But When I click on Add to contacts, Its not getting added to their Skype. So I have to go to their machine, start their Skype and have to login to the bot framework on that machine and then it gets added to their Skype contact.
Is it defect? Or is this the only way to do it?
The Add to Skype link:
that you see in your dev.botframework.com portal does not require authentication. Just share that link with your test users and they will be able to add your bot to their skype contact list without you having to do anything,

Resources