Edit Properties Button (Column JSON)
Overview
- Gives people the ability to edit an item’s properties with one click, right from the library view
- Puts the button on every row, so nobody has to hunt through the three-dot menu or the Details pane
- Opens the same properties form SharePoint already provides, so there is nothing new for anyone to learn
- Works on files and folders alike, with no change to how the library itself is set up
- Applied as column formatting JSON on an empty column, so it adds an action without touching the underlying data
- The label, icon, and color are a single line of JSON each, so the button is easy to match to your brand
Common Use Cases
- A contract or client file library
- A policy library where metadata drives every view
- A drawing or project file library with heavy tagging
- A records library where retention metadata has to stay complete
- A marketing asset library tagged by campaign and audience
- Any library where people routinely forget to fill in the required columns
Details
- Design Pattern: Action Buttons
- Format Scope: Column
Required Columns
| Display name | Column type | Internal name |
|---|---|---|
| Properties | Single line of text | [Properties] |
Prerequisites
- Add a Single line of text column named Properties to the library – it only hosts the button.
- Leave the column empty. The button is drawn entirely by the JSON, so there is nothing to populate.
- The same button appears on every row, so files and folders are both covered with no extra setup.
How to Apply JSON code
- Select the Properties column header, then Column settings, then Format this column.
- Switch to Advanced mode.
- Paste the JSON below and click Save.
- Widen the Properties column so the label sits on one line.
JSON Code
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
"elmType": "button",
"customRowAction": { "action": "editProps" },
"style": {
"border": "none",
"background-color": "transparent",
"cursor": "pointer",
"padding": "0",
"color": "#A4262C",
"font-weight": "600"
},
"children": [
{ "elmType": "span", "attributes": { "iconName": "Info" }, "style": { "padding-right": "6px" } },
{ "elmType": "span", "txtContent": "Edit Properties" }
]
}Common Questions About the Edit Properties Button
What is the Edit Properties Button example built with?
It is built with a standard SharePoint document library and a small piece of column formatting JSON applied to a spare column. There is no custom development, no SPFx solution, and no third-party tools. It is the kind of small, maintainable formatting Greg Zelfond builds for teams that want their metadata to actually get filled in.
Why add a button when SharePoint already has a properties form?
Because the built-in path is buried. Today someone has to select the row, open the three-dot menu, and choose Properties, and most people simply do not bother. Putting a visible button on every row turns three steps into one, and metadata that is easy to edit is metadata that actually gets maintained.
Does the button open properties in edit mode or read-only?
Edit mode. The button opens the properties form ready for changes, and there is no read-only equivalent available in column formatting. In practice that is what most teams want, since the whole point of surfacing the button is to get missing metadata filled in.
Where does the properties form appear?
In the panel on the right side of the library, which is where SharePoint renders library properties. It is the same form you would reach through the three-dot menu, just one click away instead of three.
Does this design use any custom development or third-party tools?
No. It uses only out-of-the-box SharePoint column formatting, which Microsoft supports natively. That keeps it stable and easy to maintain, and nothing breaks when SharePoint is updated. Out-of-the-box is the only way Greg builds, so you can own and extend the design yourself for years.
If LookBook 365 is code-free and out-of-the-box, why does this example include JSON?
Because SharePoint formatting JSON is not custom code – it is a native configuration feature built into lists and libraries. It is declarative: it only describes how an existing column looks and which built-in SharePoint action a button opens, and it cannot run scripts, reach external services, or change your data. Nothing is deployed and nothing breaks when Microsoft updates SharePoint, and you can edit or remove it anytime. That is why LookBook 365 treats it as out-of-the-box and low risk.
Can the button be shown only on rows that are missing metadata?
Yes. Because the button is just formatting, you can hide it with a condition – for example show it only when a required column is blank, so the library quietly points people at the rows that still need attention. That is a small edit to the same JSON.
Can Greg set this up for our libraries?
Yes – this is exactly the kind of work Greg Zelfond does. As an independent SharePoint consultant and Microsoft MVP, he designs out-of-the-box list and library formatting like this so your team can read and maintain it without a developer. Reach out through the contact page to talk about your libraries.