Deploy 1:1 Teams bot to all users at once - botframework

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.

Related

Possibility of using specific Teams features in a custom web chat app

Our internal employees are all using Teams. I'm researching how feasible it would be to use certain features of Teams for a custom web chat app. The actual back and forth conversation would not take place in Teams...it would be something I would build, possibly using SignalR.
The custom web chat application should allow our customers the ability to:
See the Teams status of an employee (Online/Offline)
Click on the employee to enter a chat room. (This chat room would be something I would create, possibly using SignalR)
I was wondering if it is possible to do the following with Teams:
Get the Online/Offline status of a user in Teams and display that in a custom web app.
Send data to a specific Teams user from a web app. (For example: when a customer clicks on an employee in the custom web app to start a chat, send a link to the employee that would send them to the chat room.)
Are these two things possible using Teams?
Wow, this is an unusual scenario, had to think a bit about that! In terms of (1) I'm not sure about anything for that it Teams (it might exist, but not something I'm aware of), but perhaps the Microsoft Graph has a capability for that. This might help.
Regarding item 2, do the customers have Teams? If so, you can deep link directly into a chat with the specific employee. If not, are you wanting the end user to use, say, a bot on the web app, but the employee to be using Teams? If so, who would they be "Chatting" to? Would it be ok for the chat to be with a custom bot inside Teams? If so, you should look more at the concept of "Pro-active chat" in Teams (to initiate the new/latest conversation from the bot to the user). The only drawback is if they are "chatting" to multiple people at once this wouldn't work, because each customer's interaction would come in to the same chat window in the Bot.

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.

Migrate channels to hangouts chat rooms

my organization was using Slack, and decided to move to Google Hangouts Chat. I used channels to coordinate with different teams. How do i migrate these users to Hangouts Chat rooms?
(Issue) Chat rooms allow duplicates, and are created private. So new users cannot see them & join. They end up creating copies of a similar common room each time.
Either of the following kinds of options are fine with me.
Export users list email-addresses from my Slack channel. Import these users into Chat as #email-id . I can't seem to get the email-list from Slack
Send Chat room shareable invite link to channel users. Google Chat rooms don't give shareable invite link.
As Erik said, the operation you are looking for is users.list. Though you need to ensure you have users:read and users:read.email set in your environment. This will also give you a bunch of empty entries though, as it will include all bots and apps on your workspace, which do not have emails.
I wrote a quick app using Transposit (disclaimer: I work for them) that you can fork here that will return an array of all valid emails in a Slack organization for you. Authenticate with Slack, and it should work by just running get_emails.js.
Unfortunately, we do not yet have a Hangouts connector, so we can't automate the whole process through this app, but I hope you find it helpful! Let me know if you have any questions in a DM, or message us at support#transposit.com.
Best,
Griffin, Developer Advocate at Transposit

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!

Skype Bots - Please tell me I'm missing something

Working on an application and developing chat integration bot. Note that contrary to some news bots or other tools, there is no central website or server that the bot gets its data from. The software installation comes with a repository, and that is where the bot connects to. Thus, every user, upon installing the software, will basically get their own copy of the bot, alongside with their own repository, etc.
Now, having done that for Telegram: You open the telegram client, initiate a chat with the botfather, get the token for your new bot with one or two commands, and then add that token to my application. Done. Easy for the user to follow, takes a few minutes at most and they have a working bot.
Trying to do the same with Skype, the users must:
Sign up for an Azure account
Provide credit card and phone number verification (that's probably where some users will stop right away)
Log on to the Azure Portal
Create a bot channel, through a myriad of different screens I have to guide the user through.
Have the user obtain the bot's password, again through a variety of different screens he needs to be guided through. (if the user hasn't given up yet, at this point he'll definitely get grumpy)
Enable the Skype channel, and enable the bot to be added to group chats.
Attempt to locate the bot via Skype and eventually add it in.
Now, if I wanted to document this properly, this will be a 10-15 page document with tons of screenshots and all. To do what Telegram does in two minutes or even less. There's so many opportunities in all of this for something to go wrong, that I can't even consider forcing my users to go through this.
Surely, I must be missing something? It can't be that you have to go through this horrible mess of an over-engineering spectacle that is second to none, just to get the most basic bot to function?
All I need is a means to say "this is the bots name, give me its token and API URL so that it can send messages using the REST API". But I can't seem to find this for Skype.

Resources