Form Layouts

Every form in the application renders from a layout definition. If no one has written one, it renders its built-in default. This page is where a layout is written, and — just as importantly — where it is taken away again.

Where to find it

ScreenWhere it livesWhat you need
Form layouts — /admin/formsSettings → Data model → Form LayoutsPermission to read form layouts; saving a layer needs permission to customise them, and the global layer is super-admin only

Three layers, most specific wins

A layout can be saved at three levels, and a form uses the most specific one that exists:

Save forWho gets it
Just meonly you
Spaceeveryone in the space who has no personal layer
Globalevery space that has no space layer (super-admin only)

Every row carries a badge saying what is actually in force for you right now — Personal override, Inheriting from Space, Inheriting from Global, or Built-in default. The Layers column shows which levels have a definition at all, so you can see at a glance that a form is customised somewhere even when you are not the one seeing the customisation.

Resetting a layer

Each layer has its own Reset. Resetting does not restore a factory layout — it clears that layer, and the form starts inheriting again from the layer beneath it. The confirmation says exactly that: layer cleared — inheriting again.

This is the honest way out of a customisation that went wrong: you are never left having to reconstruct the original by hand.

Locking a layer

A space or global layer can be locked. A locked layer can only be overwritten by a super-admin, and the row says so: this layer is locked — only a super-admin can overwrite it. Use it for a layout that has been agreed and should not drift.

Writing a definition

The definition is edited as JSON. If what you type is not valid JSON, the page says so before anything is sent — the message is the definition is not valid JSON, and nothing is saved.

Note
The visual form builder saves through this same door. Whichever surface you use, the stored definition and the three layers behave identically.

Layouts that came from a template

If a layer's value arrived from an applied template, the row is badged From template. Overriding it asks you to confirm first, because of what the confirmation says: overriding detaches it — template updates will no longer change it. Say yes if that is what you want; say no if you would rather keep following the template. See Templates.

Adding a layout for a form that has none

Press + Add layout and give the form's key — for example contact_edit. Until a layout exists, the empty state is not an error: it reads no form layouts yet — forms render their built-in defaults.

Tip
Routing form answers into work items is a different job and lives on its own page — follow Intake rules from here, or see Work Items.