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. change passwordProfile PATCH to expire a password without setting a temporary one

    At the moment, a PATCH request on a user object in this form

    {

    "passwordProfile": 
    
    {
    "forceChangePasswordNextSignIn": true,
    "password" : "aNewPa55w0rd"

    }

    }

    ...works. The next time the user logs in, they use the new password and are forced to change it. However, I would like to send

    {

    "passwordProfile": 
    
    {
    "forceChangePasswordNextSignIn": true
    }

    }

    which would force a user to change their password, but not have to send them a temporary one. It would be the same as issuing this powershell command:

    Set-MsolUserPassword -UserPrincipalName some.user@somedomain.onmicrosoft.com -ForceChangePassword:$true -ForceChangePasswordOnly:$true

    2 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. Need API to get chat participants

    I am develop a app with message extension that could help gather some information based on context, e.g. when this message extension is triggered inside a 1-on-1 chat , it needs to know the user information of the other participant in the chat.

    There is already /beta/chats/{chatId}

    But unfortunately, there is no way to know the exact chat Id the message extension is triggered from. There would be an event named as "composeExtension/query" sent to my bot endpoint with payload that contains a "conversation id" but it could not be used to retrieve chat directly.

    And there is no participant…

    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 →
  3. Add support for retrieving any user's SMIME certificate.

    In US DoD environments, user certificates are needed to encrypt data for a set of users. This data is available from EWS and is stored in the userCertificate or userSMIMECertificate property in AD.

    1 vote
    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 →
  4. Expose more attributes via Graph API

    Please expose these missing attributes via Graph API:
    - homePhone
    - otherHomePhone
    - otherTelephone
    - facsimileTelephoneNumber
    - postOfficeBox

    4 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 →
  5. Add user TimeZone as optional claim

    It would be very useful if you could add the user TimeZone as claim when logging into Azure AD.

    https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-optional-claims

    2 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 →
  6. Enable/Disable Microsoft Graph per user.

    You currently offer a way to disable graph at the tenant level. I am looking for a way to enable/disable on a individual basis. I also need a way to trigger a full reevaluation of the delve type aspects in graph.

    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 →
  7. Expose Birthday and Department property to the Users endpoint.

    This has been unavailable for a long time now. What's the point in having users store their birthdays if you can only check if it's the current user's birthday or department.

    It's astounding that such little effort is put into addressing these issues with the endpoints having various missing props and functions such as contains. All in all it means I can't create the following:


    • Search for department and it's users (Contact search component)

    • Upcoming/Today's birthdays

    It can't be that difficult to just add these properties to the /users endpoint as well as fix the permissions issues plaguing getting basic…

    4 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 →
  8. Get directoryRole | modified date

    Hello,
    Please allow/integrate to query modified date for directory roles,
    This will allow easy to monitor if someone added to role.

    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 →
  9. Add Deleted By to Delta Query Indicating Compliance or Retention Delete

    It would be great to know what process deleted an item in the Delta Query. This way we can tell the difference between a Compliance/Retention delete and a user deletion action. That way third party apps can take action on items deleted by policy.

    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 →
  10. Provide API access to AAD user MFA Properties

    Would be good to not only retrieve the state of the authentication requirements, but the details around MFA as well: MFA Methods, etc (StrongAuthenticationMethod, StrongAuthenticationRequirement, StrongAuthenticationDetails that was available in PS for AAD V1)

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

    We’ll send you updates on this idea

    5 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  11. Extensions Permission

    This affects all resources that support extensions but let’s take the User resource as an example:

    Extending the User resource currently requires an entire User Profile read/write consent (User.ReadWrite).
    We only want to read and write additional data that we provide to the User resource and not modify the entire resource. Users might be hesitant about consenting to Apps that could potentially corrupt their entire user profile.

    35 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 →
  12. Add support for wWWHomepage

    Microsoft Graph cant return the wWWHomePage property that people know from regular AD. We need to access this field in a business case and cant do so, because of the current limitations.

    Please add support for wWWHomePage on the User object!

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

    4 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 →
  14. Expose additional O365 subscription and user data

    Data that can be fetched using Get-MsolSubscription is not exposed via Graph API: CreatedDate, IsTrial, RenewalDate. Also, when fetching users, there are fewer user fields available with GraphApi than with Get-MsolUser: WhenCreated, LicenseReconciliationNeeded, IsLicensed, Blocked... It would be nice to expose this data related to license usage.

    13 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 →
  15. Is there some office365 graph API that being able to know whether the user's mailbox is in cloud or on-premise?

    For a hybrid exchange deployment, some users could be assigned the license for exchange, but the according mailbox may still be in onpremise environment.
    And we trying to call "https://graph.microsoft.com/v1.0/users/?$select=assignedLicenses,mail,id,displayName,userPrincipalName" to get some details of the users in the specific tenant, however, there is no way to tell whether the user's mailbox is in cloud or on-premise.
    So, is there some office365 graph API that being able to know whether the user's mailbox is in cloud or on-premise?

    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 →
  16. Get User Detail (Office 365 Activations) JSON not formatted properly

    JSON output from Graph beta API should provide string for lastActivatedDate. However null value is retrieved if user has not activated respected product license.
    This inconsistency causes data processing failures in Microsoft Flow. The 'Parse JSON' action fails with "Invalid type. Expected String but got Null." for lastActivatedDate property, as JSON schema defines string type for this property.

    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 →
  17. Support result pagination in Get-AzureADUser

    The Get-AzureAdUser cmdlet does not support any pagination. The only option is -Top nnn. It appears that the underlying REST API does support pagination, so this should be a matter of exposing that support in the cmdlet.

    The problem is with large Active Directory instances which currently require -All $true - which consumes a lot of memory (and therefore doesn't work in an Azure Runbook due to the 400MB limit).

    2 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 →
  18. 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

    1 comment  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  19. Allow MS Graph proxyAddress filters to specify endsWith() and contains()

    Currently there is support for startsWith and eq filters on proxyAddresses. However there is no way to search for proxyAddresses that endsWith or contains a string. E.g. finding users with a proxyAddress in a specific domain.

    $filter=proxyAddresses/any(x:endsWith(x,'@acme.com'))

    See this thread for more information: https://stackoverflow.com/questions/46588870/filtering-on-proxyaddresses-with-microsoft-graph-api-that-endswith-or-contains-a

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

    We’ll send you updates on this idea

    8 comments  ·  Users  ·  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 is started. -EY

  20. Showing significant other value in spouse name

    I have put significant other value into contact from office outlook, but In the API it showing in spouseName name field.

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

Feedback and Knowledge Base