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

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.

Related

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.

how to show bot in microsoft teams for all the people in organization

I want to show up Chat bot to all the people in the project
Curently if anyone want to see the bot ,the person need to search appid in microsoft teams and then we are able to connect to chatbot
But i want something like bot should be visible in either chat window/apps to all the people in project by default
Can anyone suggest how can we do this else can please share the supported documents
Thanks
Could you please take a look at Publish your app to your organisation. Your app needs to be added by the admin of the tenant in the teams admin center to be visible to all the members in the organisation.
In the Microsoft Teams Admin centre (https://admin.teams.microsoft.com/) there is a section called "Teams apps", which allows you to define different policies. Inside there, you can (a) define a policy and (b) assign it to a set group of users. These policies allow you to:
make an app available to a specific group
auto-install this app for these people, and even pin it to the left menu in Teams, for these users.
So you could have a policy created (by your admin) just for the respective project team.

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!

Deploy 1:1 Teams bot to all users at once

I would like to deploy my 1:1 Teams bot to all users in an O365 tenant as a company admin. How do I do that? I know how to get a Manifest in the Org's app store but it seems I can only deploy it for myself. For obvious reasons I can't expect my 2.000+ users to do that.
I know there is a previous question about this (Microsoft Teams: How to provide a 1:1 chat bot globally?) but it seems outdated and I don't see a real solution here
I can think of a fairly simple way to do it assuming some programming, of course.
Use the MSFT Graph API to add the contact to the user's contact List, then it'll show on the 1:1 chat tab.
https://learn.microsoft.com/en-us/graph/api/user-post-contacts?view=graph-rest-1.0&tabs=cs
Since it is a user's contact it also allows to set a picture and a custom name.
EDIT:
I then realised this would not list in the 1:1 chat tab because it wouldn't appear there until there is an interaction. Also not sure how the contact should be populated...
My suggestion would that from the bot itself you sent a welcome message to every user, this will make sure that everyone has in in 1:1.
Assuming you want to deploy your bot only to your company not globally. ? if that is the case, once you have your bot ready with manifest.json file. Then you have to follow the
Publish apps to the Microsoft Teams Tenant Apps Catalog
https://learn.microsoft.com/en-us/microsoftteams/tenant-apps-catalog-teams
Alternatively this is a bit of cheeky way.
Assuming if all your 2000+ users in one Company Teams / Channel. As an Admin you can install your bot in to that channel. Then every one can access the bot using # mentions of your Bot.
Hope it helps.

Cortana Skill only works for developer account that created it

I built a bot in bot framework and provisioned it across Teams, in addition to the default of Skype and Web.
Then, I turned on the Cortana skill, and it worked for me for that channel.
Now, when I add users in testing via the deploy to group option, although they are able to select "Join Group", they're not actually able to use the Skill.
I tried this myself on my machine, but with a new outlook account and Cortana failed to invoke the skill.
Is there something about the accounts I add to the group that I need to configure?
These same users are able to use other skills that have been publicly published in Cortana.
I have experienced the same condition. In the end I deleted the bot / skill and recreated it from the cortana dashboard (new skill) instead of directly via botframework dashboard - worked fine and group members could then access - strange as ultimately it ends up in the same place - perhaps it was more due to the recent updates on the MS sites.
I've recently worked on a Cortana Skill, and deployed to a group for testing. You do not need to configure anything else besides providing the emails in the 'Deploy to group' option.
This however, works for MSA accounts only. Make sure that other members of your group are using their live/outlook account.

Resources