Microsoft Graph Feature Requests

Welcome to the Microsoft Graph UserVoice! Do you have anidea or feature suggestion based on your experience with Microsoft Graph?Please share these with us by submitting your idea below or voting up ideassubmitted by other users. This forum will be directly monitored by theMicrosoft Graph engineering teams who are working on new features every day.

If you have feedback on a specific API service, pleasechoose the corresponding category. Please submit any broad ideas related toMicrosoft Graph or ideas across more than one service to the “General”category.

This site is only for feature suggestions and ideas! If youneed technical help, please go to the Microsoft Graph StackOverflowor if you have a Premier support contract raise a support ticket.

For more information on the Microsoft Graph, please checkout https://graph.microsoft.com .

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. 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…

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

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

    8 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. Allow $filter on showInAddressList for /users and /groups

    I'd love to be able to filter the /users and /groups collection on the showInAddressList property.

    This would allow us to get all users and groups that are to be shown in the addressbook, currently this means retrieving them all and filtering afterwards (but that poses issues with pagination).

    For groups, there is a dependency on this UserVoice: https://microsoftgraph.uservoice.com/forums/920506-microsoft-graph-feature-requests/suggestions/32677822-support-hiddenfromaddresslistsenabled-property-on

    24 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 →
  5. 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

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

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

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

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

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

    We’ll send you updates on this idea

    Needs more information  ·  1 comment  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  10. 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.

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

    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 →
  12. 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_<AAD_App_GUID>_<attribute_name>,
    description,
    countryCode,
    commonName,
    cloudAnchor,
    alias

    Thanks,
    Anna

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

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

    3 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 →
  15. Allow international characters in password

    Setting a user's password through the Microsoft Graph API only allows letters from the American alphabet. Many countries have more letters in their alphabets, e.g. the letters Æ, Ø and Å in Denmark and Norway, Ö in Germany and more. These are not allowed when setting a user's password through the Microsoft Graph API.

    Passwords with international letters are possible using e.g. DirSync, but not "cloud native", i.e. through the Microsoft Graph API.

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

    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…

    5 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. change passwordProfile PATCH to expire a password without setting a temporary one

    At the moment, a PATCH request on a user object in this form

    {
    "passwordProfile":
    {
    "forceChangePasswordNextSignIn": true,
    "password" : "aNewPa55w0rd"

    }
    }

    ...works. The next time the user logs in, they use the new password and are forced to change it. However, I would like to send

    {
    "passwordProfile":
    {
    "forceChangePasswordNextSignIn": true
    }
    }

    which would force a user to change their password, but not have to send them a temporary one. It would be the same as issuing this powershell command:

    Set-MsolUserPassword -UserPrincipalName some.user@somedomain.onmicrosoft.com -ForceChangePassword:$true -ForceChangePasswordOnly:$true

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

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

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

  20. Need API to get chat participants

    I am develop a app with message extension that could help gather some information based on context, e.g. when this message extension is triggered inside a 1-on-1 chat , it needs to know the user information of the other participant in the chat.

    There is already /beta/chats/{chatId}

    But unfortunately, there is no way to know the exact chat Id the message extension is triggered from. There would be an event named as "composeExtension/query" sent to my bot endpoint with payload that contains a "conversation id" but it could not be used to retrieve chat directly.

    And there is no participant…

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

Feedback and Knowledge Base