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. Integrate Your Phone APIs into Microsoft Graph

    Integrate Your Phone APIs into Microsoft Graph in order to expand Your Phone userbase to users of non-Windows PCs.

    1 vote
    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 →
  2. Support isof OData function for MS Graph

    I want to get all the users that are members of a group, but currently we only have navigation property to get both groups and users that are members.
    This would be fine if the OData IsOf function was supported. Then I could easily filter out the groups. But it is not supported, at least not for this kind of query.

    Please support IsOf for ALL of MS Graph. It's super important in a lot of cases, since you will often be working with directoryObjects of different types.

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

    We’ll send you updates on this idea

    1 comment  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  3. Add Microsoft Word endpoints to the Microsoft Graph API

    Microsoft Graph needs to allow access to Microsoft Word Documents by exposed API endpoints.

    Basically, all the analogous functionality present in the excel endpoints should also be exposed for the respective similar functions that Microsoft word has.

    Why can we not, create, edit, modify, add tables, etc, etc, in Microsoft Word through Microsoft Graph?

    36 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 →
  4. Please please provide better working examples and documentation for Accessing Microsoft Graph from ASP.NET

    I have been trying to get a Graph call (checkMemberGroups?api-version=1) from ASP.Net web application since August. Everything is centered around Windows applications, and it doesn't seem to translate to the web.

    1 vote
    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 →
  5. Filter and search support on users is severely lacking and prevents scenario completion

    There are several requests for improvement in user apis.
    This api seems to have stagnated and is terrible at scenario completion.
    Given it's current state the only way to achieve true scenario completion is to query each user by id to get their full object, reindex all of this information in a separate solution that is significantly better at search and filter.

    There are several requests speaking about the breadth of properties on which filter is not supported.

    There are several requests speaking about the lack of information returned by the list apis.

    There is an orthogonal people api that…

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

    We’ll send you updates on this idea

    1 comment  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  6. Graph Webhooks - include the changed data in the response

    Trying out Webhooks on the Graph beta enpoint for /users and I am missing
    information about what data was changed

    Nowhere to be found is what attributes of the user were changed (i my case "Last name"). This makes the triggers totally unusable for "/users" and I cant really think of anyone who could use this function as is? Sure I know the object was changed but I have no idea WHAT happened and if the change was relevant to my function
    Please tell me there are plans to include the actual changes i the trigger response

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

    We’ll send you updates on this idea

    1 comment  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  7. 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/

  8. 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 →
  9. Exchange Permissions - Ability to restrict send/receive to a specific mailbox

    Requesting application based permissions to restrict sending/receiving email to a specific mailbox. The current set of application permissions allow to access to any mailbox. One of our use cases involves sending mail from a back end service (i.e. no user interaction) using the client credentials grant flow but we need to limit the app team's ability to send from one mailbox.

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

    We’ll send you updates on this idea

    2 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  10. Add FTS support to Graph API

    To be able to bulk download/upload data from Exchange, it would be great if the Graph API would support Fast Transfer Stream. This is required to provide high fidelity data migration services.

    2 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 →
  11. Raise or remove the limit on number of requests allowed in a batch

    A limit of 5 is insufficient for my batching needs. Please remove this limitation entirely or raise it to a reasonable number (100+).

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

    We’ll send you updates on this idea

    4 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  12. 5 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 →
  13. Increase webhook subscription from 3 days to about 6 months

    From the developer's view, ideally the webhook subscription will never expire. But that's probably not practical.

    The next best would be say 6month expiry. Because that means we still need to build a re-scheduling mechanism. But we don't have to run it every 3 days.

    I believe if the expiry was too long say 1 or 2 years, the developers will leave without building a re-scheduler, so the webhook will just break in 1 year's time.

    Currently, because the webhook subscription expires every three days, we are driving a behaviour where developers don't use webhooks - they just use scheduled…

    9 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 are working on extending the webhooks framework with new functionality, and this will also allow us to increase subscription lifetime. -EY

  14. 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…

    25 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 →
  15. 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.

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

  16. GraphQL API for the Microsoft Graph

    Facebook's GraphQL is the perfect API solution for the Microsoft Graph. I highly encourage you to implement this, since it would improve development for React apps.

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

    We’ll send you updates on this idea

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

    Thanks for your feedback! We are doing some investigation into GraphQL. We’ll keep you posted.

    Thanks!
    Office Extensibility Team

  17. OData filter 'contains'

    When searching a mailbox using OData QueryParams I can do
    '$filter': 'Subject eq /'Priority'/'
    but that only matches where the subject exactly equals that... I can't find all mails where subject begins with, ends, contains, does not begin with, does not ... you get where I'm going... there's a significant lack of richness in the filtering (and because $search is generic and across a number of fields while it's useful, it does not give me the specificity I need)

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

    We’ll send you updates on this idea

    7 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  18. Support Delta Query for Schema Extentions

    Delta Query on Schema Extensions would be incredibly powerful. Especially when paired with services like the Event Grid. Changes to user data would be an incredibly rich source for automation triggers.

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

    We’ll send you updates on this idea

    1 comment  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  19. Add ability to export as PDF

    Add ability to export documents via graph API as PDF

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

    We’ll send you updates on this idea

    2 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  20. Sway graph API

    We are building a platform so that teachers can share educational materials with each other, and use and improve upon it. This requires that we can take entities from one tenant and create a copy in another tenant. This seems to be possible for OneNotes, but not for Sways. It would be great if the Graph allows CRUD operations on Sways in JSON.

    We would at least need GET, GET/{id} and POST.

    Thank you for considering this proposal.

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

Feedback and Knowledge Base