jsn / ServiceNow, simplified.
ServiceNowREFERENCE GUIDE

application-development/configuration-model.md

On this page

— title: Configuration model description: Lux makes a component’s behavior configurable at three levels: code, admin policy, and individual preference without three separate systems to learn. You add one decorator, @config, to a class field to opt a property into all of it. locale: en-US canonical_url: www.servicenow.com/docs/r/australia/application-development/configuration-model.html release: australia topic_type: concept last_updated: “2026-10-03” reading_time_minutes: 2 keywords: [Configuration model, Three players, Default value, Promotion and upgrade safety, What this chapter covers]

breadcrumb: [Configure experiences, Lux Development, Building pro-code applications, Developing your application, Building applications]

Configuration model

Lux makes a component’s behavior configurable at three levels: code, admin policy, and individual preference without three separate systems to learn. You add one decorator, @config, to a class field to opt a property into all of it.

Configuration is stored as metadata override layers rather than as a code fork, so an admin’s changes reapply cleanly across upgrades.

Three players

Every configurable value passes through the same three parties:

  • Declare: developer

    Tags which properties are configurable, sets the code-level default, and defines the choices, types, and labels that drive the generated config UI. Nothing is editable until it is declared.

  • Configure: customer admin

    Configures shipped pages and widgets directly on the live page, in non-production, then promotes the change through an update set.

  • Personalize: end user

    Adjusts their own view within admin-defined bounds.

As the developer you only need to read this.propertyName in your component. The framework resolves the value that getter returns.

Configuration is not a replacement for UI Builder, a tool for building widgets or pages, or a standalone no-code builder. This is a pro-code workflow: a developer writes the declaration, and an admin configures what the developer declared.

Default value

A @config property resolves to its developer default, the value assigned in your code.

Promotion and upgrade safety

sys_aix_configuration extends sys_metadata, so admin configuration participates in update sets exactly like a business rule or a UI policy; no special export or import path.

Related topics

Configurable properties for Lux experiences

Inline configuration

[admin-experience]

Regions and the wrapper contract

Theming model

Keep exploring.

Find another answer, or bring this documentation into your own tools.