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. Allow $filter on showInAddressList for /users and /groups

    I'd love to be able to filter the /users and /groups collection on the showInAddressList property.

    This would allow us to get all users and groups that are to be shown in the addressbook, currently this means retrieving them all and filtering afterwards (but that poses issues with pagination).

    For groups, there is a dependency on this UserVoice: https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests/suggestions/32677822-support-hiddenfromaddresslistsenabled-property-on

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

    We’ll send you updates on this idea

    0 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  2. Allow MS Graph API /messages/delta to include singleValueExtendedProperties

    I'm incrementally pulling messages via the /delta query in MS Graph API, v1.0. I'd like to pull a singleValueExtendedProperty in the same way I can for normally listing messages:

    https://graph.microsoft.com/v1.0/me/mailFolders/Inbox/messages/delta?$expand=singleValueExtendedProperties($filter=id eq 'String 0x007D')

    Unfortunately this is currently not supported. I get an error that says:
    "Value cannot be null.\r\nParameter name: type"

    I know I can follow up with multiples GETs to pull the desired extended properties, but I'd rather avoid spawning several requests if I can get away with one.

    Please see conversation here: https://stackoverflow.com/questions/46603485/how-do-i-get-singlevalueextendedproperties-for-ms-graph-v1-0-delta-queries

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

    We’ll send you updates on this idea

    5 comments  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  3. Add "workingHours" object to API queries of bookingServices to expose custom availability

    Booking Services can be configured with custom availability, through the MS OEM Bookings configuration portal. However this availability is not exposed to the 1.0 or beta Graph API.

    My suggestion is to model the workingHours object from List staffMembers Graph API query. Just as custom availability is exposed for staff, it shoudl be exposed for services.

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

    We’ll send you updates on this idea

    0 comments  ·  Customer Booking  ·  Flag idea as inappropriate…  ·  Admin →
  4. Enable Calendar Sharing

    Currently there is no API to share calendar with another in user. This is possible with O365 WebApp and Outlook client. Please enable this through API also

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

    We’ll send you updates on this idea

    1 comment  ·  Calendar (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  5. allow the usage of filter to retrieve chat for MS teams chat

    Currently Our project is using the API (mentioned bellow) to read all the messages of particular channel of MS Team

    https://docs.microsoft.com/en-us/graph/api/channel-list-messages?view=graph-rest-beta

    it is ok to hit this API for small conversation but as the conversation becomes lengthy( by the time), then the API takes long to retrieve the message. So please provide enable the filter to retrieve the teams messages by date filter.

    There are filter which can already be applied to message(on mail ) and people.
    Can this filter will also be enabled for channel messages for MS Teams.

    26 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 →
  6. Create Hide folder inside office 365

    Hi all,
    With the VSTO and exchange WSDL we have avaibility to create an hidden folder for move mail inside. Whis this feature we have developped an plugins VSTO for a french company and a french law for disconnexion of numeric tools. With the office 365 api, these only parameters that can set when we create a folder is the display name and a single-value extended properties. I have create a folder with a display name, this folder whan correctly create with the name. I have update this folder with the single-value extended properties like in WSDL

    POST https://graph.microsoft.com/v1.0/users/{userPrincipalName}/mailFolders/DeletedItems/childFolders/

    Body:

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

    We’ll send you updates on this idea

    1 comment  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  7. 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…

    25 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 →
  8. Manage permissions at ressource level for Sharepoint and Files

    Today, when an application is granted access to Sharepoint or Files, it has access to all sharepoint sites and files of the user. In case of an application permissions, the admin user gives access to all Sharepoint sites and Files of its tenants.
    It would be great to manage permissions at Sharepoint site level. A user/admin user would grant an app access to a specific Sharepoint sites and to all the drives related to that Sharepoint sites.

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

    We’ll send you updates on this idea

    2 comments  ·  Sites and Lists (SharePoint)  ·  Flag idea as inappropriate…  ·  Admin →
  9. Add Calendars.ReadBasic minimum permission for getSchedule

    getSchedule and list events require the same permission - Calendars.Read. This is too broad for getSchedule, allows the caller to list events, including the event subject/body.

    Create a new permission: Calendars.ReadBasic. Use it as minimum permission to retrieve free/busy info only, which is sufficient to determine availability and scheduling meetings.

    Exchange Calendar permissions and sharing policies have this. https://docs.microsoft.com/en-us/exchange/sharing/sharing-policies/sharing-policies.

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

    We’ll send you updates on this idea

    2 comments  ·  Calendar (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  10. Simple endpoint to receive all calls from all users

    It would be very helpful if /communication/calls or /me/calls simply provides a list of all calls, as well as the /me/messages list.

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

    We’ll send you updates on this idea

    0 comments  ·  Cloud Communications  ·  Flag idea as inappropriate…  ·  Admin →
  11. Graph API to Microsoft Forms

    Access to Microsoft Forms would be great! The ability to query form responses could be very beneficial.

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

    We’ll send you updates on this idea

    3 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  12. Add 'select' and 'filter' to webhook resource subscriptions to get more accurate notifications

    Currently, only two options exist : updated or changed.

    It would be great to be able to be more specific to get only the targetted notifications, adding filters.

    Example : https://graph.microsoft.com/v1.0/me/messages?$select=isRead&$filter=from/emailAddress/address eq 'jon@contoso.com'

    --> Get a notification only when the 'isRead' field evolves for messages sent by Jon.

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

    We’ll send you updates on this idea

    3 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
    planned  ·  Peter Ciszewski responded

    Support for $select is being planned.
    Support for $filter is in the backlog.

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

    22 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 →
  14. Graph SDK for full call recording for IVR Bot in Teams

    We are using the Graph SDK to develop Teams based IVR bot. Currently graph SDK supports only to recording user response for 5 minutes. But full call recording is basic and mandate requirement for any IVR application.

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

    We’ll send you updates on this idea

    0 comments  ·  SDKs and Tooling  ·  Flag idea as inappropriate…  ·  Admin →
  15. Allow Application to set or update a Group's Photo

    The Graph API makes it relatively easy for a service app to set up a new Group and then add a Team on top of it. For some reason, though, it's necessary to connect with delegated permissions on behalf of a specific user to upload a new picture, or even read the details of the current picture.

    The group photo should be treated like other group metadata, and manageable via the same authentication path.

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

    We’ll send you updates on this idea

    1 comment  ·  Groups  ·  Flag idea as inappropriate…  ·  Admin →
  16. Add $filter support for SharePoint lists

    Following this StackOverflow post, I suggest this feature.
    Allow filter and order for SharePoint lists queries through Microsoft Graph API.

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

    We’ll send you updates on this idea

    0 comments  ·  Sites and Lists (SharePoint)  ·  Flag idea as inappropriate…  ·  Admin →

    This work is on the backlog and currently isn’t scheduled. The feature will be updated here once dev work has started. -EY

  17. consistent retry-after information accross different workloads

    Currently OneDrive, Outlook, and AAD Workloads under the Graph send a retry-after header on 429 and/or 503.
    However the documentation doesn't say which workloads support it https://developer.microsoft.com/en-us/graph/docs/concepts/throttling and the other workloads don't support it.
    It'd make it easier if that was supported across the board to have a single way to handle those kind of issues.
    Same remark for the rate-limit headers
    related issues: https://stackoverflow.com/questions/47146598/not-receiving-retry-after-headers-from-ms-graph-api
    https://github.com/microsoftgraph/msgraph-sdk-javascript/issues/42

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

    We’ll send you updates on this idea

    0 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →

    We’ve started documenting and improving throttling mechanisms and patterns.
    Currently all the resources listed under “the following resources currently provide a retry after header” as well as any resource listed under the service specific limits return a retry after header. More work is ongoing to improve throttling patterns, document those and improve overall documentation readability.
    https://docs.microsoft.com/en-us/graph/throttling

    We’re not planning to bring rate-limit headers back. https://developer.microsoft.com/en-us/office/blogs/throttling-coming-to-outlook-api-and-microsoft-graph/

  18. Implementet full OData v4 query consistently across all graph endpoints

    Currently the documentation says (as of 20th of April) that MS Graph query parameters are compatible with OData v4 queries.
    https://developer.microsoft.com/en-us/graph/docs/overview/query_parameters

    This is not completely orthogonal as there are cases where some operations work and other cases where they don't.
    I've used the Graph Explorer to find out what works and what doesn't so far, but it isn't the ideal way.

    Filter operations Contains/Concat/Trim/ToUpper/ToLower are not supported in /v1.0/users but some are supported in /v1.0/me/events.
    Furthermore it seems string comparisons are case insensitive, rendering ToUpper and ToLower meaningless. Using case sensitivity and allowing the use of ToUpper/ToLower would allow the…

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

    We’ll send you updates on this idea

    5 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  19. Allow update mail attribute for Azure AD User object throught REST API

    Currently we are creating users in Azure AD through Azure AD Graph API (from our Identity Manager Application). Also we assign licenses using the same Rest API. Our users, among other thinks, uses Sharepoint Online and Skype for Bussiness Online. All of our users have his mailbox in an Exchange 2010 (on-premise), so they don't have the Exchange Online Plan. For Skype for Bussiness integration with Outlook, it's needed that the mail attribute on the Azure AD object be the same as the mail address in Outlook. The problem is that this attribute is read only throug rest API. Also,…

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

    We’ll send you updates on this idea

    1 comment  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  20. Support edit / delete message Graph API

    support delete message and edit message.

    21 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 →
  • Don't see your idea?

Feedback and Knowledge Base