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

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.

Related

Calling an external API from MS Teams chat

Can anyone offer guidance on how to call an external API from within MS Teams chat/posts initiated by an #mention or #hastag? The service I want to build would use the mention/hastag to call an API and return various types of meta data that would then be added to the chat, post, etc. Wondering if Flow or Yo Teams is the best way to go.
The best approach for this would be to create a bot, which gets a name that can be '#' mentioned (e.g. if you bot is called MyBot, you could mention #MyBot in a Teams channel, and it will get notified). Once it receives the notification, the bot can do anything you need it to do.
If you have development skills available (yourself or someone on your team), have a look at the Teams Bot development documentation to get started. If not, Power Virtual Agents could suit your needs (it's like a "drag and drop" bot creator.

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.

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.

Is there any portlet or plugins which can help me in the implementing live customer support chat?

I need to implement live customer support chat to liferay 7.
Portal will provide capability for the end user to chat with the support users for online issue resolution, technical and non technical help. Portal support team can support the end users over chat as well over E-mail for the first tracking issue resolution. The user will be provided with a hyper link at footer of each page to start Web Chat. Once the user clicks on Web Chat the Web Chat window will be opened for communication. User can put his/her e-mail id, issue category and queries to start Web Chat. Once the Web Chat will be initiated by user, one chat window will be opened at for support user who is logged in mediation portal to provide support. If the support team is not available, then the end user will be communicated with a message that, Customer support teat will be in touch with you soon on e-mail. The user chat requests will be allocated among the support users those who are logged in mediation portal in round robin method.
There is the native chat portlet, but I really do not recommend using it for your case, your case is a bit more complex then what comes out of the box. You will be better served if a support system plugin.
I like https://www.zendesk.com/chat/
Which is pretty easy to install and customize.

How to send message to any Facebook Pages with a bot?

I have created Facebook Messenger bots to answer to people talking to my Facebook Pages with a wrapper of Microsoft Bot Framework.
When a human talk to my bot it has a recipient address (composed of multiple fields) used to reply.
Now I'd like my bot to talk to other Facebook page (like a human using a Messenger client)
Questions:
How can I find the "chat" address of a random user that do not already talk to my page/bot ? (It seems a same user has different address when it talk to multiple bots).
How can I use my bot to send messages to other's Facebook Page. To do that I assume the bot has to discover the recipient address of the human or bot behind that page ?
(May be the answer is to use an implementation of a Messenger Client in NodeJS ?)
For Facebook Messenger:
User "chat address", that is to say "Id" property of your Recipient, depends on every bot and cannot be guessed (it is a Page Scoped ID), you have to talk to the bot first. It's a question of security / anti-spam
Same problem to start a conversation with another page: you cannot guess the ID of the human/bot to which you will be talking to.
So currently it is not possible to do what you are trying to do.
Maybe you should have a look directly to Facebook APIs to see if you can at least do your 2nd point. For the 1st one, I found no way

Resources