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. Application permission for Presence

    From https://docs.microsoft.com/en-us/graph/api/presence-get?view=graph-rest-beta, only Delegated (work or school account) is supported. Supporting application permission for presence calls is really helpful for enterprise usage.

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

    We’ll send you updates on this idea

    In Backlog  ·  11 comments  ·  Cloud Communications  ·  Flag idea as inappropriate…  ·  Admin →
  2. [GraphAPI/Office 365 Rest API] please add support for notifications/subscription on Exchange RoomMailBox in delegated API permissions mode

    GraphAPI/Office 365 Rest API, please add support for notifications/subscription on Exchange RoomMailBox in delegated mode.

    In delegated API permission mode, we are able to get events from RoomMailBox calendar but not subscribe for notifications (webhooks) on events changes
    Each time we tried to create notification channel we got :
    "error": {

      "code": "ExtensionError",
    
    "message": "Operation: Create; Exception: [Status Code: Forbidden; Reason: Access is denied. Check credentials and try again.]",
    "innerError": {
    "request-id": "XXXXXXXXXXXXXXXX",
    "date": "XXXXXXXXXXXXX"
    }
    }

    Moreover, in Exchange, we have full access on RoomMailBox by using user account we used on delegated mode (user account impersonated). Push notifications…

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

    We’ll send you updates on this idea

    0 comments  ·  Calendar (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  3. Add Microsoft Graph API Health endpoint

    There should be some official endpoint created to programmatically check the health status of the Microsoft Graph API.

    My application makes queries to the Graph API endpoint as part of the app's login process. I have built a health dashboard to notify me when external API's are having trouble. However, there is no specific Microsoft Graph endpoint that provides any status/health indicator for MS Graph API.

    I appreciate your consideration.

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

    We’ll send you updates on this idea

    under review  ·  0 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  4. Restrict permissions to app-only Azure AD applications consuming Office 365 services on resource level

    Large organization start leveraging the Graph API to provide integrations between their third party applications and Office 365. In such companies it is common to delegate the development of integrations from the central IT organization to other business units.
    The current app-only permission priviledges are not appropriate for such types of setups since there is currently no way to limit the permissions for that app to a specific resource in Office 365. This makes such use cases impossible to implement.

    As an example we could consider SharePoint Online. Whever a business unit has to develop a daemon tool that exchanges…

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

    We’ll send you updates on this idea

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

    Work has started. We plan to build an experience where end users and administrators can pick a specific resource to grant consent to, such as a specific group or site. This will be programmable through Microsoft Graph API.

  5. 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 →
  6. Microsoft 365 Apps Usage report through Graph API

    There is a report that is new through the Office 365 which is called Microsoft 365 Apps Usage. We need to be able to access this through Graph API.
    In the O365 Admin Centre > Reports > Usage > Office 365 > Microsoft 365 Apps Usage and it's the export of the table that is needed.

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

    We’ll send you updates on this idea

    0 comments  ·  Reports  ·  Flag idea as inappropriate…  ·  Admin →
  7. Add Calendars.ReadBasic minimum permission for getSchedule

    getSchedule and list events require the same permission - Calendars.Read. This is too broad for getSchedule, allows the caller to list events, including the event subject/body.

    Create a new permission: Calendars.ReadBasic. Use it as minimum permission to retrieve free/busy info only, which is sufficient to determine availability and scheduling meetings.

    Exchange Calendar permissions and sharing policies have this. https://docs.microsoft.com/en-us/exchange/sharing/sharing-policies/sharing-policies.

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

    We’ll send you updates on this idea

    2 comments  ·  Calendar (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  8. Allow us to write sensitivity label in Group properties via Graph API

    assignedLabels:
    The list of sensitivity label pairs (label ID, label name) associated with an Office 365 group. Returned only on $select. Read-only.

    Please give us the option to set/write/delete/modify a sensitivity label on a Group / SharePoint Site / Team.

    17 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 →
  9. Increase allowed character length of Windows 10 app protection policy.PublisherName property.

    Using Microsoft.Graph.Beta 0.19.0-preview to create a Windows 10 app protection policy
    I receive the following error:

    Message: The request is invalid.\r\nInner error:\r\n\tMessage: policy.ProtectedApps[7].PublisherName : Length should be less than 100

    Which is true, the total length is 131 characters.
    Creating the policy manually in the portal does not raise any errors and the input is accepted.

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

    We’ll send you updates on this idea

    0 comments  ·  SDKs and Tooling  ·  Flag idea as inappropriate…  ·  Admin →
  10. add ediscovery on Microsoft Graph API

    Suggest to add ediscovery to microsoft Graph API to execute query automaticaly (search contents, advanced ediscovery)

    52 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 →
  11. API for retrieving Teams call records more easily

    I want to retrieve a list with the history of all (recent) Teams calls in my tenant.

    Currently, there is a way to achieve this (somewhat), but it is rather cumbersome:
    You can do so by subscribing to the /communications/callrecords resource and then calling /communications/callrecords/{id} to receive a detailed call record including the start and end times. These endpoints are only available in the graph beta and there is a noticeable delay (about 5 minutes) until the call records webhook is called after ending a call.

    This 5 minute delay is a huge hassle for my customers and I think…

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

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

    We’ll send you updates on this idea

    11 comments  ·  Users  ·  Flag idea as inappropriate…  ·  Admin →
  13. make Files.ReadWrite.AppFolder scope available for business accounts.

    We have created a Microsoft Teams business app with a Bot that searches for specific content and posts filecards directly back to the user. For that we need to upload the file to the users OneDrive via Microsoft Graph.

    As we are also focused on data security we would like to restrict our app and the permissions it uses, which led us to the Files.ReadWrite.AppFolder scope.
    Unfortunately this scope is only valid for personal accounts and not supported on business accounts.
    Therefore we have to ask the user for delegated Files.ReadWrite permissions which gives us access to the entire OneDrive…

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

    We’ll send you updates on this idea

    1 comment  ·  Files (OneDrive)  ·  Flag idea as inappropriate…  ·  Admin →
  14. Publish Throttling limit for Sharepoint

    There are throttling limits given for outlook and teams at the link https://docs.microsoft.com/en-us/graph/throttling.
    What is the limit after which the throttling starts for graph API calls for SharePoint.

    SharePoint decided not to publish their throttling limits see the following abstract: https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online#why-cant-you-just-tell-me-the-exact-throttling-limits.

    It will be really useful to get the limits for SharePoint too.

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

    We’ll send you updates on this idea

    0 comments  ·  Sites and Lists (SharePoint)  ·  Flag idea as inappropriate…  ·  Admin →
  15. Add ability to add/edit/update Teams meeting roles from the Graph API

    Using the graph API you can create a new Group Event /groups/{id}/events/{id} however because it's in a group, you're unable to set the Organizer of the event because it will always be the group it's self.

    This leaves the only 2 people that can change the 'meeting options' (via a link in the calendar appointment)
    - Organizer - This is the group itself (the group doesn't have a login - so it's not an option)
    - The Owner - The account who run the API call to create the event. If this is a service account, then this isn't an…

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

    We’ll send you updates on this idea

    0 comments  ·  Calendar (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  16. Add to MS Graph API work with SharePoint permissions

    With SharePoint Online REST API we can work with role assignments and role definitions. So we want to do the same things with MS Graph API.

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

    We’ll send you updates on this idea

    2 comments  ·  Sites and Lists (SharePoint)  ·  Flag idea as inappropriate…  ·  Admin →
  17. Add "workingHours" object to API queries of bookingServices to expose custom availability

    Booking Services can be configured with custom availability, through the MS OEM Bookings configuration portal. However this availability is not exposed to the 1.0 or beta Graph API.

    My suggestion is to model the workingHours object from List staffMembers Graph API query. Just as custom availability is exposed for staff, it shoudl be exposed for services.

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

    We’ll send you updates on this idea

    1 comment  ·  Customer Booking  ·  Flag idea as inappropriate…  ·  Admin →
  18. Add Ethernet Mac Address to Get managedDevice API

    Hi, we are currently using https://docs.microsoft.com/en-us/graph/api/intune-devices-manageddevice-get?view=graph-rest-1.0 to extract some info about clients.

    We find it rather strange that we are able to get the Wifi Mac Address but not the Ethernet Mac Address via the API.

    I know that the ethernet mac address was added at a later point and maybe thats the reason for it not being included in the API in the first place. Are there any plans of adding this?

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

    We’ll send you updates on this idea

    0 comments  ·  Devices and Apps (Intune)  ·  Flag idea as inappropriate…  ·  Admin →
  19. Retrieve Likes and Comments from a Sharepoint Page

    There is no way to retrieve this info without scraping the actual web page. If there is, could you please point me in the right direction. This should also be added to the Management Activity API so all content (edits/deletes) can be capture for compliance reasons.

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

    We’ll send you updates on this idea

    2 comments  ·  Sites and Lists (SharePoint)  ·  Flag idea as inappropriate…  ·  Admin →
  20. Allow Set of presence via publishnote

    Would love to be able to edit the status (ie Gone for lunch - back at 2pm) via api.
    Seems to exist via presence.teams.microsoft.com/v1/me/publishnote but at the very best this is currently an undocumented API
    Business case - call center or helpdesk updating the status with the ticket they are currently working on, updating the status when back from lunch etc.

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

    We’ll send you updates on this idea

    3 comments  ·  Cloud Communications  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1 3 4 5 55 56
  • Don't see your idea?

Feedback and Knowledge Base