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. Permissions Gap: "Send" as draft

    We have a service application that generates and sends email within an organization on behalf of users.

    It has Mail.Send. It does NOT have Mail.ReadWrite on purpose. This allows us to send email and save a copy into their sent folder, but does not allow us to arbitrarily read the user's email (and other potentially problematic/dangerous access). This is inline with the principle of least privilege.

    We want to give the users the option of reviewing the generated email from within Outlook and sending it only after review. Outlook already supports this via Drafts.

    Unfortunately you only have two permission…

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

    We’ll send you updates on this idea

    0 comments  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  2. Graph API : Planner API, ODATA support, $filter, $top, $orderby...

    Enable , ODATA in Planner API's, to permite $filter,$top, $orderby, ...

    At this moment ODATA is not support all ODATA, only support $select.

    Thank you!

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

    We’ll send you updates on this idea

    0 comments  ·  Tasks and Plans (Planner)  ·  Flag idea as inappropriate…  ·  Admin →
  3. Enable B2B guest account access to SharePoint Graph calls

    When I make the following graph call:

    https://graph.microsoft.com/v1.0/me

    As an account authenticated against a tenant I'm a guest in, I get the user details for that target tenant.

    The account has access to a SharePoint site collection via the same B2B identity. When I make the following sites call:

    https://graph.microsoft.com/v1.0/sites/tenant.sharepoint.com,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy

    where the two guids reference the site the account has access to, I'd like to see the same data returned as if I'd made the graph call from an acount homed in the site's tenant.

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

    We’ll send you updates on this idea

    4 comments  ·  Sites and Lists (SharePoint)  ·  Flag idea as inappropriate…  ·  Admin →
  4. Allow more control over fields returned in the Calendar API calls

    Allow administrators to filter which fields can be returned per endpoint. Our end client is concerned that even though we are filtering the results on our side we still have access to Calendars.Read and technically have access to read meeting subjects, etc. Is there any way in Office365 or the Graph API that our end client can apply more granular permissions to filter which fields we have access to?

    My particular example is using the CalendarView endpoint to retrieve a users appointments for a specific time period. While calling the endpoint we are passing $select=start,end,showAs. Our end client does not…

    1 vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Calendar (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  5. 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…

    5 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 →
  6. Support streaming notifications for graph

    To fully move away from the outlook.office.com REST interface for email we need a solution to get notifications for client/desktop software (non windows) and browser based software.

    The existing webhook approach does not work well for anything but server to server configurations.

    outlook.office.com provides a streaming notification:

    https://docs.microsoft.com/en-us/previous-versions/office/office-365-api/api/beta/notify-streaming-rest-operations"""

    Which meets our requirements

    This is an already acknowledged gap in the Graph API.

    Please implement a solution for clients to get notifications that doesn't require a webhook.

    This is also important to migrate IMAP clients to Graph as a replacement for IMAP IDLE is required.

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

    We’ll send you updates on this idea

    0 comments  ·  Notifications  ·  Flag idea as inappropriate…  ·  Admin →
  7. support /delta for teamwork chats, channels, and replies

    If you have an application that reads Teams chat and channel messages it is hard to know when you have recent replies to old messages.

    Eg if you have an application that needs to keep abreast of all replies, and,

    If you have a user making a reply to a 6 month-old-message in a channel,

    How does your application find out?

    If it could request channel messages with a /delta then that would work. It would then know which messages to call "get replies" for.

    3 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 →
  8. Export the Event, Contact items in VCF, iCal format

    Ability to export Events, Contacts in MIME formats (VCF, iCal)

    5 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 →
  9. Implement OData Extension for Data Aggregation Version 4.0

    These aggregate functions would be very useful. For instance grouping messages by conversation id to retrieve a list of the latest message per conversation.

    http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/odata-data-aggregation-ext-v4.0.html

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

    We’ll send you updates on this idea

    0 comments  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  10. Get mentions across Office 365

    It would be cool if we can get all mentions that where created in Office 365 in a single endpoint.
    - Outlook
    - Teams
    - Office 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  ·  Reports  ·  Flag idea as inappropriate…  ·  Admin →
  11. Enable $filter on group members

    It's very important to be able to filter members of a group, for example to search for employees within an organization by name (e.g. 'startsWith').

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

    We’ll send you updates on this idea

    2 comments  ·  Groups  ·  Flag idea as inappropriate…  ·  Admin →
  12. Archival - support shouldSetSpoSiteReadOnlyForMembers setting when using app-only permissions

    When archiving a Team (https://docs.microsoft.com/en-us/graph/api/team-archive?view=graph-rest-1.0) there is an optional parameter `shouldSetSpoSiteReadOnlyForMembers` to change all user permissions on the content to read-only. This however does not currently work when using Application permissions.

    This should be supported, possibly requiring the `Sites.ReadWrite.All` application permission.

    This will allow us to archive a team automatically in a background process in response to certain business requirements eg. time elapsed, team status etc.

    2 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 →
  13. 2 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 →
  14. Add support to invite user to Team and Group simultaneously/instantaneously w/welcome-mail

    Today, when adding an invited user (guest) to a team, you have to add them to the group and wait up to 24 hours before the "team module" picks up the change. And no welcome mail i sent to the invited user.

    Would be great if Graph exposed the same method as the invite in the GUI uses, which add the user to the group and team simultaneously/instantaneously and sends a welcome email to the user.

    Method in question (from GUI)
    PUT https://teams.microsoft.com/emea/beta/teams/($channelId)/bulkUpdateRoledMembers?allowBotsInChannel=true
    Where you send in userid's w/roles and groupid

    16 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 →
  15. Create a separate API for automatic replies

    Currently, when working wth automatic replies, Graph requires read/write permissions on "mailboxSettings".

    I would like to pose that while automatic replies make sense to logically group with outlook settings given where they are in the Outlook UI, from an API and permissions standpoint, this is a bit overkill. Now, any app I build that works with automatic replies needs to have an administrator's approval to be installed because of the high level of permissions it requires.

    I suggest moving or creating an endpoint for automatic replies that is not tied to mailboxSettings, so that apps making use of it can…

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

    We’ll send you updates on this idea

    0 comments  ·  Mail (Outlook)  ·  Flag idea as inappropriate…  ·  Admin →
  16. enable all User attributes (which can be queried in the MS Graph API) as custom access token claims

    There are a select few of "optional attributes" to attach to an Azure AD Access Token. Ideally, any "user" attribute can be incorporated into an access token. In our case, we need mailNickname, but I see other attributes being requested such as employeeId. We should be able to name "User" as the source and select any property available as an AD attribute attached to the user.

    1 vote
    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 →
  17. Call Excel REST API using app only permissions

    I would like to be able to call the Excel REST API using app only permissions.

    My use case is to have excel workbooks with models that have complex calculations. I could then use then call the Excel REST API from say an Azure Function using a Managed Identity that first populates some cells (that are parameters so to speak) and then calculates the workbook and gets the result from another cell, so basically I can delegate the "programming" of the complex model to a finance user who knows how to build complex models in excel.

    I would effectively be…

    1 vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Workbooks and Charts (Excel)  ·  Flag idea as inappropriate…  ·  Admin →
  18. Simple endpoint to receive all calls from all users

    It would be very helpful if /communication/calls or /me/calls simply provides a list of all calls, as well as the /me/messages list.

    1 vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Cloud Communications  ·  Flag idea as inappropriate…  ·  Admin →
  19. Teams usage report Graph REST API

    There is Teams usage report, Teams user activity report, Teams device usage report available in Microsoft Teams admin center. In Microsoft Teams admin center -> Analytics & reports > Usage reports Below is the link to the docs -

    https://docs.microsoft.com/en-US/microsoftteams/teams-analytics-and-reports/teams-usage-report

    I want use report from Graph Rest 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  ·  Reports  ·  Flag idea as inappropriate…  ·  Admin →
  20. Scoping Microsoft Graph application permissions to specific Sharepoint Sites

    As a developer, I'd like to use the Microsoft Graph API to access data on Microsoft Sharepoint Sites. At first glance, I would enable the permissions at the Application Level and access the Sharepoint Site data, however, when an administrator grants access they are granting access to ALL sharepoint sites - therefore in a large enterprise organization, this is viewed as a security risk and is usually disabled (as it should be). Recently, Exchange services enabled scoped permissions so that only specific mailboxes can be accessed at the application level. It would be great if we could apply a similar…

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

    We’ll send you updates on this idea

    1 comment  ·  Security  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base