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.

    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 →
  2. 4 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 →
  3. add userPrincipalName or id Microsoft Graph beta findRooms

    When using the /beta/users/xxx/findRooms call, the API returns a list of e-mail addresses (and names).

    In most cases, the e-mail address is the same as the userPrincipalName, and can be used for further lookups (e.g. /v1.0/users/<email>/calendarView...).

    However, if the room is renamed, and the associated e-mail address changed:


    • the userPrincipalName of the room will not change

    • but the e-mail address will change, and this is the one returned by findRooms.

    This means one has to do an additional lookup to convert the name or e-mail address returned to the userPrincipalName or id required for /users/xxx/... lookups.

    It…

    1 vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Calendar (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  4. Manage all aspects of plain old Distribution Lists (NOT Office 365 Groups).

    We have the need to create Distribution Lists in Exchange, NOT Office 365 Groups, as we do NOT need all the overhead associated with the Office 365 groups. We simply need the Distribution Lists to collect a group of email addresses and treat them as a single unit. We don't need them to log in, we don't want to provide them with a running history of email conversations and we don't want them to get a "welcome" email message. We just want to send an email to a single email address and have it be disbursed to the addresses on…

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

    We’ll send you updates on this idea

    2 comments  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  5. Enable $filter on group members

    It's very important to be able to filter members of a group, for example to search for employees within an organization by name (e.g. 'startsWith').

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

    We’ll send you updates on this idea

    3 comments  ·  Groups  ·  Flag idea as inappropriate…  ·  Admin →

    This capability is now available in Microsoft Graph public preview. For an example please see https://docs.microsoft.com/en-us/graph/api/group-list-members?view=graph-rest-beta&tabs=http#example-5-use-filter-to-get-group-membership-with-a-display-name-that-starts-with-the-letter-a-including-a-count-of-returned-objects.

    NOTE: you’ll need to use a custom HTTP request header and request $count too, to enable this query capability.

    See also related queries in the changelog entry https://docs.microsoft.com/en-us/graph/changelog#identity-and-access-azure-ad

  6. Please provide (move mail functionality) across mailboxes through graph api

    As in an organization sometime we need to archive the mail to a separate mailbox so the feature is needed one in Microsoft graph Api .So i request you to please give access to this feature

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

    We’ll send you updates on this idea

    0 comments  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  7. Add the ability to set and get the Precense of a users.

    To be able to have third party applications handling the precense of a user. We also need as in skype the ability to add things like "In Office at Orlando" that you could with Skype for business makning it possible to add vital infromation that all users should be able to see.

    This will make it possible to integrate more advanced call logic that can see if the user is able to handle messages and calls.

    1 vote
    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 →
  8. In Python app for accessing outlook mails, contacts, getting Connection issue

    HTTPSConnectionPool(host='login.microsoftonline.com', port=443): Max retries exceeded with url: /common/oauth2/v2.0/token (Caused by NewConnectionError ('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x000000000546D080>: Failed to establish a new connection: [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond',))

    1 vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  9. To be able to create customized API permissions

    To be able to customize API permissions. For example, give logic app only permissions to make changes to guest user accounts, while excluding member user accounts

    3 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 →
  10. Provide examples that actually work, and a non overcomplicated guide/wizard

    Azure App/Manifest design and documentation is probably the worst design I have seen, and I have seen a lot.

    For starters you could document your implementation of Oauth2 with Azure using actual working examples. I have spent days and days sifting trough your cryptic, half written moron documentation justs to achieve the simplest of simple things, namely authorize a user and get the user security groups in a list.

    It is amazing how complicated you have managed to created the tools to perform such a mundane task. I was happy to see some initiative in the right direction, namely easyauth.azurewebsites.net,…

    1 vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Identity and Access  ·  Flag idea as inappropriate…  ·  Admin →
  11. Graph API should support recurrence for Outlook tasks with Outlook.com accounts

    I'm trying to get Outlook tasks from the Graph API beta (https://graph.microsoft.com/beta/me/outlook/task). It is basically working, but I get no recurrence for tasks in my Outlook.com account (recurrence property is null). This works fine for my Office 365 account.

    I'm filtering on non-completed items (filter=Status%20ne%20'Completed').

    I have also tried this with the Outlook Task REST API (https://outlook.office.com/api/v2.0/me/tasks), which seems to be deprecated, with exactly the same results.

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

    We’ll send you updates on this idea

    0 comments  ·  Tasks and Plans (Planner)  ·  Flag idea as inappropriate…  ·  Admin →
  12. Connect to outlook Office 365 IMAP using OAUTH2

    From https://stackoverflow.com/questions/29747477/imap-auth-in-office-365-using-oauth2

    It would be way easier to integrate with Office 365 if only you could allow us to login to IMAP using OAuth2. I understand that you are biased towards REST API but it's just making a developer life a hell.

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

    We’ll send you updates on this idea

    0 comments  ·  Identity and Access  ·  Flag idea as inappropriate…  ·  Admin →
  13. Setting a message from the string in Office365 Graph API

    Moved from SO https://stackoverflow.com/questions/52419919/setting-a-message-from-the-string-in-office365-graph-api.

    I am looking into sending an email using Graph API that was prepared by using the external library (e.g. Zend Mail). For example, for Gmail API https://developers.google.com/gmail/api/guides/sending the process would be the following:


    • convert the message to a string

    • do base64 encoding

    • call setRaw() on message

    I am reading Office 365 documentation https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/message but this Message resource does not seem to have such method.

    1 vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

  15. Enable combining filter and orderBy on users endpoint

    I want to show my customers a list of users ordered by their name and all disabled users or guest users in AD should be filtered out.

    You can't do this kind of requests with the users endpoint which is quite bad if you want to create an app for a global company.

    So please enable the combination to filter and order users so that we can create great apps using the graph api.

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

    We’ll send you updates on this idea

    In Beta  ·  1 comment  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  16. Add support for additional user properties update with app only context

    Per the documentation at https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_update I should be able to update the birthday and hireDate values however my client app (uses app token instead of user token) receives a 500 Internal Server Error when sending a PATCH request

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

    We’ll send you updates on this idea

    2 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  17. 1 vote
    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 →
  18. Public Folder Support in GRAPH API

    We would like to be able rely less on EWS and move more processing to the GRAPH API

    One critical thing we need is access to Public Folders. We need at a minimum for public folders:

    1) Enumerate Heirarchy
    2) Create/Delete Folders
    3) CRUD for items in a folder

    At the moment, we use the EWS public folder API's on behalf of 500 tenants.

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

    We’ll send you updates on this idea

    6 comments  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  19. Input-Output functions in Microsoft graph (excel) api

    Detailed Question:
    https://stackoverflow.com/questions/52245424/how-to-create-custom-input-output-functions-in-microsoft-graph-excel-api/52246534

    For Example :

    Cells A1 to A10 has some data
    Cell B1 is an input field
    Cell C1 is an output field whose value is a functions of A:1 to A:10 and B1 ex: C1 = SUM(A1:A10)/B1

    Is is possible to use Microsoft graph API(or any other api) to send the input data in the form on HTTP request parameter and get the result as the response of the request ?

    An Ideal request-response would look something like :
    http://path-to-workbook/path-to-response-data?parameterB1=someNumericValue
    Response:
    {
    C1: <result of calculation>
    }

    1 vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Workbooks and Charts (Excel)  ·  Flag idea as inappropriate…  ·  Admin →
  20. Ability read AAD Connect sync'd multi-valued attributes.

    I have multi-valued attributes syncing to AAD using AAD connect, but there no available API's to make use of them. It would be nice to have them readable through the GraphAPI and also be able to use a multi-valued attributes to perform AAD dynamic group provisioning on. The AAD connector appears to be able to read/write to them, but they are not usable for the customer.

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

Feedback and Knowledge Base