Does outlook provide API's to figure out who accepted or declined an invite? - ruby-on-rails

I have created a rails app. It sends emails to customers based on some parameters. The customers only use outlook as their mail app. The customers may accept/decline the invite. If a customer declines the invite, they should inform me through the rails app that they have declined the invite. But in some cases they do not communicate this information.
So does Outlook (Mac, Windows, Web, Mobile) provide API's to know if a person has declined the meeting invite sent by my rails app ?
-Thanks,
Vinit

The attendees collection will provide status for each attendee. Keep in mind that it is usually only available to the organizer, and to all attendees on some Office 365 mailboxes.
You can see it in OutlookSpy (I am its author) and the Graph documentation.

Related

Is there any way to get user id/conversation reference to proactively message user on teams if installation event wasnt captured

Looking for the best course of action that would have the least impact on users to be able proactively message users with teams app (bot) installed but where they have not messaged the bot and the conversation reference was not captured at time of install.
The scenario is that have an enterprise bot that has been operational for over 3 years servicing 10s of thousands of employees. The bot is auto installed for all users in the tenant, but conversation references were only being stored in the last 2/3's of the applications life, and the install event was not being captured until recently. This was not an issue in past as all proactive functionality was predicated on some interaction with the bot.
I now have a need to be able proactively messages all users within tenant regardless of if they have messaged the bot or not, or if they last messaged the bot before conversation references were being stored. There are only a small subset of users the fall into this category.
Hoping some way to generate a conversation update, be it through graph or other means. The installationUpdate event through app update seemed promising as can update the application but seems only triggered if bot is added or removed
Review the information provided here: https://learn.microsoft.com/en-us/microsoftteams/platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages?tabs=dotnet
Here is what we do
If we have the conversation ID in our cache/persistent store, we use
it to send the message
If we dont have, we use GET
https://graph.microsoft.com/v1.0/users/{user-id}/teamwork/installedApps/{teamsAppInstallationId}/chat
to get the chatid (the app id here is not the bot application ID, but the ID generated when the app is installed in the org app store and is available from the Teams Admin interface)
If the user does not have our app installed, we
install the app using the teamsAppInstallationId ID. This automatically generates a event without user intervention that
is sent to the bot which you can then use to capture the conversation ID.
POST /users/{user-id | user-principal-name}/teamwork/installedApps
This approach does require an Application Permission: TeamsAppInstallation.ReadWriteSelfForUser.All
You might look into using the List Teams functionality in the Graph API. You can use Graph to get teams and list their members, assuming you can grant your bot the necessary permissions. There are many features in the Graph API which might help you accomplish this.
To send a proactive message to user the bot requires the conversation reference. The conversation can be only retrieved when bot installed.
Without conversation reference you cannot send a proactive message using bot.
You can use Send message in a chat API to send message to chat with delegated permissions.
Could you please raise a uservoice for your case

O365 Graph Subscriptions - Not receiving notifications for subscriptions on user mailfolder updates and deletes

I am attempting to use the microsoft graph api to setup a subscription for a user's mailfolders for the changeType of updated, deleted with the resource of /me/mailfolders (synonymous with /users/{id}/mailfolders. The subscription creates successfully, but when i move folders around in the outlook client, or delete folders, no notifications are received on my notification client.
Am asking this stackoverflow question as per troubleshooting instructions in Microsoft's guide.
Wondering if this is a supported resource? And if so, why no notifications are being received?
Subscription ID: 78b8a9a5-083e-427d-b7e0-95c0f5cffdda
According the documentation you cannot create subscription for mail folder but only for changes to all messages in a user's mailbox or for changes to messages in a user's Inbox.
/me/messages
/users/{id}/messages
/me/mailFolders('inbox')/messages
/users/{id}/mailFolders('inbox')/messages

MS Teams Online meetings - email notifications

We are trying to use MS Graph API 1.0 (endpoint https://graph.microsoft.com/v1.0/me/onlineMeetings) to create online meetings for our customers.
Everything works fine and the meeting is created but participants (and organizer too) never received any email notifications about upcoming meetings.
Is there any configuration we need to enable for this?
Thanks.
When you create any onlinemeetings it doesn't show up in user calendars, as this is by-design. I am not aware of any other settings/parameters available and its documentation doesnt talk about that as well.

Find all the contacts I sent an email to via Outlook Rest API

I'm trying to get all the contacts I sent a email (or responded to) via Outlook Contacts Rest API.
The default Outlook contact API only gives me contacts that I created in my contact manager. But I found "Is there a way to get the Suggested Contacts through Outlook API?" and sure enough, it gives me all "suggested" contacts (i.e. any contact I ever received an email from or sent an email to).
is this really the way to do it? No way in the "classic" API?
any way to find all the contacts I talked to (i.e. I wrote an email to?). That's the way Google handles "suggested contact" through their API, and not every contact I ever received an email from, spam included.
The closest thing to what you're looking for is the People API. As that page says:
The People API returns relevent person entities with each request. A person aggregates information from across mail, contacts and social networks. The results are ordered by their relevance, which is determined by the criteria specified in the request and ranked based on multiple communication, collaboration and business relationships.
The change in behavior in the beta version of the Contacts API is due to a change in how the API processes a request to the /me/contacts endpoint, and is under review. Keep in mind this is a beta so this may not be how the API ends up acting in stable versions.

Is it possible to subscribe users to Office 365 groups

We are automating the creation of Office 365 groups and adding users. Is it possible to subscribe the users as well. I can see that there is a subscribeByMail method on groups
http://graph.microsoft.io/en-us/docs/api-reference/beta/api/group_subscribebymail
but this is for the current user only. Is there a way for a service application to do it?
Based on my investigation, the group mail subscribe only support for the sign-in user. This API is a beta version, you may not use it in the product and if you have any feedback about it, you can try to submit from here.

Resources