← Al Davies, 250 High Street

Make the new-item form shorter: sections and show-if rules

To customize a SharePoint list form without Power Apps, open an item, choose Edit form, then Edit columns to reorder or hide fields and add a show-if formula, or choose Configure layout to paste JSON that groups fields into named sections. A long form gets skipped or filled in wrong, and these built-in tools shorten it.

Why long forms fail

Every column you add to a SharePoint list also shows up in the new-item form. After a few months a simple request form can have 15 or 20 fields. People may react in these ways:

The goal is a form where a person sees only what they need for this item, in the order they think about it.

What the built-in form can do

Microsoft's help pages list these form tools. Each one changes what people see in the form. None of them changes the data in the list.

Exact names may differ on your screen. Read the two Microsoft pages in the sources first: Show or hide columns in a list form, and Configure the list form.

A worked example: a change request form

This example uses a change request list. If you have not built one, see "Change request log in a SharePoint list". A help desk list works the same way. See "Help desk ticket tracker in a SharePoint list".

The list has these columns:

The formula below matches the exact choice text, so keep each value short and unique.

The problem: a person raising a new request sees "Reason for rejection". It makes no sense to them. Some type "none" or "n/a" into it. The fix is a show-if rule so that box appears only when Status is 3 Rejected.

Step 1. Put the columns in order

  1. Open the list and open any item so you see the item form.
  2. At the top of the form, choose Edit form, then Edit columns. Exact names may differ.
  3. Drag the columns into the order people think about them: summary, requester, needed by, priority, description. Status and Reason for rejection go last.
  4. Select Save.

Microsoft's page "Show or hide columns in a list form" covers this pane.

Step 2. Hide columns nobody fills in

  1. In the same Edit columns pane, find columns that only the team needs, or that are filled in by a flow.
  2. Uncheck them to hide them from this form.
  3. Select Save.

Hiding is a display setting. Microsoft says it "doesn't affect the column or the data in the column". Anyone with access to the list can still see the column in a list view, so do not hide a field to keep something secret.

Step 3. Add a show-if rule

  1. In the Edit columns pane, find "Reason for rejection".
  2. Select the far right edge of the column name to show the options menu (...).
  3. Choose Edit conditional formula.
  4. Enter this formula:

=if([$Status] == '3 Rejected', 'true', 'false')

  1. Select Save.

How to read it. The formula starts with an equal sign and an if function. If the result is true, the column shows. If it is false, the column is hidden. The column is written as its internal name, with a dollar sign, inside square brackets. The internal name can differ from the name on screen. If you renamed a column after you made it, the internal name may still be the old one. If the rule does nothing, check the internal name first.

The text in quotes must match the choice exactly, including the number prefix. This is why numbered choices help. "3 Rejected" is one clear value.

To clear a rule later, open Edit conditional formula for that column and leave it blank.

Step 4. Group columns into sections

Microsoft's page "Configure the list form" describes a Body setting that groups columns into sections. It uses a small piece of JSON text that you paste in.

  1. Open an item. At the top of the form, expand Edit form and choose Configure layout. Exact names may differ.
  2. In the Format pane, under Apply formatting to, choose Body.
  3. Paste a structure like this, using your own column display names:

{

"sections": [

{ "displayname": "", "fields": ["Change summary"] },

{ "displayname": "Request", "fields": ["Requester", "Needed by", "Priority", "Description"] },

{ "displayname": "Decision", "fields": ["Status", "Reason for rejection"] }

]

}

  1. Select Preview to check it. Then select Save.
  2. Close the form and open it again to see the change.

Rules from the Microsoft page:

Add a header (optional)

Microsoft's page says header and footer use the same JSON formatters as column and view formatting. To add a header:

  1. Open an item. Expand Edit form and choose Configure layout.
  2. In the Format pane, under Apply formatting to, choose Header.
  3. Paste this starter, which shows the item title:

{

"elmType": "div",

"style": { "padding": "12px", "font-weight": "bold" },

"children": [

{ "elmType": "div", "txtContent": "='Change request: ' + [$Title]" }

]

}

The header uses [$Title], the internal name, even though the column now shows as Change summary. The Body sections use display names.

  1. Select Preview, then Save. Close and open the form again to see it.

Footer works the same way: choose Footer under Apply formatting to. Our advice, not a Microsoft rule: check every pasted block with Preview before you save.

What you should see: a bold line above the form fields that starts with Change request and ends with the item title. In the sectioned form, the fields sit in groups headed Request and Decision, in a multi-column layout.

Unsupported column types in show-if rules

Microsoft says the formula does not currently support these column types:

So you cannot base a rule on, for example, a multi-select Choice or a Currency column. Use a single-select Choice or a Yes/No column as the trigger. A single-select Choice is the easiest to read.

Test before you tell the team

  1. Make a test item and walk through the form as a new request. "Reason for rejection" should be hidden.
  2. Open the item, set Status to 3 Rejected and check the field now shows.
  3. Save an item with Status set to 3 Rejected and confirm the reason is kept.
  4. Ask a person with limited access to open the form. They may not see what you see.

What to avoid

When to use Power Apps instead

Stay with the built-in form if the goal is a shorter, tidier form. Our advice, not a Microsoft rule: move to a Power Apps custom form only when the built-in form cannot do what you need, for example a different control type, exact layout control, or a custom action on save. A custom form is something someone must keep up. For the full comparison, see "Power Apps or a SharePoint list form: which one do you need?".

Honest limits

Sections and show-if rules make the form easier to use. They do not fix a list with too many columns. If half the columns are never used, remove them or split the list. If the form feeds a request process, see "How to set up a project intake form in SharePoint". One way to start: pick the one form your team complains about most, and fix only that one.

When to get help

You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs to build". Bring one example of the problem to a free call.

Tell me what's still manual

I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.

See trackers I built: Tools I built

FAQ

SharePoint list form customization with JSON?

Choose Edit form, then Configure layout, and pick Header, Body or Footer under Apply formatting to. Header and footer use the same JSON formatters as column and view formatting. Body takes sections, each with a display name and a list of fields.

Can I hide a column in the form but keep it in the list?

Yes. Choose Edit form, then Edit columns, and uncheck the column. Microsoft says this does not affect the column or its data. It is a display setting, not security.

How do I show a column only when another column has a certain value?

Use Edit conditional formula on that column. The formula starts with an equal sign and an if function, and returns true to show the column or false to hide it. Microsoft lists multi-select Person, Choice and Lookup, Currency, Location, Calculated and Managed Metadata columns as not supported.

Who can configure the list form?

Microsoft says anyone who can create and manage views in the list can use form configuration. If the content type comes from the content type hub, it may be read-only by default.

SharePoint list customize form with Power Apps?

Our advice, not a Microsoft rule: use the built-in form for a shorter, tidier form, and move to Power Apps only when it cannot do what you need. See "Power Apps or a SharePoint list form: which one do you need?".

Sources