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. Enable filter groups on displayName with Contains string operator

    Currently, we can only filter AAD Groups on the DisplayName attribute using the StartsWith operator. It would be useful to be able to use the Contains operator.

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

    We’ll send you updates on this idea

    1 comment  ·  Groups  ·  Flag idea as inappropriate…  ·  Admin →
  2. 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

  3. Graph API Beta - Un-assign Policy from Service Principal

    Today there is an endpoint to assign Azure AD Policies to service principals, but there is no endpoint to un-assign a policy from a Service Principal.

    Here is the endpoint to assign a policy:
    https://docs.microsoft.com/en-us/graph/api/policy-assign?view=graph-rest-beta

    Here is a link to the powershell cmdlet for unassign policy:
    https://docs.microsoft.com/en-us/powershell/module/azuread/remove-azureadserviceprincipalpolicy?view=azureadps-2.0-preview

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

    First note is that we now have named policies rather than a single policy type. This change was made in February, just after your post. See https://docs.microsoft.com/en-us/graph/changelog#identity-and-access-azure-ad-3

    The docs have recently been updated to ensure that the Add, List and Remove topics are present. Please see and example:
    https://docs.microsoft.com/en-gb/graph/api/serviceprincipal-delete-claimsmappingpolicies?view=graph-rest-beta&tabs=http

    While policies are ALSO in v1.0, you can’t currently assign them to servicePrincipals as we only just added this to v1.0. An update will go out in a couple of weeks to enable add, list and remove typed policies to/from a servicePrincipal.

  4. Teams- Subscription to user presence updates

    As it stands, the API to get Teams presence requires constant polling in order to track a user's presence in near-real time. It would be more useful if we could subscribe to all presence updates using a webhook.

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

    We’ll send you updates on this idea

    5 comments  ·  Cloud Communications  ·  Flag idea as inappropriate…  ·  Admin →
  5. Enable $orderby on group members

    We want to do paging on group members in our UI (where we show group members). The paging is based on first name or last name. However, graph groups endpoint does not support orderby.

    Having this support will make life easier.

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

    We’ll send you updates on this idea

    0 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-4-use-searchand-odata-cast-to-get-user-membership-in-groups-with-display-names-that-contain-the-letters-pr-including-a-count-of-returned-objects

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

    See also related queries in the changelog entry

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

    5 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 →
  7. 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 →
  8. Support filtering of memberOf endpoint

    I think I can reiterate what many users are saying about endpoints without filters, its a time consuming task to page through thousands of roles when I'm after a subset of them. Enabling something like this would be helpful:

    https://graph.microsoft.com/v1.0/me/memberOf?$filter=startswith(displayName,'app')

    4 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  ·  Groups  ·  Flag idea as inappropriate…  ·  Admin →
  9. Provide a Teams API To send direct messages to users

    Currently, the only way to send messages is to post a message on a channel in a team. It would be great if there could be an API to send a direct message to the users. Please let me know if it already exists, because I could not find any such method in the chat object here :
    https://docs.microsoft.com/en-us/graph/api/resources/teams-api-overview?view=graph-rest-beta

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

    We’ll send you updates on this idea

    4 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  10. User Provisioning API

    MS Teams configuration is currently split between two powershell modules: the Skype for Business Online PS Module and the Teams PS module.

    We're using these to provision MS Teams, but it is cumbersome to do remote PS, the SfBO Module has stringent limits like number of sessions, throttling and speed overall (takes a long time to even get a session).

    My suggestion is to move everything to MS graph.. and for end users, extend the MS Teams PS module using these newly established graph API functionality and offer them to developers as well. We'd be a lot more effective being…

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

    We’ll send you updates on this idea

    2 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  11. 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

  12. Add manager to list Users graph api

    Currently we allow customer to connect to the Azure AD for listing all people in their AD for an up-to-date personell system.
    If they need to have the hierarchy in our software as well (who is the manager of who) this is near impossible as you have to retrieve the manager object per user.

    Please allow an extra attribute to request the manager information when listing users instead of 'per user' basis.

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

    We’ll send you updates on this idea

    2 comments  ·  Identity and Access  ·  Flag idea as inappropriate…  ·  Admin →

    Update: The bug fix (so that select and expand play nice together) is committed, and should be rolled out this quarter (Q2 2020). That should enable things like

    GET ../users?$select=id,userPrincipalName&$expand=manager

  13. When I download a message of teams channel, I would like to have access to the inline images.

    I got the html-code, but the URLs of the embedded images are kind of https://eu-api.asm.skype.com.eu.cas.ms/v1/objects/... and I only have access to them when I am connected via the TeamsClient. My Angular App uses the MSAL library.

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

    We’ll send you updates on this idea

    1 comment  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  14. Basic read access to users messages

    The ability to access mail messages on behalf of a user without the body or attachments of the messages. This permission scope is similar to Mail.Read.

    6 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 →
  15. Education -> User -> Assignments API

    Currently, we can request a student's school or classes. However, it would be more beneficial if we could get a student's assignments.

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

    We’ll send you updates on this idea

    0 comments  ·  Education  ·  Flag idea as inappropriate…  ·  Admin →
  16. allow access to user presence via API

    Please allow access to read and update user presence via API.

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

    We’ll send you updates on this idea

    20 comments  ·  Cloud Communications  ·  Flag idea as inappropriate…  ·  Admin →
  17. Microsoft Graph API to support Enterprise Application User Querying

    Support for the ability to query AD users that are provisioned to an enterprise application.

    Based off of the Microsoft Graphi API there is no way to actively see the users and their associated permissions to an enterprise application.

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

    This API does exist and you can find it here:
    https://docs.microsoft.com/en-us/graph/api/serviceprincipal-list-approleassignments?view=graph-rest-beta&tabs=http

    Granted – this documentation can be massively improved. In the response you need to look at the principalType as it can be user, group or servicePrincipal. For your scenario, you can ignore servicePrincipal, but if a group is provisioned to an enterprise application, you’ll need to get the group’s direct group members (using GET ../groups/{id)/members) to find the users assigned (indirectly) to this enterprise application.

  18. Provide webhooks for Microsoft Teams messages.

    We are integrating Microsoft Teams threaded chat into our product offering. Our users will interact with the channel-based chat using both the Microsoft Teams application and from within our application. To avoid polling, we would like to be able to subscribe to Microsoft Teams related events. Of interest are events related to new channel messages. We found similar subscriptions for files and email, but nothing related to Microsoft Teams.

    See documentation for /subscription endpoints, Change notifications: "Use the Microsoft Graph API to get change notifications"

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

    We’ll send you updates on this idea

    11 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  19. 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.

  20. Allow / Add onPremisesSamAccountName as a filter

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

    19 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

← Previous 1
  • Don't see your idea?

Feedback and Knowledge Base