Are there Teams API endpoints available to get channel/call info, such as participant lists? - microsoft-graph-api

I'm just wondering if there is currently a production version API for Microsoft Teams available, specifically to gather retrospective participant info from calls/meetings (after the meeting had ended) from an external app? I'm aware of some Teams endpoints being available in Microsoft Graph, but am not sure to what extent these are available?

Thanks for reaching us!
Teams by default generate attendees report and meeting report after completion of meeting call. We can able to see the list of attendees and the report. But at present we don't have any API to fetch list of attendees and their timings.
As this feature is not available at present, could you please raise an User Voice if this needs to be consider as a future request.

Related

MS Teams - Allow attendees report using Graph API for the online meetings

Is there any way to allow the attendees to report using Graph API for the online meetings?
as nothing clear from Microsoft documentation here about the property needs to be sent in the request body.
I was able to enable it manually from the MS Team App in the meeting settings, but not able to do it using the Graph API.
As an admin, you control whether meeting organizers can download meeting attendance reports by setting a Teams meeting policy. By default, the ability to download the report is turned on.
Microsoft Graph API currently doesn't provide any way to allow attendees to report using Graph API for online meetings.

How to get meeting details in Microsoft Teams from javascript sdk or graph sdk?

I'm try to develop a Custom Tab for Meetings in Microsoft Teams. I could not obtain any details on the teams meeting.
The Context object has a meetingId but I can't get any OnlineMeeting or Event details when requesting via the Graph API.
Also, if we are in a series of meetings, then the meetingId is the same for all occurrences.
So, how can I retrieve meeting details (name, scheduled date and time, participants, etc.) from within a Custom Tab in a Teams meeting?
It is currently not supported to get the meeting details in meting-tab functionality.
As this feature is not available at present, could you please raise an User Voice if this needs to be consider as a future request.

Is there a way to use a bot, webhook, or some other connector to be notified when someone joins an online Teams Meeting?

Our company uses Teams Online Meetings extensively. Teams is a great product and is a wonderful communication tool. We have a scenario where we need to be notified when a participant joins a Teams meeting, leaves the meeting, or the meeting ends (all participants have left).
Can a bot, webhook, or connector be setup to listen to those events? Also, these meetings will be dynamically created real-time (not a scheduled event) using the Microsoft Graph API. Can the bot, webhook or connector be programmatically added to the meeting in order to receive the join, leave and end meeting events?
Thanks for your help,
Joe
Yes and No...
The problem is that you can think of a "bot" as a virtual teams client for a bot user. So it has the same limitations as a "normal" client (in most cases). So unless you invite the bot into the call or the bot is already in the call (e.g. started the call) then no you can't do what you want. If the bot IS in the call already then yes you can do what you want. The bot can invite, drop participants and end calls.
There is another way, you can create a Policy Recording Bot and will automatically insert itself into every call for a user that has the policy set to them. There is a overhead that the call start up time is a lot greater and all such calls are now conference calls. So the media is NOT endpoint to endpoint any longer. See the sample for an example of this type of bot.
The other downside would be that Microsoft may not like what you are doing using the Policy Recording Bot for non-recording purposes.

Create Skype meeting event in Microsoft Graph API

I am creating events using the Microsoft Graph API
https://graph.microsoft.com/v1.0/me/events
I am able to schedule meetings with other user. But now question is how I will communicate with that user on the scheduled day or time.
can we add skype meeting as location while scheduling meeting?
or any other way to communicate with the users?
Thanks
Today the Skype for Business APIs are not exposed through the Microsoft Graph and I doubt they will ever be considering Microsoft is investing heavily on Microsoft Teams.
As of today the Microsoft Teams APIs only allow you to CRUD teams and channels, manage tabs and post messages to channels (still beta).
If you want to interact with Skype For Business you have to use the UCWA API where you can create a meeting.
Then you can update your Exchange Event with the S4B online meeting information so the users can access the meeting.
You can create a Microsoft Teams meeting call by adding in the body of your JSON a "contentType" : "HTML",
"content": Call link https://aka/ms:mmkvlb"
This can be found in the Graph Explorer page when you choose a POST method in "add graph community call", which is accessible in the Outlook Calendar Sample Category.
I think that you can also open this link with Skype.
For more information check: "https://developer.microsoft.com/en-us/graph/graph-explorer#"

Teams chat belong to conversation

I'm using the Microsoft Graph API for my application.
I read that Microsoft Teams chat is stored in the Outlook of the sender.
To retrieve all the Teams Chat I use this request https://graph.microsoft.com/v1.0/me/messages (I know that it also return me all the outlook but I use some filter to return me only Teams Chat).
Now my question is how to know which Chats belong to the same conversation, I did not find in the metadata some property to help me.
The Graph API for reading Teams conversations is not yet available but should be by around the end of June.
The API you are trying to use will not work.
The APIs to read messages from a Microsoft Teams channel are available in preview. I've created a multi-platform .NET Core application that demonstrates its use. You can use it to download all of the messages from a specific channel within a Team, or all the channels in a Team.
https://github.com/tamhinsf/QuickTeams
Here are the underlying APIs that it uses:
To read the messages in a given channel. This will return a paginated list of messages, each with a unique ID.
https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/channel_list_messages
Given a unique message ID, this will enable you to get the replies to the message.
https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/channel_list_messagereplies

Resources