Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Add and configure components

Learn how to add components to your page in UI Builder. A page is built by adding components.

Before you begin

Role required: ui_builder_admin

About this task

Components are the building blocks used to create custom pages in UI Builder. Learn how to add a component to a page. After you add a component to a page, you must configure the component. For more information about configuring components, see Component documentation on the ServiceNow Developer Site.

Procedure

  1. Navigate to All > Now Experience Framework > UI Builder.

  2. Open an experience to work in or create an experience by selecting Create > Experience.

    See Configure how users interact with your applications in UI Builder for more information on creating experiences.

  3. Open or create a page.

    If you open an existing page, make sure you are in the same scope as the original page. If not, change the scope before you start editing the page. Application scoping protects applications by identifying and restricting access to application files and data. Administrators set the scope to specify what parts of an application are accessible to other applications. Application scope protects data and application files. See Learn about security and roles for more information about application scope.

  4. Select an existing container or create a column layout.

    See Organize components in UI Builder pages for more information.

  5. Add components to your page.

    UI Builder comes with a library of components to choose from. You add components as the building blocks of your page. For example, you can add a heading, data visualizations, and so on. The following table shows you the different ways you can add a component to a page.

To add a componentDo the following
Directly from your pageFrom your page, select + and choose a component from the toolbox. You can search for a component or scroll through the list.
Image omitted: component-add-from-stage.png
Add content icon selected on the stage showing the toolbox window with Components tab selected.</td></tr><tr><td id="d270798e225"><strong>Floating menu above page</strong></td><td>Select the floating menu above your component. - Select <strong>Add before</strong> or <strong>Add after</strong>.
- Choose a component from the toolbox.
Content treeYou can add a component from the content tree in the following two ways.- Select +Add content beneath a container in the content tree. Then choose a component from the toolbox. - Move your mouse device over a container in the content tree, select the Menu icon, and select Add component. Then choose a component from the toolbox.
Image omitted: component-add-from-content-tree.png
Black arrow pointing to + add content option in content tree next to the toolbox window with Components tab selected.</td></tr></tbody>
  1. Now configure the properties of the components that you just added.

    Configuring components means to customize them to your needs. For more information about configuring components, see Next Experience Components.

    1. Select the component that you want to configure.

    2. Select the Configure tab from the configuration panel in UI Builder.

    3. Customize the component properties for the component.

      For example, you could add a name for a button component. Some components, like data visualizations, require a data source before you can configure the properties. Each component has different configuration properties based on the requirements and options for each component. For example, the Button component configuration is simple, while a List component requires more configuration.

    4. For components with configurable JSON properties, you can use UI Builder's low-code JSON editor to edit component properties without needing to edit JSON code.

      The JSON editor UI displays all available properties, even properties not defined in the dummy data or defined values. You can update properties or add your own custom properties within the JSON editor. For more information about configuring components, see Edit code with the Now Code Editor (advanced feature).

      Note: The low-code JSON editor is only available to properties that have a schema and whose JSON input matches said schema.

      The low-code JSON editor supports simple objects, simple array properties, complex arrays, arrays of objects, and partially supports complex objects. For complex arrays, you can add, delete, or move the position of array items. You can also select Hide unset items to hide objects with empty or null values for a simplified editing experience.

Image omitted: json-editor.png
UI Builder low-code JSON editor.
5.  When working with a container component, you can edit some styles by using the floating panels.

    Select the **Menu** icon to view a menu.
Image omitted: container-more-button.png
Arrow pointing to the menu icon with the floating menu expanded.
    Select the **Layout**, **Sizing**, or **Spacing** option to open a floating panel with the most common options displayed. Drag the floating panel to another location as needed. Only one floating panel can be open at a time.
Image omitted: container-style-floating-panel.png
Layout options displayed in a floating panel.
For more information about configuring components, see [Next Experience Components](https://developer.servicenow.com/dev.do#!/reference/now-experience/rome/components).
  1. Select the Events tab to add an event handler to your component.

    Add an event handler to add actions to the components on your page. For example, a button component is static and doesn’t do anything until you bind an event action to it, such as saving a record. Some components don’t have an event action applied to them, such as a heading component. But many components require you to map an event to your component to actually make it perform an action. See Bind an event to a component for more information on how to add event handlers to your component.

  2. You can override any styles for a component by adding CSS styling under the Styles tab.

    For more information, see Change the default appearance of components.

    Note: Style changes only affect a single component at a time. To change the visual style of all the components in your experience, you must apply a theme to your experience. For more information, see Manage the visual style of UI Builder experiences.

  3. Add additional containers to your page to display your components in an organized way.

    For example, one container could have a heading component. Another container below it could include a list component, a button component, and so on.

    1. Select the + at the top of your container to add a container component before the existing component and select the + at the bottom of a component to insert a container component after it.

    2. Drag a container component from the Components list to your existing container on the page; Hold over the top line of the container to insert the new container before the existing container or over the bottom line of the existing container to add it after.

  4. Add more components to your page by selecting the + on the top or bottom of the components on the page (the + changes to + Add).

Image omitted: add-another-component.png
Plus signs at the top and bottom of a component to add additional components.
1.  Select the **+** at the top of your component to add a component before the existing component or select the **+** at the bottom of a component to insert a component after it.

2.  Drag a component from the component list to insert the component before or after an existing component.
  1. To make a modal appear when you select a component such as a button, you must add the modal to the component first.

    A modal is a confirmation pop-up that appears when you select the component. For example, if you add a button component that deletes a record, you add a modal to ask the user to confirm they want to delete the record. See Create modals in UI Builder for more information.

  2. Select Save often on your page as you work.

  3. View and test your page by selecting the Preview button.

What to do next

You have added and configured components on your page. See Dynamically expose data in UI Builder pages (advanced feature) for more information. A data resource in UI Builder is the data that a page fetches to display content in components. Components use data resources as a way to reuse data and configurations across different experiences, and make the components dynamic on a page.

Parent Topic:Configure components and repeaters (advanced feature)

Supported functions in the UI Builder component formula editor

Learn about the various functions supported in the UI Builder component formula editor.

The following table lists the functions you can use in the UI Builder component formula editor. For more information about the component formula editor, see Customize UI Builder pages using components.

Operator labelExample conditionEquivalent query operatorExample queryExample output
All empty\[Short description\]\[ALL\_EMPTY\]ALL\_EMPTYshort\_descriptionALL\_EMPTYAll records in which there is no value in the Short description field.
All equal\[Short description\]\[ALL\_EQ\]\[Network storage unavailable\]ALL\_EQshort\_description=network storage unavailableAll records in which the value for the Short description field is equal to "Network storage is unavailable."
All greater than\[Impact\]\[ALL\_GT\]\[2 - Medium\]>impact>2All records in which the Impact field has a value of 3 - Low
All greater than or equal\[Impact\]\[ALL\_GTE\]\[2 - Medium\]>=impact>=2All records in which the Impact field has a value of 2 - Medium or 3 - Low.
All less than\[Reassignment count\]\[ALL\_LT\]\[2\]<reassignment\_count<2All records in which the value in the Reassignment count field is any number less than (but not equal to) 2.
All less than or equal\[Reassignment count\]\[ALL\_LTE\]\[2\]<=reassignment\_count<=2All records in which the value in the Reassignment count field is one of the following:- a number less than 2 - 2
All not equal to\[Impact\]\[ALL\_NEQ\]\[1 - High\]!=impact!=1All records in which the value in the Impact field is anything but 1 - High.
All not empty\[Impact\]\[ALL\_NOTEMPTY\]ALL\_NOTEMPTYimpactALL\_NOTEMPTYAll records in which the Impact field has any value.
All not one of\[Impact\]\[ALL\_NOTONEOF\]\[1 - High, 2 - Medium\]ALL\_NOTONEOFimpactALL\_NOTONEOF1,2All records in which the Impact field is populated by anything except the following values:- 1 - High - 2 - Medium
All one of\[Impact\]\[ALL\_ONEOF\]\[1 - High, 2 - Medium\]ALL\_ONEOFimpactALL\_ONEOF1,2All records in which the Impact field is populated by one of the following values:- 1 - High - 2 - Medium
Any empty\[Short description\]\[ANY\_EMPTY\]ANY\_EMPTYshort\_descriptionANY\_EMPTYAny record in which there is no value in the Short description field.
Any equal\[Short description\]\[ANY\_EQ\]\[Network storage unavailable\]ANY\_EQshort\_description=network storage unavailableAny record in which the value for the Short description field is equal to "Network storage is unavailable."
Any greater than\[Impact\]\[ANY\_GT\]\[2 - Medium\]ANY\_GTimpactANY\_GT2Any records in which the Impact field has a value of 3 - Low
Any greater than or equal\[Impact\]\[ANY\_GTE\]\[2 - Medium\]ANY\_GTEimpactANY\_GTE2Any record in which the Impact field has a value of 2 - Medium or 3 - Low.
Any less than\[Reassignment count\]\[ANY\_LT\]\[2\]ANY\_LTreassignment\_countANY\_LT2Any record in which the value in the Reassignment count field is any number less than (but not equal to) 2.
Any less than or equal\[Reassignment count\]\[ANY\_LTE\]\[2\]ANY\_LTEreassignment\_countANY\_LTE2Any record in which the value in the Reassignment count field is one of the following:- a number less than 2 - 2
Any not equal\[Impact\]\[ANY\_NEQ\]\[1 - High\]ANY\_NEQimpactANY\_NEQ1Any record in which the value in the Impact field is anything but 1 - High.
Any not empty\[Impact\]\[ANY\_NOTEMPTY\]ANY\_NOTEMPTYimpactANY\_NOTEMPTYAny record in which the Impact field has any value.
Any not one of\[Impact\]\[ANY\_NOTONEOF\]\[1 - High, 2 - Medium\]ANY\_NOTONEOFimpactANY\_NOTONEOF1,2Any record in which the Impact field is populated by anything except the following values:- 1 - High - 2 - Medium
Any one of\[Impact\]\[ANY\_ONEOF\]\[1 - High, 2 - Medium\]ANY\_ONEOFimpactANY\_ONEOF1,2Any record in which the Impact field is populated by one of the following values:- 1 - High - 2 - Medium
CONCATCONCAT\(value\)CONCATCONCAT\("Welcome, ",@context.session.user.firstName\)Create a new string that combines all supplied strings into one
EMPTYEMPTY\(value\)EMPTYEMPTY\(@context.session.user.roles\)Returns true if value is null or undefined
IFIF\(if, then, else\)IFIF\(@context.props.bare,"bare page","not bare page"\)If condition is true, return the value then. If condition is false, return the value else.
LENLEN\(list\)LENLEN\(\[1,2,3\]\)Returns the number of items in the array
PickPICK\(array, field\)PickPICK\(@context.session.user.preferences,"name"\)Creates a new array where each item is picked from field in each item in the array. If the field does not exist, the item in the new array will be EMPTY
RangeRANGE\(from, to\)RangeRANGE\(1,10\)Creates an array of numbers, starting with from, up to, incrementing by step
SumSUM\(array\)SumSUM\(\[1,2,3\]\)Starting at 0, add the number value of each item in the array and return the resulting summation
TranslateTRANSLATE\(text\)TranslateTRANSLATE\("Welcome back"\)Returns the string from the first argument after the characters specified in the second argument are translated into the characters specified in the third argument.
Where empty\[Short description\]\[WHERE\_EMPTY\]WHERE\_EMPTYshort\_descriptionWHERE\_EMPTYExtract records where there is no value in the Short description field.
Where equal\[Short description\]\[WHERE\_EQ\]\[Network storage unavailable\]WHERE\_EQshort\_descriptionWHERE\_EQnetwork storage unavailableExtract records where the Short description field is equal to "Network storage is unavailable."
Where greater than\[Impact\]\[WHERE\_GT\]\[2 - Medium\]WHERE\_GTimpactWHERE\_GT2Extract records where the Impact field has a value of 3 - Low
Where greater than or equal\[Impact\]\[WHERE\_GTE\]\[2 - Medium\]WHERE\_GTEimpactWHERE\_GTE2Extract records where the Impact field has a value of 2 - Medium or 3 - Low.
Where less than\[Reassignment count\]\[WHERE\_LT\]\[2\]WHERE\_LTreassignment\_countWHERE\_LT2Extract records where the value in the Reassignment count field is any number less than (but not equal to) 2.
Where less than or equal\[Reassignment count\]\[WHERE\_LTE\]\[2\]WHERE\_LTEreassignment\_countWHERE\_LTE2Extract records where the value in the Reassignment count field is one of the following:- a number less than 2 - 2
Where not equal\[Impact\]\[WHERE\_NEQ\]\[1 - High\]WHERE\_NEQimpactWHERE\_NEQ1Extract records where the value in the Impact field is anything but 1 - High.
Where not empty\[Impact\]\[WHERE\_NOTEMPTY\]WHERE\_NOTEMPTYimpactWHERE\_NOTEMPTYExtract records where the Impact field has any value.
Where not one of\[Impact\]\[WHERE\_NOTONEOF\]\[1 - High, 2 - Medium\]WHERE\_NOTONEOFimpactWHERE\_NOTONEOF1,2Extract records where the Impact field is populated by anything except the following values:- 1 - High - 2 - Medium
Where one of\[Impact\]\[WHERE\_ONEOF\]\[1 - High, 2 - Medium\]WHERE\_ONEOFimpactWHERE\_ONEOF1,2Extract records where the Impact field is populated by one of the following values:- 1 - High - 2 - Medium

sndocs is an independent community mirror and is not affiliated with or endorsed by ServiceNow.

ServiceNow, the ServiceNow logo, Now, and other ServiceNow marks are trademarks and/or registered trademarks of ServiceNow, Inc., in the United States and/or other countries. Other company and product names may be trademarks of the respective companies with which they are associated.

© 2026 ServiceNow, Inc. All rights reserved.

Documentation content is redistributed under the Apache License 2.0 from the ServiceNowDocs repository.