Delete conversation member in a calendar event - MS Graph API - microsoft-graph-api

After I created a calendar event, participants can start a meeting and then a conversation with each other by chatting. When the meeting ends, I would like to force the participants to leave the chat group so that the chat remains available but they can no longer interact with it (except to download files and read the messages). Is it possible with the actual Microsoft Graph API and the informations inside the response to "Create event" API (https://learn.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0&tabs=http)? (from MS Teams app it is)

#Federico - From Microsoft Graph API perspective, i never saw an option or a way to force the participants to leave the chat. If you're using Onlinemeeting, then, you can get the meeting start/endtime with startdatetime/enddatetime properties, chatinfo will provide you the chatinfo. Here's the documentation link.

Related

How to send a message from a Microsoft Teams bot using Microsoft Graph?

I a building a bot that should engage a 1 on 1 conversation with every user in a company using teams.
I would like to use the post chat message method:
https://learn.microsoft.com/en-us/graph/api/chatmessage-post?view=graph-rest-1.0&tabs=http
However, it is written that it is "Not supported" for Applications.
I am missing something?
PS: I am trying to use Teams as directly as possible without middle stuff like Bot Service.
You'll definitely need a bot for this, and to use something called "Proactive Messaging". Please see some similar questions from earlier just this week that will give you some good reading and background, especially:
Proactive Messaging in MS Teams
Sending proactive messages from an outside process to organizational users via Teams chat bot
In the 2nd question especially I give links to further reading, samples, and a video with some more background.

Microsoft graph notification when new channel created in teams

I would like to receive a webhook notification when a new channel is created in a group in microsoft teams.
I already implemented receiving notifications when user is added to a group through teams (using this API - https://learn.microsoft.com/en-us/graph/api/resources/subscription?view=graph-rest-1.0). Unfortunately, it seems like group subscription is not triggered when a new channel is added.
Is there any other subscription I can use? Thank you in advance.
If you have the possibility to add a bot to the Team, then bots can receive this using the bot event mechanisms. Have a look at Handle bot events, and in particular this section. Once your bot has received the notification, you can of course do whatever you need to do.
Subscribing to channel events is not supported today by Microsoft graph. You can upvote the following idea to help prioritize efforts and also be notified whenever progress is made.
https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests/suggestions/37288522-microsoft-teams-create-channel-with-a-webhook

Want to get the change notification of the online meeting like meeting started/meeting ended in Microsoft Teams(Graph API)

I am developing an application where I want to have the trigger when someone starts, end, the participant added, etc in the online meeting in Microsoft Teams.
For this, I tried by creating a subscription for the resource called me/event (This might not work for the online meeting). I am receiving the change notification trigger for when event created/deleted/updated but not when online meeting starts/ended/participantAdded etc.
I found that we can use delta link to get the changed data but I am looking for the process to get the exact notifications like meeting started/ended etc from MS Teams through Graph API.
Any help would be appreciated.
Today Microsoft Graph change notifications do not support the online meeting resource. You might request that on uservoice. Depending on your scenario your might want to look at Microsoft teams call meetings bots

Editing/Deleting Calendar Events without notifications

We have an Outlook365 integration, which posts events to calendars from an external system via the Graph V1.0 API.
In November, a little bug has snuck about 2,000 events into various peoples calendars over the coming 12 months. We have managed to produce a list of the 2,000 odd Outlook IDs, but we are now super-worried that if we pump in DELETE requests for them all, the attendees are going to get hundreds of e-mail/event notifications telling them "XYZ has been cancelled" or similar.
(this bug was detected when a user told us they had been getting occasional event invites at 4am, so we assume that manipulating events via the API does dispatch notifications/emails to the users)
Is this true, and/or is there anyway to delete the event from Outlook without a notification being dispatched? We do not admin the target calendar, but may be able to get in touch with such a person if it was possible to do this from the Outlook365 side. We were hoping there might just be a silent flag/attribute or otherwise we could put in our request?
As a side note, is there any limit to the frequency/volume we can pump at the Graph V1.0 API in any time frame.
Unfortunately this is not supported on Microsoft Graph right now.
It is available on the Exchange Web Services APIs using SendCancellationsMode SendToNone enum https://learn.microsoft.com/en-us/dotnet/api/microsoft.exchange.webservices.data.sendcancellationsmode?view=exchange-ews-api
I would really appreciate it if you could request this on Microsoft Graph Uservoice so we can have signal from our community the demand for this. https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests

How to receive an event notification, like "channelAdded", when a new public channel is created

How can I listen for the creation of any new public channel on a chat service? I have seen client.channelAdded but it only works for private channels.
channelAdded
Fired when a Channel becomes visible to the Client. Fired for created
and not joined private channels and for all type of channels Client
has joined or invited to.
My use case is an internal support application where every first-time incoming SMS message from a customer user results in a new chat service channel for that particular customer user being created, and a chat message being added to the channel representing the SMS. The new channel is created via Twilio REST API.
I want to be able to have every agent user made away that there is a newly created channel (i.e. and open ticket), and then be able to join it if they want (thus making the channel public).
I supposed I could create all private channels and just invite all the agent users to the channel, but seems slightly hacky. Feels like there should be a cleaner way to do this.
Twilio developer evangelist here.
Thanks for the extra information you provided about your use case.
To start with, the channelAdded event will only fire under the circumstances that you described and not for every new public channel. Danila suggested using the webhook to trigger an event, but as you say you are already creating the channel yourself, so no need for a webhook.
Perhaps you could use a channel as a notification for your agents. Create a special channel that all logged in agents join. Then, when you create a new channel for a new open ticket, also send a message to the "open tickets" channel. You could use this channel to then simply notify your agents there is a new request, or you could fire off a function to get the latest channels so it is loaded and ready for your agent to join.
If you wanted something a little more lightweight than a chat channel for this, you could consider using a Twilio Sync list for the currently open tickets that you can then sync with your agents.
Let me know if that helps at all.
One of the possibilities to achieve desired is to add a webhook for the channel creation.
It may add member (customer support person) using REST API to the channel or will send a message to them using REST API.

Resources