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. Support getting 'mailboxSettings' properties on the users enumeration

    Support getting 'mailboxSettings' property on the users enumeration:
    https://graph.microsoft.com/v1.0/users?$select=mail,id,userPrincipalName,mailboxSettings

    Getting mailboxSetting per each user generates a lot of queries to Microsoft.

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

    116 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 →
  3. 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.

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

    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 →
  5. Provide License Assignment Time under users endpoint in Microsoft Graph

    Currently the list users endpoint - https://graph.microsoft.com/beta/users, only provides the assignment time of individual service plans bundled under an SKU. It would be great if the assignment time of the SKU could be provided under the assignedLicenses field. An additional ask here would be to also provide the activation time of a license by a user and license revokement time.
    Note - Although this license assignment time information could be obtained from audit logs, they only provide this information for any licenses assigned in the last 30 days and not beyond that, so getting this info under users endpoint…

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

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

    7 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. CallHistory API

    https://docs.microsoft.com/en-us/graph/api/call-get?view=graph-rest-1.0&tabs=http
    From those API we are getting specific call details. but what if we want to get the call history of any user.
    From the admin portal, we are able to get call history from activity but didn't find any API which allows admin to get the call history of users.|

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

    43 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 →
  10. Fix the licenseAssignmentStates property of the user resource type

    The licenseAssignmentStates property of the user resource type does not return all assigned licenses. It is definitely a bug. Please see: https://stackoverflow.com/questions/63518563/

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

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

    Find new users in organization using createdDateTime > {dateTime}

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

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

    We’ll send you updates on this idea

    6 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  15. 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!

    6 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 →
  16. 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.

    33 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 →
  17. Implement the .../users?$expand=mailFolders

    currently it returns:

    {

    "error": {
    
    "code": "NotImplemented",
    "message": "This operation target is not yet supported.",
    "innerError": {
    "date": "2020-07-28T08:39:55",
    "request-id": "68aa781d-646b-4bd7-b669-1ca250570f11"
    }
    }

    }

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

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

Feedback and Knowledge Base