Is it possible to subscribe users to Office 365 groups - office365api

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.

Related

Microsoft Graph API for external users

In my application, I need to get user data like user name and email, also using API, I use find meeting time and create calendar event. Users those will use application will not be in my AD group.
Is there some scenario for making API workable for external users?
There are certain limitations and for guest users in the organizations:https://learn.microsoft.com/en-us/graph/api/resources/users?view=graph-rest-1.0#user-and-group-search-limitations-for-guest-users-in-organizations
For inviting or adding the Add a guest user and send an invitation please refer :https://learn.microsoft.com/en-us/azure/active-directory/external-identities/b2b-quickstart-add-guest-users-portal

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

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.

Retrieve users / groups assigned to outlook addin from Microsoft graph

Design
Outlook Add-in that shows sales specific information based on the message (content, sender, etc)
Daemon that subscribes to new messages for the sales team and processes messages as they come in. Runs with application authentication
Scenario
We are developing a multi-tenant add-in that show sales specific information based on the email they are viewing. Since the sales team may be a single person, group or multiple people.
Question
How would the daemon running as an application use the graph to pull in users assigned to it?
Office 365 Admin Screenshot
You would need an Azure AD Application registered with Mail.Read persmissions. The add-in would sign in as the user. Then have the add-in subscribe to the users mailbox on the users behalf. The subscription would include the URL of a backend web api that Microsoft Graph subscription service would call.
You would need to register a new Azure AD Application (if you don't have one created already) for the backend web api. Then you would want to grant the correct permissions scopes to it. For your scenario you would require each tenant to admin consent this application, because you would need access to messages in many users mailboxes using application permission Mail.Read. The reason for this is because the webhook does not call your web api with any user token that you could use to then actual fetch the details of the message.
More info on change notifications (webhooks) is here https://learn.microsoft.com/en-us/graph/webhooks

How can I let an iOS Teams App user use my Bot without inform the MicrosoftAppId?

I want Teams users to use my Bot.
But I don't want to inform the MicrosoftAppId of the Bot for the users.
According to this site : https://msdn.microsoft.com/ja-jp/microsoft-teams/botsadd
I tried the way 1(select Add to Microsoft Teams) and the way 3(Get or create a deeplink)
(I skipped the way 2 since it needs information about MicrosoftAppId)
Those ways worked for users using Teams in Windows PC.
But they never worked for users using Teams in iOS Moblie.
So, how can I solve the problem?
Is there any other way to let the users use my Bot without inform the MicrosoftAppId?
The implicit registration of a bot from mobile device is not supported yet. In order to discover a bot, user need to invoke the bot at least once from desktop client/web.
Alternatively, you could sideload your bot in perticular team by creating an app manifest file. Sideloaded bots can be discovered by all the members by bot name.

Resources