Microsoft Graph Feature Requests

Welcome to the Microsoft Graph UserVoice! Do you have an idea or feature suggestion based on your experience with Microsoft Graph? Please share these with us by submitting your idea below or voting up ideas submitted by other users. This forum will be directly monitored by the Microsoft Graph engineering teams who are working on new features every day.

If you have feedback on a specific API service, please choose the corresponding category. Please submit any broad ideas related to Microsoft Graph or ideas across more than one service to the “General” category.

This site is only for feature suggestions and ideas! If you need technical help, please go to the Microsoft Graph StackOverflow or if you have a Premier support contract raise a support ticket.

For more information on Microsoft Graph, please checkout https://graph.microsoft.com.


  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Add users to Shift groups

    We can assign users to shifts through Graph, but we can't assign users to Shifts Groups.
    It is essential for us as an organization, that we can assign users to groups in a Shift. We can add them to the TEAM, but from there, they can't take shifts in the groups.

    8 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  2. Add Application permission to support AppCatalog.ReadWrite.All

    According to https://docs.microsoft.com/en-us/graph/api/resources/teamsapp?view=graph-rest-beta, only delegated permission is supported to manipulate Teams AppCatalog which means a sign-in user is needed when taking use of those APIs. However, the Application permission can provide the ability to make related actions more automatically and support more meaningful and realistic use-cases.

    For example, my use-case is to provided an application to automatically install a new Bot, created in Azure, to Teams. So I really think the Application permission is needed.

    14 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  3. Get open shifts and assign people to them

    We can get assigned Shifts through Graph (and Power Automate / Flow). But we can't get open shifts. It is essential for us as an organization, that we can run through open shifts and offering them to users.

    7 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  4. Add support for creating chat messages on the user endpoint

    In the current graph beta, user chats and their messages can be enumerated using GET /users/{id}/chats and GET /users/{id}/chats/{id}/messages. However, new messages cannot be posted to the messages endpoint i.e POST /users/{id}/chats/{id}/messages . Please add this functionality.

    The desired functionality exists for team channel messages by posting to the channel messages endpoint (POST /teams/{id}/channels/{id}/messages). Replicating this for user chats using the same json payload would seem to be the most appropriate solution.

    51 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    In Backlog  ·  4 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  5. OnlineMeetings.ReadWrite.All Deprecation

    Do not deprecate Application Permissions ability to generate Teams Meetings. This is a valuable function that is used to quickly generate a collaborative meeting for our IT teams to discuss major incidents or outages. Current delegated permissions flows do not allow us to do this in the same manner and will lead to us losing this functionality

    4 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  6. allow access to user presence via API

    Please allow access to read and update user presence via API.

    93 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    18 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  7. Add/Support "Request to add members" feature through Graph API

    We are missing the possibility to recreate #MicrosoftTeams 's feature "Request to add members" with #Microsoft Graph API.

    We would like to be able to generate this "request" on behalf a member of a team.
    This request nee to add at least the native notification inside the Teams client to help owner(s) decide if yes or no, they approve or decline the request.

    At the moment it seems this feature is not available from Graph API (v1 or event beta) and more annoying it seems to be an abnormal behavior if we try to add member on behalf a member…

    31 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    In Backlog  ·  0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  8. Pinned Channels in Microsoft Teams

    With the announcement at Ignite 2019 of Pinned Channels it would be great if we could get access to them via the Graph API. You could add a property to the Channel called 'isPinned' and/or make a call to get all pinned channels in one hit e.g. me/pinnedChannels

    11 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  9. Provide an API to read, add and remove saved messages in Teams

    I have a scenario where when a user saves a message I want to see those messages and list them in an application.

    28 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    In Backlog  ·  3 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  10. Support edit / delete message Graph API

    support delete message and edit message.

    15 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  11. Working with Teams without admin consent

    To make automated tests of MS Teams, you need to use the designated list of Graph API requests.
    But the Graph API requests all require the access type “Group.ReadWrite.All” using admin consent, which is not useful for our customers.
    The proposal would be to add one more access type, for example with the name “Group.ReadWrite”, which will allow the creation of a team, creation of a channel in the team, sending a message to the channel and replying to that message.
    The same user needs to be able to delete the channel and the team previously created.
    This is be…

    14 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  12. Get the total number of replies of each message when listing channel messages

    The response object when listing channel messages or getting a specific message, should give the total number of replies.
    This way, we don't have to fire a potentially heavy request just to be able to use this property.

    16 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  13. Provide a Teams API To send direct messages to users

    Currently, the only way to send messages is to post a message on a channel in a team. It would be great if there could be an API to send a direct message to the users. Please let me know if it already exists, because I could not find any such method in the chat object here :
    https://docs.microsoft.com/en-us/graph/api/resources/teams-api-overview?view=graph-rest-beta

    20 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  14. Performance, performance, performance.

    We are using the following endpoints:

    https://graph.microsoft.com:443/v1.0/groups/<GUID>/drive/root:/Sandbox/<FILENAME>/microsoft.graph.createUploadSession
    (1 x Chunk of 1 -- each file 4Mb size, under 5Mb max chunk size)
    https://graph.microsoft.com:443/v1.0/teams/<GUID>/installedApps
    https://graph.microsoft.com:443/v1.0/teams/<GUID>/channels/<CHANNELID>/tabs
    https://graph.microsoft.com:443/v1.0/teams/<GUID>/channels/<CHANNELID>/tabs
    https://graph.microsoft.com/beta/teams/<GUID>/channels/<CHANNELID>/messages

    and in order, the performance is as follows

    1995.0ms
    2229.0ms
    3460.4ms
    3835.2ms
    6243.6ms
    3033.6ms

    these are average scores across 5 iterations, using the Nuget Microsoft graph libraries -- and around the calls themselves (not our code)

    3 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  15. Support $select and Schema Extensions on /me/joinedTeams

    We have schema extensions on the Group resource to add metadata to user's Teams. We currently need to call both the /me/joinedTeams and then make time consuming calls to the /groups API in order to fetch the schema extensions for all the Teams that the user is joined to.

    It would be of great help if we could fetch the Schema Extensions directly on the /me/joinedTeams endpoint.

    It would be even better if we could also $filter the joinedTeams to only return the Teams that have a particular schema extension.

    28 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    In Backlog  ·  0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  16. Complete custom teams tab adding and configuration from code

    When adding a custom SPFx teams app to a team using graph, it should be possible to complete the configuration from code so that the user is not required to complete the configuration.

    11 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  17. graph api to hide/archive channels

    At the moment, only archive teams are there. In some cases, the teams is still active but some channels within that teams is inactive. Requesting an API to archive/hide/show inactive channels.

    3 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  18. Add teams status to Presence information

    The presence work done , currently in preview, returns basic presence information.

    I’d like to see it return the users status as set in Teams (I.e working from home - last updated 8:40am)

    Have had multiple business requests for a solution with this information.

    4 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  19. Support for teams/delta

    At the moment, there is no way to list all teams using a /teams call. You always need to enter a group id (/teams/<guid>).

    That is why we need to resort to
    GET /groups?$select=id,resourceProvisioningOptions

    to filter out all Teams in the organization. However, we cannot deduce from the response if said Team is archived or not. This can only be inferred from the /teams call.

    It is not feasible / wanted / efficient to query 6000+ Teams in an organization on a regular basis to know if they have been archived through the Teams UI.

    That is why a /teams/delta…

    2 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  20. Allow to request /filesFolder with the Channel object

    Currently if we want to get driveItem for all channels in the team we need to do one request to get channels first and then separate requests (or batch) to get filesFolder information for each of the channels.
    It would be great if /filesFolder result (or its part) was included in channel information or we could $expand on the filesFolder.

    5 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1 3 4
  • Don't see your idea?

Feedback and Knowledge Base