Differentiating organizer as attendee when creating an event on Graph API - microsoft-graph-api

When creating an event using the Create Event endpoint (https://learn.microsoft.com/en-us/graph/api/calendar-post-events?view=graph-rest-1.0&tabs=http), is there a way to differentiate between an event that has the organizer as an attendee vs. an event that does not?
It seems like despite sending the organizer as part of the attendees list as part of the request payload, they do not show up as an attendee in the created event (or in the ICS file sent to other attendees via email) but only as the organizer.
The result for creating the same event without sending the organizer as attendee are identical, so there is no way of knowing whether the organizer is an attendee or not.
EDIT: The API response DOES differ and shows the right attendees list based on the request payload, but the email and ICS files do no (both cases do not show the organizer as an attendee).

Related

Is there any possible way to read message in ms teams before clicking the send button

I am trying to create a teams app that will detect the message that user has typed in before the message is sent on clicking the send button or on the send button click event or before the recipient receives the message. The idea is to read the message and using AI grammatically correct the text or detect if any inappropriate message is being sent that violets office rules, kind of like Grammarly. My question is it possible to detect this text through any possible means like graph api. i am open to any suggestion, not just teams app it can be some kind of windows application that can interact with teams app . Will be taking care of AI part myself.
This isn't supported, there is no No event when user is typing message. You can get an event when user sends the message. For more info here

How to notify users when calendar event is updated via Microsoft Graph API

Currently I've been developing a web application that takes advantage of Office 365 Graph API. In my application, it calls the following Update event in Graph API
https://learn.microsoft.com/en-us/graph/api/event-update?view=graph-rest-1.0&tabs=http
The expected behavior of the API was that each attendee already attending this event should get a notification mail that represents such as "Your calendar event was updated." when the event is updated with the API above. However, the actual behavior was that none of attendees get the notification mail when the event is updated with the API.
I'm wondering if there is a way of getting notification mails for attendees when the calendar event is updated.
FYI: I think if a calendar event organizer manually updates calendar event, attendees can get the notification mail. I would like to realize the same behavior in case of calling Graph API
I test it in my side by graph api explorer, the attendees received the notifications success. So I think you may not meet the conditions which the document mentioned below:

Microsoft Teams developer platform, add push notification ? (blocking if it is possible)

I am developing a Microsoft Teams custom tab app, and i want that if a event occurs in the server, notify to the teams client, and if the client is in other Teams tab, the client show a prompt (with sound?) to see the event or to link to my custom tab.
That is possible?
One option to do this is to include a bot as part of your app, and then the bot can send a message to the user as needed. The user will receive a normal Teams message notification toast. This would use something called Proactive Messaging, to send a message on a trigger.

Microsoft Graph SDK not providing draft/send status of appointment/event in rich notification

When adding any data from outlook add-in in a new outlook event's Extended properties, outlook saves the event as a draft and also sends a create event notification to all its subscribers.
Here when I try to find the state of Event when fetching the information about the event, I do not find any details weather user actually click on Send button or it is just a draft event.
Get event information from graph SDK
graphEvent = await graphServiceClient
.Users[eventData?.CalendarEmailId]
.Events[eventData?.Id]
.Request()
.Expand($"SingleValueExtendedProperties({_extendedPropertyFilter})")
.GetAsync();
Note: Outlook only save as draft and send notifications in The new Outlook mode.
Is there any way to find out if the user actually saves the appointment yet or not?
Can you use IsDraft property of the eventmessage to detect the event is still in Drafts folder? Expecting this property in the notification seems unreal, notification is a way to tell something has changed. You should go back to graph API and get details about a meeting item and use IsDraft property.
https://learn.microsoft.com/en-us/graph/api/resources/eventmessage?view=graph-rest-1.0

Slack API: Receive events in specific channels only?

I've built an app that receives events.
By default, the scope channels:history lets it receive events for all messages in all public channels of the user who added the app.
Ideally the user would be able to limit it to only some channels, right in app settings. (Any event the app receives will be made world readable.)
Right now I see 2 options:
The message event contains the channel id (not the name). So code can filter on channel, assuming there is a way to set it and the user trusts it.
Create a bot user (even though the app is read-only) that the user can add to specific channels.
Is there a better way?
If you don't want to use a bot user (your option 2) the only way is to filter out the messages from unwanted channels in your app. You will receive a message event for every new message created (including the ones sent from your app).
The message event does already contain the channel ID, so you can easily filter based on that.
Example: (Source)
{
"type": "message",
"channel": "C2147483705",
"user": "U2147483697",
"text": "Hello world",
"ts": "1355517523.000005"
}
There is no parameter in the event settings that allows you to choose the channels beforehand. But since this appears to be a reoccurring question, I would suggest to send a feature request to the Slack team about this.

Resources