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 Azure Conditional Access for Microsoft Graph

    A lot of Microsoft products does not work as expected due to the fact the Microsoft Graph does not support Azure Conditional Access. Among the applications I can mention is Microsoft Teams, ToDo, etc. that all rely on the Microsoft Graph and breaks to to limited support or no support for Azure Conditional Access.

    Teams:
    https://microsoftteams.uservoice.com/forums/555103-public/suggestions/32657161-conditional-access-team-authentication

    ToDo:
    https://todo.uservoice.com/forums/597175-feature-suggestions/suggestions/32007451-add-support-for-conditional-access

    /Peter Selch Dahl - Azure MVP

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

    We’ll send you updates on this idea

    1 comment  ·  Identity and Access  ·  Flag idea as inappropriate…  ·  Admin →
  2. 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 →
  3. Planner Task Change Notifications or Delta Query

    I would like to be notified when tasks are created, updated or deleted in the graph api change notifications. Alternatively delta queries would be helpful in creating a standup-feed of information that has changed since the last meeting.

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

    We’ll send you updates on this idea

    2 comments  ·  Tasks and Plans (Planner)  ·  Flag idea as inappropriate…  ·  Admin →
  4. Graph API Retrieving Nested Mail Attachments Not Available

    Graph API Retrieving Nested Mail Attachments Not Available

    We are using the Graph API to connect to an account using Java. We are able to make calls to retrieve user details, mail details, headers and attachments, etc… One of our use cases require us to retrieve information related to nested attached emails (e.g. an email in the account has an attached email. This email has an attached email and also some attached files). By using the Graph API, we are able to retrieve information related to the email including attachments https://graph.microsoft.com/v1.0/me/messages/{messageid}/?$expand=attachments. From what’s returned, we are able to…

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

    We’ll send you updates on this idea

    1 comment  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  5. Support $count for group members and owners

    Currently $count is not supported on directoryObjects like users and groups. Although it would be great to know how much members / owners are in a group. The only way right now is via querying the members or owners endpoint of the group and checking the array length. Depending on the number of members, this could lead to multiple calls.

    It would be great that the $count parameter would be supported so that only one call is required.

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

    We’ll send you updates on this idea

    3 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-5-use-filter-to-get-group-membership-with-a-display-name-that-starts-with-the-letter-a-including-a-count-of-returned-objects. Although not documented, this IS also supported on /owners.

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

  6. Graph - Provide access to ItemAttachment bytes

    In the EWS api we could download an email attachment that is itself an email (say message.eml) as a byte array, untouched. This does not appear to be possible in the Graph API. The itemAttachment is visible using $expand=microsoft.graph.itemattachment/item but only as exploded json and attachments to the itemAttachment itself are not there.

    I work in a Search and Rescue environment (lives are at stake) and from an auditing/quality/completeness perspective I need to know exactly what was attached to the email (the bytes). I think the API needs to be enhanced to provide this. Can I suggest that the api…

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

    We’ll send you updates on this idea

    3 comments  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  7. Graph Webhooks - include the changed data in the response

    Trying out Webhooks on the Graph beta enpoint for /users and I am missing
    information about what data was changed

    Nowhere to be found is what attributes of the user were changed (i my case "Last name"). This makes the triggers totally unusable for "/users" and I cant really think of anyone who could use this function as is? Sure I know the object was changed but I have no idea WHAT happened and if the change was relevant to my function
    Please tell me there are plans to include the actual changes i the trigger response

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

    We’ll send you updates on this idea

    1 comment  ·  General  ·  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?

    484 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 →
  12. Allow filter on target of a navigation collection for users and groups

    Enable filtering and casting on the target for a navigation collection. For example "get the users that are members of a group, even though the group contains users, groups and service principals. Additionally allow me to do things like find all the members of this group that are in "sales" department.

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

    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-5-use-filter-to-get-group-membership-with-a-display-name-that-starts-with-the-letter-a-including-a-count-of-returned-objects.

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

  13. API method for creating a chat thread message reply

    I am in need of an API method which can be used to create a chat thread reply message. The latest beta version of the Microsoft Graph API will allow me to create a new chat thread along with the first message, but I cannot add additional messages or replies.

    The documentation states that this feature will be included in a future release. I'm adding this feature request to express my interest in this planned feature.

    I need this method because I am migrating discussions from another CMS, into Microsoft Teams.

    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  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  14. API to create Teams for Classes

    Add API calls to let developers create Teams for Classes. Also add API calls to allow developers to connect to the "Assignment" tabs - to be able to export averaged grades... etc.

    Also - please clarify what is deprecated and what is relevant in the documentation. It is very difficult to figure out what is still being supported and what is not. (I.e. Microsoft Classroom vs Microsoft Teams for Education).

    I found Office 365 REST API for Schools/Teachers... but I am not finding anything that can access the new framework in teams.

    Please help!

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

    We’ll send you updates on this idea

    0 comments  ·  Teamwork (Teams)  ·  Flag idea as inappropriate…  ·  Admin →
  15. Add $filter and $select on a function or action in Microsoft Graph

    0
    down vote
    favorite
    GetMemberGroups only returns the "id" properties of the groups, afaik there is no way to include other additional properties (my guess it's because it only searches in some kind of index rather than actually traversing all nodes in the hierarchy, which makes sense when it needs to be transitive)

    DirectoryObjects.GetByIds comes handy once I have the ids from GetMemberGroups, but this one returns all default properties. If I specify any $filter for example if I know that I don't need groups with certain prefix in displayName, or a $select because I know I will only need…

    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 →

    Hi, you can do this with Microsoft Graph .NET SDK using the beta endpoint

    //Get serviceClient
    graphClient.BaseUrl = “https://graph.microsoft.com/beta”;
    var options = new List { new HeaderOption(“ConsistencyLevel”, “eventual”) };
    var requestUrl = graphClient.Users[“{User Id}”].MemberOf.AppendSegmentToRequestUrl(“microsoft.graph.group”);
    var request = new UserRequestBuilder(requestUrl, graphClient).Request(options);
    var groupsMembership = await request.GetAsync();

    the Graph Explorer example (for /me endpoint) is here:
    https://developer.microsoft.com/en-us/graph/graph-explorer?request=me/memberOf/microsoft.graph.group&method=GET&version=beta&GraphUrl=https://graph.microsoft.com&requestBody=&headers=W3sibmFtZSI6IkNvbnNpc3RlbmN5TGV2ZWwiLCJ2YWx1ZSI6ImV2ZW50dWFsIn1d

    Look here for more info: https://aka.ms/CountFilterMSGraphAAD

  16. Expose Office API via Swagger.

    OK this is a radical idea from listening to @mkristensen talk about VS.NET tooling and how they are looking at supporting Swagger 2.0 to provide code generation for RESTful APIs in VSNET.

    http://devchat.tv/adventures-in-angular/019-aia-microsoft-tooling-with-mads-kristensen

    I looked up Swagger and their online documentation editor, and browser and here's an example

    http://petstore.swagger.wordnik.com/#!/pet/updatePet

    Which is surprisingly similar to Office 365's

    http://msdn.microsoft.com/en-us/library/office/dn600182(v=office.15).aspx

    I think Office 365 documentation on MSDN should still be the primary resource. Any future tie in to API-Sandbox would be awesome.

    But if VSNET starts to support auto-codegen (like the old days with WSDL/Soap Services) from Swagger documentation, then I can also…

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

    We’ll send you updates on this idea

    5 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
2 Next →
  • Don't see your idea?

Feedback and Knowledge Base