SharePoint
Feedback by UserVoice

SharePoint Dev Platform

Welcome! This is your place to suggest ideas or vote for ideas for improving the SharePoint Dev Platform.

Update: Microsoft will be moving away from UserVoice sites on a product-by-product basis throughout the 2021 calendar year. We will leverage 1st party solutions for customer feedback. Learn more

How to submit a new idea


  1. Check if it's already been suggested. If it has, vote for it.
  2. If it's new, submit it in 50 words or less.
  3. Gather support!
  4. If your idea receives over 100 votes in 90 days, we will respond.
    If not, we will close it.



Want to engage further? Please visit the SharePoint Community

Note: we have partnered with UserVoice, a third-party service and your use of the portal and your submission is subject to the UserVoice Terms of Service & Privacy Policy, including the license terms. Please do not send any novel or patentable ideas, copyrighted materials, samples or demos for which you do not want to grant a license to Microsoft.


  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. SPWebConfigModification target for single web application, mention zone also in ApplyWebConfigModifications

    SPWebApplication.Parent.ApplyWebConfigModifications()
    SPWebApplication.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications()

    In both these ApplyWebConfigModifications, The web.config modification refreshes all web.config files, it also does not differentiate zones. The last modified date changes for every web application web.config file, even if we targeted for a single web application. This seems default behaviour. Refreshing web.config entries recycles app pool and brings down other web applications which are not intended also.

    Can we have options to specify zones or update to only specific web application. This is missing even in SharePoint 2016. Not available in SP2010 and SP2013 too.

    SPWebConfigModification would be useful, when we add new servers to our Farm,…

    9 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  2. Add SP.JS or PnP.JS version of Microsoft.SharePoint.Client.RecordsRepository.Records

    Add SP.JS or PnP.JS wrapper around Microsoft.SharePoint.Client.RecordsRepository.Records to round out the CSOM call here: https://sharepoint.uservoice.com/forums/329220-sharepoint-dev-platform/suggestions/9069184-provide-the-ability-to-declare-undeclare-a-record

    Currently there is no way to declare a record on modern views unless you dig into the complaince details dialog. Adding this will allow for SPFx extensions to expose this functionality.

    8 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  3. Make webhooks for changes on the site metadata

    Allow developers to start a webhooks subscribtion on changes to a site, for example: When a site is connected to a hub site, when a site is promoted as a hubsite, when the theme is changed, navigation is changed and such events.

    8 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  4. Custom Access Request Form

    There should be a way to register a webhook / set a alternative page for access request when a user is denied access to a site. We have an auto approval process that uses rules but there is no way to use it.

    We were able to do it on premises

    8 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  5. SharePoint Migration CreateSPAsyncReadJob Export Permissions

    In the following article https://docs.microsoft.com/en-us/sharepoint/dev/apis/export-amr-api the CreateSPAsyncReadJob supports a number of items.

    It states 'Permissions are expected to be covered in a subsequent version.' is expected to be covered in a subsequent version.

    Is this feature on the roadmap? If it is, do you know when this will be released?

    To get permissions subsequent calls need to be made to each item to get the permissions and build them locally

    Would also be great to include permission changes in the StartChangeToken. At the moment if a permission is changed in a library the StartChangeToken does not flag this as a…

    8 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  6. "FieldValues..." in REST API gives double-encoded field names

    As reported by Shai Petel in github (https://github.com/SharePoint/sp-dev-docs/issues/1141), column names with non-ASCII characters or "special" characters (i.e. those that get encoded) are being double encoded by the REST API in the FieldValues... properties (this includes FieldValuesAsText, FieldValuesAsHtml, and FieldValuesForEdit).

    For example, create a column called "Français" in a list with Title "Test" and call the following REST request: /api/web/lists/getbytitle('Test')/items?$expand=FieldValuesAsText,FieldValuesAsHtml,FieldValuesForEdit. in the response given the field's internal name is properly shown in the field values as "Franx00e7ais", but is shown as "Franx005fx00e7x005f_ais" in all of the "FieldValues..." properties.

    This makes it very difficult…

    8 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  7. /_api/web/tenantappcatalog/add endpoint should be return CorporateCatalogAppMetadata

    /api/web/tenantappcatalog/add endpoints returns SP.File object, but it shoud be return Microsoft.SharePoint.Marketplace.CorporateCuratedGallery.CorporateCatalogAppMetadata (same as /api/web/tenantappcatalog/availableapps/getbyid).\
    After I added a solution package, I can't deploy it because App ID is unknown. Certainly,I can get App ID by ListItemAllFIelds.UniqueId but I think it is very confusing.

    7 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  8. Provide a ChangeType for Data Governance label modifications in the Change Log

    Currently any application of a Data Governance label to a List Item has only a SystemUpdate Change associated with it, even if the Label was applied manually by a user. When trying to detect a change in Label, this necessitates the inspection of every List Item following a SystemUpdate Change to see whether or not the _ComplianceTag field has changed.
    Ideally, we would be able to make a ChangeQuery that did not include all SystemUpdates, but did include changes which involved the modification of a Data Governance Label.

    7 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  9. Support Microsoft Graph data connect

    All Office 365 platforms, starting with SharePoint should be fully integrated with Microsoft Graph data connect and facilitate export of audits, metadata such as item created, deleted, viewed etc.

    Related to:

    https://sharepoint.uservoice.com/forums/329220-sharepoint-dev-platform/suggestions/35630326-azure-event-grid-integration-for-all-office-365-pl

    7 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  10. Make Quick Edit Changeable Through CSOM APIs

    Please make the advanced list property DisableGridEditing changeable through the CSOM/REST APIs.

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  11. List Product Id from /_api/web/tenantappcatalog/AvailableApps

    Requirement, I have installed app in one site collection, and try to install the same app to another site collection to make a copy, but from the previous site collection, I can get the product Id, installed Id, but not the Id from the /api/web/tenantappcatalog/AvailableApps. is it possible to provide the original id and product id from this Rest API /api/web/tenantappcatalog/AvailableApps.

    Thank you.
    Long

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  12. Bug In webAnalytics APT

    I am trying to get daily and monthly hit count using below functions. It always returns 0 though TotalHit has value.
    Microsoft.SharePoint.Client.Search.Analytics.AnalyticsItemData eachListItemAnalyticsData = UsageAnalyticsObj.GetAnalyticsItemData(1, oListItem);

    eachListItemAnalyticsData.GetHitCountForMonth(DateTime.Now)
    eachListItemAnalyticsData.GetHitCountForDay(DateTime.Now)

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  13. Allow Graph API to Query URIs with .aspx extensions

    I'm trying to do a GET request against a sharepoint site when the URI has a .aspx extension. For example if I do 'GET https://graph.microsoft.com/v1.0/sites/hostname.sharepoint.com:/sites/blablabla/UK&#39; this populates a response fine, but if I do 'GET https://graph.microsoft.com/v1.0/sites/hostname.sharepoint.com:/sites/blablabla/UKDTAppKZ/something.aspx&#39; then I get a 404 error suggesting this site doesn't exist. Could we get some support for Graph API GET queries with sharepoint .aspx extensions?

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  14. Ability to configure CORS in SPSite

    Make an admin page to configure CORS to allow other sites to make calls with creds, you could have url pattern matching too so that you could allow calls to just one page or list.

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  15. Single query to get max document ID when library has more than 5000 items

    If document library has more than 5000 items it is not possible to execute one query to select maximum document ID (something like SELECT TOP 1 ID FROM XXX ORDER BY ID DESC). Only option is to loop in steps/pages of 5000 which can take a lot of loops due to possible large number of documents in document library or to find creative approach to increase ranges but still simple statement will perfect solution.

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  16. getFileByServerRelativeUrl with # in file name

    Posted here per request at https://github.com/SharePoint/sp-dev-docs/issues/2630#issuecomment-425349455.

    Expected or Desired Behavior
    I'd be able to fetch file using getFileByServerRelativeUrl even if file name contains hash (#).

    Observed Behavior
    https://tenant.sharepoint.com/sites/mysc/_api/web/getFileByServerRelativeUrl('%2Fsites%mysc%mydoclib%2Ffolder1%2Ffolder2%2Ffolder3%2F6Doc%23%3B%20Project%20Name.XLS')/$value returns SPException The file /sites/mysc/mydoclib/folder1/folder2/folder3/6Doc#; Project Name.XLS does not exist.

    Steps to Reproduce
    I have file in /sites/mysc/mydoclib/folder1/folder2/folder3/6Doc#; Project Name.XLS. I need to get hold of the file (in order to copy it to another site collection), so in my SPFx web part I do

    let file = sourceWeb.getFileByServerRelativeUrl(f.Path);
    file.getBlob().then(blob => {
    // deal with the file
    });
    where f.Path is encodeURIComponent'ed path of the file, so in the end it…

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  17. Allow 3rd party native clients to call SP.Oauth.NativeClient Authenticate endpoint

    Description:
    Currently _api/SP.Oauth.NativeClient/Authenticate API endpoint is locked so that you can call this endpoint only if bearer token is granted by specifics MS azure apps.
    This is only way to get SP authentication cookie by bearer token and it seems that every MS mobile apps use this method to acquire authentication cookie. Teams, mobile sharepoint app etc...

    When developing mobile apps you are now forced to do multiple authentications to open Sharepoint page or forced to store client credentials order to call vtibin/idcrl.svc/ which is another way to get SP authentication cookie programmatically.

    Problem:
    You can't create azure app…

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  18. CustomActionGroup missing from CSOM

    The UserCustomAction class is available in CSOM but i can't find an equivalent for CustomActionGroup. This is preventing my organization from adding a Custom Group to the Site Settings page. Without this functionality , we could be forced to inject our custom actions into an existing group.

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  19. Write to Web Property Bags

    The ability to both read and write to the various property bags would be very helpful. Currently it's possible to read from a web property bag, but not to write. It'd be even better if the other property bags supported this.

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  20. Custom Theme SP2019

    I am unable to apply custom themes from Theme Generator to SP2019 On-Premise. Please allow the ability to upload my custom theme JSON, or overwrite the Out of the Box themes to my organizational brand

    5 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  • Don't see your idea?

Feedback and Knowledge Base