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 timestamps to events received via web-hooks

    Please could you add a timestamp showing the time an event was generated. Currently you have the following:

    ```
    {
    "value": [

    {
    
    "subscriptionId":"<subscription_guid>",
    "subscriptionExpirationDateTime":"2016-03-19T22:11:09.952Z",
    "clientState":"secretClientValue",
    "changeType":"created",
    "resource":"users/{user_guid}@<tenant_guid>/messages/{long_id_string}",
    "resourceData":
    {
    "@odata.type":"#Microsoft.Graph.Message",
    "@odata.id":"Users/{user_guid}@<tenant_guid>/Messages/{long_id_string}",
    "@odata.etag":"W/\"CQAAABYAAADkrWGo7bouTKlsgTZMr9KwAAAUWRHf\"",
    "id":"<long_id_string>"
    }
    }

    ]
    }
    ```

    But adding a timestamp would help us order events accurately. Something like..

    "createdAt" : "2016-03-19T22:11:09.952Z"

    would be very helpful! Thanks.

    8 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 →
  2. Ability to retrieve a meeting chat and audio/video recording

    I want to be able to retrieve previous meetings and the any chats & audio/recordings that occurred.

    3 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 →
  3. Wait for slow upstream services and report proper error instead of UnknownError

    I think Microsoft Graph should change the way it handles slow upstream services. We use the Sharepoint/OneDrive API heavily and we often get an "UnknownError" after 10/20/30 seconds depending on what operation we perform. This happens because MS Graph doesn't wait more than a predefined period of time for the Sharepoint service to respond, and when Sharepoint is overloaded (which happens a lot for various tenants), it takes more than 10/20/30 seconds to respond, but keeps working though. An "UnknownError" is then returned to the calling code, Sharepoint continues to upload a file, but we try again due to error,…

    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 →
  4. Retrive alias used on a message

    Allow us to retrive the alias of email

    Exemple, I have main email: me@company.com
    On this email I add an alias contact@company.com

    I send an email to contact@company.com

    When I get the message from https://graph.microsoft.com/v1.0/me/messages in the secion "to" I should see contact@company.com but I see me@company.com so I can't see with alias my client has use to contact me.

    Thanks for your time

    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 →
  5. Graph - Modify the Expand Method to allow TOP and Paging

    I would like to suggest allowing a TOP on the Expand method and implementing paging. Currently only the first 20 records are being returned and there is no way to get more records. 20 seems arbitrary, and well useless at this point. The reason is that a good number of calls might get away with one call to the Graph server vs several, unless of course separate calls are being made under the covers anyway. I would liken this to doing an Include in the Entity Framework Core world whereby I could pull thousands of records for a child table…

    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 →

    Agree that this half-way house support is a bit ridiculous. We would have been better off failing the request as not supported, than have this return 20 max items behavior.

    Anyway, we’ll be looking at how we can enable paging support on expanded collections, but in the meantime this type of operation may first return a 400 in the future (conscious that this is a breaking change).

    Hope this helps,

  6. Create code samples and guidance for ASP.NET Core MVC and Graph

    There are examples for ASP.NET MVC, but not using Core. Please create samples and more guidance for ASP.NET Core MVC (preferably using VS Code). I find it difficult to get started with Graph because none of the existing samples and guidance fit what I use.

    3 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 →
  7. VBA Programming language example for Microsoft Graph tutorials

    i need VBA example of Microsoft Graph tutorials

    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 →
  8. Worst documentation I have ever seen

    Used google picker and dropbox picker. Documentation provided was perfect. Each step followed and more importantly it worked. Should add an option to leave a comment/question on each topic provided.

    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 →
  9. MSGraph API - Granular Field Level Control for 3rd Parties who Federate

    There is a lot of development in Azure to manage 3rd party applications, (enterprise applications), Cloudapp Security, Conditionals, IP, etc...

    From a SECURITY perspective though, they do not do the Job. All off these components offer an access or no access condition ONLY. They do not offer control of WHAT is being accessed.

    For example, either grant access to the mailbox or dont grant access to the mailbox and exactly what access is being granted is up to the 3rd party.

    For example, as administrators we maybe able to control whether the 3rd party app can access the tenant or…

    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 →
  10. Application permission for Add/Remove directory role member

    We are trying to implement an account synchronization between our application and Azure AD. As this synchronization does not run on behalf of a user on Azure AD, we use the client credentials grant with corresponding application permissions. We are able to create users, read directory roles, activate directory roles, but there's no application permission for adding or removing a directory role member, hence we get 'Insufficient privileges to complete the operation.' when we try to do so.

    Please add support for adding and removing directory role members via an application permission.

    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. Use Attached Application Permission Directory Objects (Groups/Users) as optional Scope for Application Account(API) Read/Write Permissioning

    For applications registered in AAD that have attached users/groups for accessing the application, provide a new application account API permission SCOPE that allows the Application Account (API) to operate within the scope of the attached directory objects and no further.

    I.e. If I have have a SaaS application called "LEARNING CENTER", and that application is registered in AAD, has attached groups (to allow users to access the application, and the App registration has setup an Application API Account with Graph permissions. The group "SPRING2019STUDENTS" is attached to the application, allowing members of that group to log into the LEARNING CENTER…

    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 →
  12. Expand the Graph Open Extension limitations

    I'm attempting to use the Graph Extensions for my user data and keep running into limits put in place that I feel are too small. I either hit the 2KB limit per extension, or when I try to break it apart into logical extensions, I hit the error: "Maximum number of extensions values supported per application is 2"

    I can provide our business case if needed.

    9 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 →
  13. Add endpoint for O365 Theme

    Please add a MS Graph Endpoint to load the current O365 Custom Theme (which has been set in O365 Central Administration > Settings > Organization Profile > Manage Custom Themes).

    Currently there are only endpoints for SharePoint APIs but we need this setting in MS Graph too.

    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 →
  14. 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 →
  15. 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 →
  16. 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 →
  17. 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…

    6 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 →
  18. 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?

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

    21 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 →
    under review  ·  Peter Ciszewski responded

    Today, all workloads are supposed to return 429 with a retry-after. We have been working hard to unify this across the API surface.
    We are reviewing if 503 should also be consistently used to represent cases when throttling occurs due to service state, as opposed to the specific app/user reaching their own individual limits.

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

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

Feedback and Knowledge Base