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 support for delegating outlook tasks

    In the current to-do tasks beta api there is the option to create new outlook tasks (https://docs.microsoft.com/en-us/graph/api/outlookuser-post-tasks?view=graph-rest-beta&tabs=cs) , but in order to delegate that task to someone else you need to go into outlook.

    Please add the ability to delegate outlook tasks directly from the API. Having users go into outlook afterwards to delegate tasks crated through the API is not very user friendly.

    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 →
  2. add a python sdk, publish it on pypi and support it

    add a python sdk, publish it on pypi and support it

    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 →
  3. Whiteboard API

    Are there plans to release the Whiteboard API and Docs? I'm curious and would want to build on the great experience that's been built so far. Thanks!

    19 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 →
  4. Support compressed requests

    Some Graph API requests can be quite large (e.g. sending mail with attachments). It would be great if the Graph API supported POST HTTP requests that are compressed (i.e. "Content-Encoding: gzip”).

    The Gmail API currently supports this.

    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 →
  5. Add IPv6 Support

    Please add IPv6 support for graph.microsoft.com

    Calling the API from IPv6 only connections fails.

    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 →
  6. Include user administration in your strategy rather than simply end user task automation.

    Looking at the various Graph APIs (i.e. on a per product basis), there's only one that addresses back-end administration, which unsurprisingly is Azure AD.

    While Graph is nice for end user task automation, it completely overlooks the mundane but necessary back-end processes. For example, you can use Graph to come up with end user mailbox automation involving calendaring (front end), but you can't change anything about the user's mailbox configuration (back end).

    Another example is that you can fiddle around with user (front end) scenarios in Dynamics 365 via Financials, but you can't even add a user (back end) to…

    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 →
  7. Provide a Graph/O365 REST API to fetch subscription commitment (monthly or annual)

    In the admin console I'm able to see the subscription commitment for each license (either monthly or annual). I want to be able to fetch that information through an API.

    14 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 →
  8. Integrate with Dynamics for Talent

    I wish Microsoft Graph had integration with Dynamics for Talent, we are developing a solution that needs this integration. May we create a job demand through a web application and view the job demands created.

    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 →
  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…

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

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

    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 →
  12. Change "headers" in batch requests to be an array rather than an object

    In the batch API for MSGraph (see https://docs.microsoft.com/en-us/graph/json-batching), the "headers" field within each individual request is currently a JSON object rather than an array. This is problematic because HTTP spec allows for multiple headers with the same name, which can not be provided in this format.

    For example, when retrieving calendar events at "/me/events/{id}", we currently have the following two headers set:
    "Prefer": "outlook.timezone="Eastern Standard Time""
    "Prefer": "outlook.body-content-type="text""

    This is currently impossible to do in a batch request given the spec.

    1 vote
    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 →
  13. 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 →
  14. 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 →
  15. 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,

  16. 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 →
  17. 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 →
  18. 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.

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

Feedback and Knowledge Base