Did you know? How to hide lists in SharePoint Online (and when you should)

Did you know? In SharePoint Online, you can hide a list from the site experience without deleting data or breaking integrations. This is perfect for:

  • “Technical” lists used by Power Apps/Power Automate that shouldn’t show up in navigation
  • Configuration repositories for solutions
  • Temporary migrations
  • Reducing noise for end users while keeping permissions and integrations intact

What “hide” really means

  • The list stops appearing in site navigation and standard UI surfaces
  • Direct URLs and integrations (Power Apps, Power Automate, APIs) keep working
  • Permissions do not change
  • You can revert anytime

Hide a list with PnP PowerShell

Prereqs

  • PnP.PowerShell module installed
  • Permissions to manage the site/list

Steps

  1. Connect to the site
    PowerShell
    Connect-PnPOnline -Url “https://yourtenant.sharepoint.com/sites/YourSite” -Interactive
  2. Mark the list as hidden
    PowerShell
    #Use the list’s internal name to avoid ambiguity
    Set-PnPList -Identity “InternalListName” -Hidden $true
  3. Verify the status
    PowerShell
    Get-PnPList -Identity “InternalListName” | Select Title, Hidden
  4. Revert (if needed)
    PowerShell
    Set-PnPList -Identity “InternalListName” -Hidden $false

Practical tips

  • Prefer InternalName to avoid clashes when multiple lists share similar titles.
  • Document which lists are hidden and why (governance).
  • Combine hiding with views and permissions for a “quiet” end-user experience.

Hide via REST (optional, for devs)


HTTP PATCH
Endpoint: https://yourtenant.sharepoint.com/sites/YourSite/_api/web/lists/getbytitle(‘YourListTitle‘)
Headers: Accept: application/json;odata=nometadata, IF-MATCH: *, X-HTTP-Method: MERGE
Body:
{
“Hidden”: true
}

Automate with Power Automate: “Hide support lists on provision”

Scenario

You deploy solutions that rely on support lists (logs, parameters). At provision time, you want those lists hidden automatically.

Flow overview

  • Trigger: Manually or when an item is created in a “Solutions Registry” list
  • Action: HTTP request to SharePoint (or Azure Automation/PowerShell) setting Hidden=true
  • Logs: Record success/failure for auditing

Step-by-step (using “Send an HTTP request to SharePoint”)

  1. Trigger
  • Manual button in Power Automate OR
  • “When an item is created” in your Solutions Registry list (fields: SiteUrl, ListTitle)
  1. Variables (optional)
  • varSiteUrl = SiteUrl from the item
  • varListTitle = ListTitle from the item
  1. Action: Send an HTTP request to SharePoint
  • Site Address: use varSiteUrl
  • Method: POST
  • Uri: _api/web/lists/getbytitle(‘@{variables(‘varListTitle’)}’)
  • Headers:
    • Accept: application/json;odata=nometadata
    • IF-MATCH: *
    • X-HTTP-Method: MERGE
    • Content-Type: application/json;odata=nometadata
  • Body:
    {
    “Hidden”: true
    }
  1. Error handling and logging
  • Configure “run after” to capture failures
  • Add a Compose or “Create item” in a Logs list with:
    • Solution name
    • Site
    • List
    • Status (Success/Failure)
    • Message (request outputs)
  1. Security and permissions
  • Use a Connection Reference with proper site permissions
  • Consider a Service Account + PIM
  1. Optional: auto-unhide
  • Add a second HTTP action setting Hidden=false for maintenance windows if needed

FAQ

  • Is hiding the same as removing permissions? No. Hiding does not change permissions; it only affects default visibility.
  • Does this affect Power Apps? No, apps continue to work as long as they connect via the standard connector/URL.
  • Can I hide document libraries? Yes. Libraries are specialized lists and support the same flag.
  • What about search? Hidden lists won’t show in navigation. Items may still be searchable based on indexing settings—adjust Search settings to fit your needs.

Quick checklist

  • Do I really need to hide, or would views/permissions be enough?
  • Have I documented why this list is hidden?
  • Do I have a quick rollback plan?
  • Is this automated with Power Automate for consistency?


Hiding lists in SharePoint Online is a simple, powerful, and safe way to declutter your front-end without disrupting your solution architecture. Did you know? Now you do—and you can automate it with Power Automate to level up your governance.

Leave a comment