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

    We’ll send you updates on this idea

    4 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

  2. Allow filtering users by companyName

    While filtering works for some attributes like department it doesn't work for companyName, which sadly I need for my use case.

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

    In Beta  ·  1 comment  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  4. Support the $count operator for user and group objects

    Given that the return size of any query is limited, the $count operator should be supported a lot more broadly. My immediate need when targetting AzureAD instead of an OnPrem AD is knowing the number of users, and number of groups when I send a query.

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

    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?view=graph-rest-beta&tabs=http#example-3-get-only-a-count-of-groups

    NOTE: you’ll need to use a custom HTTP request header 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

  5. Allow / Add onPremisesSamAccountName as a filter

    It will be very interesting to allow filter by onPremisesSamAccountName in users endpoint.

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

    his capability is now available in Microsoft Graph public preview. It’s not currently documented.

    NOTE: you’ll need to use a custom HTTP request header ConsistencyLevel: eventual and request $count=true as well, to enable this query capability.

    GET ../beta/users?$filter=onPremisesSamAccountName eq ‘name’&$count=true
    ConsistencyLevel:eventual

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

  6. Allow filtering on businessPhones field in Microsoft Graph

    Filtering currently does not work on businessPhones field. I would like to be able to return users, for example, with a certain area code.

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

    Hi Courtney, filtering on businessPhones is currently in beta, using this query (all business phones starting with +1):

    ../users?$count=true&$select=id,displayName,mobilePhone,businessPhones&$filter=businessPhones/Any(x:startsWith(x,‘%2B1%205’))

    Remember to add ConsistencyLevel:eventual request header, and $count=true querystring parameter.
    Note1: “+” character of “+1” country code needs to be urlencoded.
    Note2: this field is free-text, and depends on the user input. It’s difficult to get reliable results if the data is not in a standard format.

    Click here to try in MS Graph:
    https://developer.microsoft.com/en-US/graph/graph-explorer/preview?request=users?$count=true%26$select=id,displayName,mobilePhone,businessPhones%26$filter=businessPhones/Any(x:startsWith(x,%20'%252B1%25205'))&method=GET&version=beta&GraphUrl=https://graph.microsoft.com&requestBody=&headers=W3sibmFtZSI6IkNvbnNpc3RlbmN5TGV2ZWwiLCJ2YWx1ZSI6ImV2ZW50dWFsIn1d

    @Anonymous: we are thinking to index all the phone numbers without the special characters (e.g. only digits), so if you want to search for 18474969000, you could do a:
    $filter=businessPhones/Any(x:endsWith(x,‘8474969000’))

    Note: I’m using “endsWith”, operator that is currently in deveopment, and I removed the optional country code “1” from the search string to return all results.
    Please open a new feedback item if you would like to track this work.

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

    6 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 →
  8. The ability to filter Guest users on userType using AAD Graph API

    I'm using the following endpoint to query only GUEST users in my tenant

    https://graph.windows.net/<tenantId>/groups/<groupId>/members?api-version=1.5&$filter=userType%20eq%20'Guest'

    This is returning the following error

    Status code 400

    Response body {"error":{"code":"Request_UnsupportedQuery","message":{"lang":"en","value":"The specified filter to the reference property query is currently not supported."}}}

    It would be nice to have an option to query external users in a particular group.

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

    Hi,
    this is currently in Beta for Microsoft Graph API:
    ../groups/{group-id}/members/?$filter=userType eq ‘guest’&$count=true

    You can even check nested group members with:
    ../groups/{group-id}/transitiveMembers/?$filter=userType eq ‘guest’&$count=true

    To achieve this:
    - use the MSGraph beta endpoint
    - set request header ConsistencyLevel:eventual
    - add $count=true to the queryString

    try it here: https://developer.microsoft.com/en-us/graph/graph-explorer/

    PS: Please use MSGraph going forward because AAD Graph (graph.windows.net) will be deprecated, see: https://techcommunity.microsoft.com/t5/azure-active-directory-identity/update-your-applications-to-use-microsoft-authentication-library/ba-p/1257363

  9. Allow filtering users by officeLocation

    While filtering works for some attributes like department it doesn't work for officeLocation, which sadly I need for my use case.

    GET https://graph.microsoft.com/beta/users?$filter=officeLocation eq 'Gaithersburg, MD'

    Returns:
    {

    &quot;error&quot;: {
    
    &quot;code&quot;: &quot;Request_UnsupportedQuery&quot;,
    &quot;message&quot;: &quot;Unsupported or invalid query filter clause specified for property &#39;officeLocation&#39; of resource &#39;User&#39;.&quot;,
    &quot;innerError&quot;: {
    &quot;request-id&quot;: &quot;641beedd-4df5-4b97-b6b5-4f574c382d08&quot;,
    &quot;date&quot;: &quot;2017-07-26T18:32:39&quot;
    }
    }

    }

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

    We’ll send you updates on this idea

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

    This capability is now available in Microsoft Graph public preview. It’s not currently documented.

    NOTE: you’ll need to use a custom HTTP request header ConsistencyLevel: eventual and request $count=true as well, to enable this query capability.

    GET ../beta/users?$filter=officeLocation eq ‘SomeLocation’&$count=true
    ConsistencyLevel:eventual

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

  10. Include users' last logon time

    Last Logon is missing from the user objects in Azure! I'd like to be able to read the Last Logon information through the Graph API, to tell which users are actually logging in. But very surprisingly I can't find any such attribute!

    Can we please please add this attribute to the user object?

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

    We’ll send you updates on this idea

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

    This capability is now in /beta. It was actually documented earlier, but the service wasn’t quite functional. It is now.
    Here’s an example of getting users and their last signin activity: https://docs.microsoft.com/graph/api/user-list?view=graph-rest-beta&tabs=http#example-5-list-the-last-sign-in-time-of-users-in-a-specific-time-range

    Although not documented you can also filter on a date range to get the set of users that have not signed in since a certain date, or the users that signed in in the last 3 weeks etc.

    Try GET https://graph.microsoft.com/beta/users?$filter=signInActivity/lastSignInDateTime ge 2020-03-20T00:00:00Z&$select=signInActivity,id,userPrincipalName

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

Feedback and Knowledge Base