I am creating a Bot for Microsoft Teams and I want to get the current users in a call. If you have a group or a team, maybe not all users in that group or team are currently participating in that call. I have managed to get all users in a group or team thanks to Microsoft.Bot.Builder 4.0 and Microsoft.Graph. But that is not what I want. Just the current active users in a call. I hope I have made my question clear enough. Thanks in advance.
You could look into the beta API for List of Participants.
Related
I have a query regarding, How to Proactively Install / Push Apps in Teams for Multiple Users ?.
We have added our Bot Application as part of Teams App Catalogue, and I followed below document regarding Manage App Setup Policies in Microsoft Teams to install apps:
https://learn.microsoft.com/en-US/microsoftteams/teams-app-setup-policies?WT.mc_id=TeamsAdminCenterCSH#install-apps
Though above link clearly states that it automatically installs apps for users, but when we follow above link it only adds application as part of Teams App Catalogue.
So just wanted to know that does installation here mean, only adding in App List and not installing as such on user machine ?.
The other method we can follow is to create a custom script and use Graph API queries as described in below link:
https://learn.microsoft.com/en-us/microsoftteams/platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages#proactive-app-installation-in-teams
So wanted to know as per Microsoft, what is the recommended way of Pushing Bot App to multiple users on MS Teams. Can this be handled with Teams Admin Center ?.
Any help or guidance on the approach to achieve proactive app installation in Teams would be great.
Thanks In Advance!!!..
Both of these approaches should work fine. App Setup Policies is the easiest though as you don't need to write any code, but be aware that it can take a while for the policy to apply (I think up to a day or even two). There's a way to force it to update, I think if the user signs out of Teams entirely and signs back in.
I tried with Teams Admin Center and tested 2 scenarios:
1.) For User Already Logged In
2.) For New User Logging the First Time
The policies take time to be applied / be effective for users (not immediate). In my testing, I logged in after ~2 hours for New User and waited ~2 days for already logged in User. We have to test the same for your respective environment. Also these are not Standard Timelines, and we have Test in our environment accordingly.
I have a group chat on Microsoft Teams with 4 members: 3 people and a bot. Is it possible for the bot to add a new member to the existing group chat?
I found the method deleteConversationMember of the class BotFrameworkAdapter, which should remove an existing member. Well, I would need the opposite, adding a new member.
I have also checked Microsoft Teams Graph API, but it seems to be possible only to get members and not add a new one.
As I see from your comment, you're trying to have the bot escalate, or "hand off" to a service desk agent. If that's correct, you can have a look at another model for this altogether, where the user continues to chat with the bot, but the messages are being sent, by the bot, to an agent behind the scenes. This is referred to as a "handoff", and you can see a blog post here and source code (from the blog author) here on github
The BotFrameworkAdapter methods use the Bot Framework REST API, which itself calls channel-specific API's. As you've seen in the Teams Graph API, adding a member to a group chat is not currently supported and even if it was that Graph API is in preview and not suited for production applications. This document explains how to give feedback if you want to request this feature.
As a workaround, I recommend having the bot give the existing group members some instruction on adding the new member to the group themselves.
If you'd like to go with a bot-to-human handoff solution like Hilton suggested, you might be interested in this new sample: https://github.com/arturl/lpproxybot
I need to know if it is possible to build a url with only the team sitecollection url which opens up a specific team in your teams client.
e.g. https://teams.microsoft.com/l/team/THESITECOLLECTION_URL
Or is it only possbile with the group id of the team?
Thank you in advance.
Currently, just the group ID of the team, e.g. https://teams.microsoft.com/l/team/19%<GUID>%40thread.skype/conversations?groupId=<AAD_GROUP_ID>&tenantId=<TENANT_ID>
I am using Node.js to create Skype bots. I want my bot to answer calls automatically from selected contacts and create a group voice chat consisting of bot, caller, and me. I couldn't understand the documentation much. Is there a way to do it? If yes, can you give me a brief example?
Thank you.
Bots are not supported in group calls right now because of privacy reasons.
Group calling for media bots has been disabled because the Skype clients do not have currently have the appropriate privacy controls in place to inform the participants that a bot can hear and/or see them.
There is no timeframe available regarding when calling/real-time media bots will be supported in group calls. For now, calling and real-time media bots are allowed only in 1-to-1 Skype calls.
We have a public channel which we would like to link to from an external site. Unfortunately the link which teams gives will not add you to the team. How do I add the user to the team so that the link will kick them into that team's channel?
Right now there is no way to add a user except through the team owner's add user interface. We are working on Office Graph APIs that would support this, but no ETA on that yet.
You can use the MS Graph APIs for adding users to the underlying group. It may take up to an hour for it to be reflected in Teams. We are working on enhancing the Graph APIs to eliminate this latency completely.