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 ability to get members of private channels

    When trying to get the members of a private channel we get:

    GET /chats/{id}/members

    https://graph.microsoft.com/v1.0/chats/XXXXXX@thread.skype/members

    {
    "error": {
    "code": "BadRequest",
    "message": "Resource not found for the segment 'members'.",
    "innerError": {
    "date": "2020-09-25T04:17:33",
    "request-id": "b250340f-2ce0-45a8-b2d1-cd23ab4b5bcb",
    "client-request-id": "235f0d9d-0c84-5c5a-30ff-144adc25d8e7"
    }
    }
    }

    This works in the beta version but not in V1

    29 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 →
  2. API for retrieving Teams call records more easily

    I want to retrieve a list with the history of all (recent) Teams calls in my tenant.

    Currently, there is a way to achieve this (somewhat), but it is rather cumbersome:
    You can do so by subscribing to the /communications/callrecords resource and then calling /communications/callrecords/{id} to receive a detailed call record including the start and end times. These endpoints are only available in the graph beta and there is a noticeable delay (about 5 minutes) until the call records webhook is called after ending a call.

    This 5 minute delay is a huge hassle for my customers and I think…

    30 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 →
  3. Add hosted content count field to the chatMessage resourse.

    It would be useful if the chatMessage resource could return the total number of hostedContents when listing team channel messages by using the following methods:


    1. GET /teams/{id}/channels/{id}/messages

    2. GET /teams/{id}/channels/{id}/messages/delta

    6 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 daily information to Teams Admin center usage reports and expose the same in Graph API

    Currently Graph API expose a smaller version of the Teams Usage metrics in the /getTeamsUserActivityUserDetail endpoint. These are available either per employee daily or aggregated by periods of 7, 30, 90 or 180 days.

    On the other hand, the Teams Admin center has more detailed metrics (like average time on calls, or share screen time) but it only allows for aggregated data on periods of 7 and 28 days. (i.e. no daily information per employee).

    It would be great to have consistency on these different reports. Ideally to have graph API to be able to retrieve same information that is…

    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 →
  5. Add support for application permission to send message in chats

    As a third-party security service provider, we need to scan all the messages in chats and send warning messages to inform users when found a phishing URL or malware were sent in chats.

    So we need to send messages in a chat by using Application permission since Delegated permission requires that the delegated user is one of the members of that chat.

    We wish can use an App to send messages to every existed, or newly created chats in Teams.

    Currently the API 'Send chatMessage in a chat' not supports Application way.

    https://docs.microsoft.com/en-us/graph/api/chat-post-message?view=graph-rest-beta&tabs=http

    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 →
  6. Add support for application permission to get a list of chats

    I want the feature to get a list of chats with application permission. For developing a custom application for the eDiscovery/litigation purpose, administrator need application permission to get a list of chats.

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

    We’ll send you updates on this idea

    8 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  7. Let the Graph API create the underlying SharePoint site automatically when I create a private channel

    After I create a private channel with Graph Beta I had to manually click on the Files tab for the Team clients to create the SharePoint site. I would like to Graph Create Channel API to create the underlying SharePoint site as well.

    6 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 →
  8. Update Teams Message/Channel Posts with Graph API.

    Users who posted message in Teams Channel can edit the messages later but through the graph api there is no options to update messages or delete messages.
    POST /teams/{id}/channels/{id}/messages/{id}/replies seems like we can reply to the message but not update the previous message sent. Here I am talking about the same user's credentials. In Teams, a user can edit but not using graph api

    11 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 →
  9. Graph API for Teams telephony objects

    It would be useful to have Graph access to the telephony objects in Teams. Right now, I need to use an azure runbook that runs new-csonlinesession in order to retrieve Teams telephony objects like users, phone numbers, call queues, auto attendants, etc.

    6 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 →
  10. 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

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

    We’ll send you updates on this idea

    6 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  11. OneNote

    Could you please allow OneNote Teams tab configuration via the Graph API? I ran into a situation where my management asked me to setup a template Microsoft Teams channel to create future channels within the same team. The template channel had a tab pointing to a OneNote notebook. While I am able to cycle through the tabs in the template channel and read their configuration, as it turned out, I cannot use that configuration info to setup the same tab within a new channel.

    I don't see this being any different than the custom/web tab. Please allow OneNote configuration in…

    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 →
  12. Support getting MIME of chat Message

    Please support getting MIME of a chat message just like we do for Mail Message.

    https://docs.microsoft.com/en-us/graph/outlook-get-mime-message

    6 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. 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

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

    We’ll send you updates on this idea

    3 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  14. 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.

    9 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. 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.

    9 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 →
  16. Enable $orderBy on me/chats endpoint

    We need to get the most recent (MS Teams) chats for a user and need to order by lastUpdatedDateTime (or at least createdDateTime). Please allow this.

    The error when using $orderBy for the me/chats endpoint currently is:

    "Query option 'OrderBy' is not allowed. To allow it, set the 'AllowedQueryOptions' property on EnableQueryAttribute or QueryValidationSettings."

    4 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. Ability to query historical records from Callrecord API

    We currently have a webhook to receive notifications of new callrecords from Teams. In cases where we missed notifications, or in cases where we need to go back in time, it would be useful to have the ability to query callids based on date and time. For example, get all IDs between datetime and previous datetime.

    2 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 →
  18. 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

    21 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 →
  19. 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.

    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 →
  20. 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.

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

    We’ll send you updates on this idea

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

Feedback and Knowledge Base