Apply SharePoint JSON View Formatting
This sample script shows how to apply SharePoint JSON view formatting using PnP PowerShell and CLI for Microsoft 365
Summary
This sample script shows how to apply SharePoint JSON view formatting using PnP PowerShell and CLI for Microsoft 365.
Scenario inspired from this blog post: SharePoint Online: Apply JSON View formatting using PnP PowerShell

# SharePoint online site URL
$siteUrl = "https://contoso.sharepoint.com/sites/SPConnect"
# Display name of SharePoint list
$listName = "Ganesh Sanap Blogs"
# Name of SharePoint list view
$viewName = "All Items"
# JSON to apply to view formatting
$jsonViewFormatting = @'
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/view-formatting.schema.json",
"additionalRowClass": "=if([$PublishDate] <= @now && [$IsPublished] == false, 'sp-field-severity--severeWarning', '')"
}
'@
# Connect to SharePoint online site
Connect-PnPOnline -Url $siteUrl -Interactive
# Apply JSON view formatting
Set-PnPView -List $listName -Identity $viewName -Values @{CustomFormatter = $jsonViewFormatting}
# SharePoint online site URL
$siteUrl = "https://contoso.sharepoint.com/sites/SPConnect"
# Display name of SharePoint list
$listName = "Ganesh Sanap Blogs"
# Name of SharePoint list view
$viewName = "All Items"
# JSON to apply to view formatting
$jsonViewFormatting = @'
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/view-formatting.schema.json",
"additionalRowClass": "=if([$PublishDate] <= @now && [$IsPublished] == false, 'sp-field-severity--severeWarning', '')"
}
'@
# Get Credentials to connect
$m365Status = m365 status
if ($m365Status -match "Logged Out") {
m365 login
}
# Apply JSON view formatting
m365 spo list view set --webUrl $siteUrl --listTitle $listName --title $viewName --CustomFormatter $jsonViewFormatting
Contributors
| Author(s) |
|---|
| Ganesh Sanap |
Disclaimer
THESE SAMPLES ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
Tool documentation & references
- Want to learn more about PnP PowerShell and the cmdlets
Check out the PnP PowerShell site to get started and for the reference to the cmdlets.
- Want to learn more about CLI for Microsoft 365 and the commands
Check out the CLI for Microsoft 365 site to get started and for the reference to the commands.