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. Fully migrate AD users to Azure AD

    I would like to be able to fully migrate my AD users to the cloud, so that when I use them to log into an AzureAD Joined Machine, the whoami CMD properly returns AzureAD\fristnamelastname. Right now there are hidden attributes accociated with the previously AD synced user, that causes the whoami CMD to return DOMAIN\username. This is preventing cloud migrations.

    Response I received suggesting that I contact this team.

    "This a known gap, that we're reviewing. Even though you have migrated the user from AD to Azure AD, the onprem SamAccountName is still intact on the user object, among other…

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

    We’ll send you updates on this idea

    11 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  2. Retrieve custom properties of user profile in Sharepoint via Users API

    When editing my profile on my company Sharepoint, I see that there is the section "Custom properties" where I can specify Division, Report To, My Bio.

    These information is then shown in the User profile view in MS Delve.

    I would like to extract these information, using the Graph API on .NET.
    I have taken a look at the documentation of Users API in v1.0 and beta, but there is no mention of custom properties.
    I have also looked the new Profile API (Preview) but again there is no mention either.

    10 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 →
  3. 10 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    Hi,
    filtering on mobilePhone is tricky because it is a “free-text” field, and there is no format guarantee.
    It can start with the country code, it may not.
    It can be separated by parenthesis, hyphens or dots, or not. Totally depends on the user input.

    However, this functionality is currently beta, thanks to the new advanced query capabilities for Directory Objects (see announcement blog post https://aka.ms/CountFilterMSGraphAAD )

    Here is the query you can try today by setting:
    1) Beta Endpoint
    2) ConsistencyLevel = eventual header
    3) $count=true parameter

    Example: find all users with mobilePhone starting with “+1” (note: + character is urlencoded)

    https://developer.microsoft.com/en-us/graph/graph-explorer?request=users?$select=id,displayName,mobilePhone%26$filter=startswith(mobilePhone,'%252B1')%26$count=true&method=GET&version=beta&GraphUrl=https://graph.microsoft.com&requestBody=&headers=W3sibmFtZSI6IkNvbnNpc3RlbmN5TGV2ZWwiLCJ2YWx1ZSI6ImV2ZW50dWFsIn1d

  4. properteries returned from credentialuserregistrationdetails takes about 24 hours to reflect changes

    When a users registration status changes or displayName of the user changes, these changes take about 24 hours to be reflected when making a call to...
    GET /reports/credentialUserRegistrationDetails

    Can we please improve the change frequency to a much more reasonable time. Sooner the better of course.

    https://docs.microsoft.com/en-us/graph/api/resources/credentialuserregistrationdetails?view=graph-rest-beta

    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 →
  5. Graph API to list the Mail forwarding details for all the users for a tenant using the auth token for global admin account

    As a security monitoring expert for an organization, we need to get the details of all the users under a particular tenant to list the email forwarding user ids. Using this information the organization can evaluate the security profile. Currently, this information is available using PowerShell.

    Suppose a user john@contosa.com has rule enabled to forward some or few of his mail to another email id. We want to have a list of such users.

    41 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 →
  6. Include "businesePhones" in basic profile

    According to https://docs.microsoft.com/en-us/graph/permissions-reference#remarks-23, now with permission:"User.readBasic.All" , only bleow properties would be visible:


    • displayName

    • givenName

    • mail

    • photo

    • surname

    • userPrincipalName

    Which means "businessPhones" is not included.

    So it means normal user (not admin) won't be able to view other users' business phones in Teams, even these "other users" are their colleagues !

    You never want to reach your colleague by calling their business phone !? So what's the point to keep business phone invisible to most users in same organization?

    Just suggest to include businessPhones in basic profile.

    32 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 →
  7. Make a WORKING example in ASP.NET Core 3.1 Razor pages

    I've been trying to make this @#$%@ work for a week now - to make a web app where user authenticates with Azure AD and then this app invokes Graph API to create Schema Extension for User type! I read all the possible docs, but NOTHING helps. I get all kind of errors but it never works!

    5 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 →
  8. Delta and Subscriptions to include photo and photo property with last update date

    If you have a tenant with a lot of users or a SaaS platform that works with millions of users accounts in Microsoft, it is extremely painful and time consuming to pull/sync profile images from Microsoft Graph. Doing live queries against Graph for photos are also causing additional strain on the Graph infrastructure and end users suffer the performance penalty of a service having to query another service first. So it is ideal to sync images in some cases to local systems for performance gains.

    Based on testing that I did I calculated that fetching photos on 300'000 users can…

    14 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 →
  9. User Query filter by OnPremisesExtensionAttributes.ExtensionAttribute

    Allow User query filtering by one of the 15 extension attributes found in the User.OnPremisesExtensionAttributes collection.
    - add allow the user collection to be ordered by an attribute as well (indexed)
    We need to be able to store a generated login name for a B2B guest user in say ExtensionAttribute5 to handle legacy application SSO operations.

    (Use Case) It would be nice to query Users on OnPremisesExtensionAttributes .ExtensionAttribute5 eq 'targetValue' without iterating through thousands of users. This would let us determine whether or not the generated name was unique in our domain. (i.e. used before)

    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. 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 →
  11. Get the entire manager hierarchy

    For some projects, authorization depends on skip manager, or double skip manager. Currently, we can only get manager one level above. Our use case: given user, get upper hierarchy of supervisors/managers.

    6 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 →
  12. When querying the users/delta endpoint, give devs the ability to filter on accountEnabled field and a timestamp of the event

    Maybe I haven't been looking in the right spot but trying to figure out when users are set to inactive through the API hasn't yielded much results. If I filter by the id of a user I can see whether or not they are inactive but without knowing the user beforehand that would be difficult. I think being able to get a list of all users that were set to inactive on a certain date would be useful.

    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 →
  13. Issue with Sharepoint Site API

    Not getting details of sharepoint site groups and it's user details in same API . I am using sharepoint site API "_api/Web/roleAssignments/groups?$expand=Users" to get data of groups under site and details of users belongs to that group . It is working fine for all sites which is under /root , but i am trying to get same data of other team sites and the same API is giving only group information , not giving information of users . I want to get all groups under site like "Member , Owner , Visitor " etc , and User details that which…

    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 →
  14. Add more User properties to the User.ReadBasic.All permissions

    I believe the inequality between User.ReadBasic.All and User.Read.All is too large.

    For example I would like to simply read a users City, Country or department, however, these properties are tied to the User.Read.All permission which contains many more properties which IT departments are hesitant to give as a permission.

    I would therefore like to suggest that the following properties (or an sub-set of them) be added to the basic properties.

    city
    companyName
    country
    department
    imAddress
    postalCode
    state
    streetAddress
    photo

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

    Find new users in organization using createdDateTime > {dateTime}

    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. Restrict graph explorer to not allow one user in an organization to view another user's extensions.

    I don't think it's a good idea for anyone in an organization to be able to view other people's open extensions. Some organizations use these extensions to store some sensitive user data.

    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. Ability to filter users with onPremisesSamAccountName with Microsoft Graph API

    would like to have a filter on the users api of Microsoft Graph API, where I will be able to filter the users based on onPremisesSamAccountName, which is currently not available with Graph API.

    We have the internal employee id to be stored with onPremisesSamAccountName variable which is present in users API of Microsoft Graph. We are trying to filter with onPremisesSamAccountName property to filter based on the internal employee id. Currently we are not able to do that with Graph API but we really need this to be workling or would be happy if we get know any possible…

    10 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 →
  18. Update Sharepoint profile photo when Office 365 photo is updated

    At present it is possible to update a users Office 365 profile photo fairly simply using the Graph API and a short bit of PowerShell.

    However, when the photo changes it does not automatically feed through to Sharepoint Online. There is seemingly some unknown set of criteria for this to happen, such as making a user login to Sharepoint directly, which is not something our user base ever does.

    I have been getting around this by running scripts that make use of the CSOM libraries to generate and upload the required xThumb images but it would be much nicer if…

    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 →
  19. Add Application Authentication for getPresencesByUserId endpoint.

    I understand the requirement for user only permissions against /user/{x}/presence but given getPresencesByUserId would run with an admin level permission Presence.Read.All it would be good to run it as a service application (with Application rather than delegated permissions).

    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 →
  20. Allow $filter on showInAddressList for /users and /groups

    I'd love to be able to filter the /users and /groups collection on the showInAddressList property.

    This would allow us to get all users and groups that are to be shown in the addressbook, currently this means retrieving them all and filtering afterwards (but that poses issues with pagination).

    For groups, there is a dependency on this UserVoice: https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests/suggestions/32677822-support-hiddenfromaddresslistsenabled-property-on

    27 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 →
← Previous 1 3 4 5 6
  • Don't see your idea?

Feedback and Knowledge Base