UI field
Add help text or a custom component to the form without storing a value.
Use field.UI to add guidance or a plugin’s custom component to the form. UI fields appear only
in the admin; they do not add a value to the document or API response.
In the admin

The guidance appears only in the admin; no guidance property enters storage, inputs, or SDK output.
Built-in guidance
field.UI("publishingGuide").
Label("Before you publish").
Admin(field.Admin{
Description: "Check the preview, links, and search description.",
})The name identifies the component in the form; it does not become a JSON property. Use translated labels and descriptions when the admin interface supports several languages.
Configuration
| Constructor or method | What it controls |
|---|---|
field.UI(name) |
Adds a named presentation-only position to the form. |
.Label(...) / .LabelTranslations(...) |
Supplies author-facing guidance text. |
.Admin(field.Admin{Description: ...}) |
Adds built-in explanatory copy and layout metadata. |
.Admin(field.Admin{Component: field.PluginComponent(...)}) |
Selects a statically registered plugin component and its JSON-safe config. |
.EditAdmin(callback) |
Changes selected admin metadata without replacing the complete Admin value. |
UI is a layout field. It has no stored value, requiredness, localization, access rule, validator, or lifecycle hook.
Use a component from a plugin
field.UI("contentScore").Admin(field.Admin{
Editor: field.PluginComponent(
"acme-editorial",
"ContentScore",
store.Object(store.Values{"minimum": store.Number(80)}),
),
})Register the plugin’s Go package and its matching admin package. ContentScore must be a
component registered by that package. The config object is included in the schema sent to the
admin, so it must contain JSON values and must not contain secrets.
Use the admin SDK to read or update data. Enforce permissions and validation in Go; hiding or disabling a component cannot prevent API requests.
Common mistakes
- Do not expect a UI field to submit a value. Use a custom field component for a stored field, or a Plugin field, when data belongs in the document.
- Do not place secrets in component config; the manifest is public to authorized tooling and admin clients.
- A component hidden or disabled in the admin cannot protect an API operation.
See field.UI, field.PluginComponent,
and Build a field plugin.