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. More performant workflow to get users photo from HTML <img src="..."> tag

    Background:
    To get user photo through the existing API requires setting auth header in ajax, fetching the photo, converting it to data uri through blob, and finally display it in HTML. The API seems to be optimized for backend and is lacking developer ergonomics for the frontend.

    Problem:
    The client suffers poor performance when there are many user photos to be displayed on the UI because creating data uri is an expensive operation. Also the configuration of request header and the pipeline to render HTML adds additional complexity. The problem is likely to occur as we are building more and…

    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 →
  2. Create REST APIs to enable important Attribute Updates

    Graph API s are not supporting all the attribute updates in MS team. Though Powershell supports all these fields, its showing a low performance. Few of the Attributes which are not supported by Graph API are listed below: OnPremLineURI, HostedVoiceMail, TargetServerIfMoving, EnterpriseVoiceEnabled, VoiceRoutingPolicy, Department

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

    4 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 →
  4. have one call for everything needed to fill a office-ui-fabric-react Persona control

    Combine /v1.0/users/{userID}/photo/$value and /beta/users/{userID}/presence so it will be easy to show a user's presence and picture in an office-ui-fabric-react Persona control in a web part or other developed component.
    A way to get an array of Persona for an array of user IDs will be welcome too.

    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 →
  5. Leave date for Azure AD users

    Hello,
    Currently, the Graph API support to update user objects with "hireDate", would be great to add value "Leave date".
    So can set when person should leave, then we could operate with Dynamic groups for access blocking, scripting, etc.

    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 →
  6. Ability to retrieve "Other organizations you belong to"

    I need like the ability to query all tenants that a employees have been added to as a guest. This feature is required so customers can manage the tenant list used in the tenant restrictions feature.

    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 →
  7. expose “lastModifiedDateTime” on user

    I need to retrieve the last modified date of user profiles in Office 365 from the Graph API.

    Could you please provide the endpoint similar to https://graph.microsoft.com/beta/me/?$select=createdDateTime

    But have it be for the last time the user profile was modified by the user or admin, would be awesome for it to be https://graph.microsoft.com/beta/me/?$select=lastModifiedDateTime

    49 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. OfficeLocation should be a writable attribute in a hybrid environment

    In a hybrid environment where the local Active Directory is synced to the cloud, officeLocation should be writable through Graph API and synced back to the on-premise Active Directory. Thus would help us writing better Azure apps.

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

    9 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

  10. Allow Additional Operators for users and groups

    I would very much like to be able to use additional operators such as ne and notin with the users API, so that a more inclusive method of searching could be used.

    Find all users except those with a department of "Hidden" for example.

    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 →
  11. Include actual URL in Insights

    Currently Graph insights/used includes in "resourceReference" only the webUrl to the file. This is, for office Documents usually a link to a browser based view.

    This is not very useful if you need the actual file url. For other files, eg html files, it points to the display-form in sharepoint, and not the actual file, eg
    https://postat-my.sharepoint.com/personal/u11q12ppostat/Documents/Forms/DispForm.aspx?ID=3256

    Also, for some reason, DocumentSets are included in the "used" results also.

    So i would suggest to also add the actual url to the file to the resourceReference (additionally to a webview, as you do not always use graph from inside…

    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. Implement $skip for users api or provide previous link

    Pagination issue. There is no way to redirect to previous page If we use $top parameter, it provides next page url using which we can go to next page. We also can not use $skip parameter when we want to get users of an organization. Please provide $skip to use with users api, or provide previous link with $top parameter

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

    We’ll send you updates on this idea

    Needs more information  ·  3 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  13. When will User ExternalUserState property be moved from beta to production?

    The User.ExternalUserState property is currently in the beta API. When will this be production ready?

    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 →
  14. Provide Graph API to check user has enabled Azure AD MFA or not

    Currently there is no API for identifying whether user is enabled with Azure AD MFA or not, so kindly provide

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

    Coming soon! Work on this has been started. Keep an eye on the changelog (docs.microsoft.com/en-us/graph/changelog) -EY

  15. Provide mapping between Windows and Iana Time Zones

    Currently we can get user's supported time zones using /me/outlook/supportedTimezones endpoint. This endpoint can return Windows Time Zones or Iana Time Zones.
    The bad thing is that it returns alias and displayName only, no time zone offset or any additional information.
    Because of that it's currently impossible to map Windows timezones response with Iana timezones response.
    Why do we need that?
    Example - display a dropdown with Windows time zones, but initialize selected item based on browser time zone (browser's Intl API gives you Iana name)

    5 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 →
  16. Determine if contact picture exists

    Currently, the api supports the GET request to download the contact picture for personal contacts, but there is no way to determine if the contact picture exists for a given contact.

    For instance, "/me/contacts" returns json for contact should have a field or tag which helps determine if the contact picture exists.

    Current results forces to make a separate call for each contact using contact-id without knowing if the picture exists.

    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 →
  17. Useful User (Endpoint) Filtering

    The collection size of a request to /users cannot be feasibly limited.

    Our active directory has tens of thousands of entries. The API only enables retrieving 100 entries per request. Getting ALL the entries takes a long time and I don't need them ALL. Unfortunately, the options for filtering the request are quite chintzy.

    I can use the eq (equal) filter, which would be fine if looking for a single user, but I'm trying to limit the resulting collection to a group of users (e.g. to users who's displayName contains a substring, or where surname is not null). I cannot…

    16 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 →
  18. Supportability for more attributes with MS Graph API

    Please support syncing more attributes (on user create and update) with MS Graph API.

    Here is the wish-list:
    proxyAddresses,
    postOfficeBox,
    pager,
    msExchExtensionCustomAttribute,
    mail,
    ipPhone,
    info,
    extension<AADAppGUID><attribute_name>,
    description,
    countryCode,
    commonName,
    cloudAnchor,
    alias

    Thanks,
    Anna

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

    Most of these are GA (in v1.0) – proxyAddresses, onPremisesExtensionAttributes (msExchExtensionCustomAttribute), mail, imAddresses (ipPhone), ALL extension_{appId}_{name) properties, onPremisesImmutableId (cloudAnchor), mailNickname (alias).

    A few like PO box, pager, info, description, countryCode, and commonName are under review. In the meantime, as a workaround, you could synchronize these properties/values from on-premises into directory extensions or onPremisesExtensionAttributes.

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

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

Feedback and Knowledge Base