--- title: UI pages description: UI pages can be used to create and display forms, dialogs, lists, and other UI components.Each UI page has a URL computed from the application scope, page name, and the .do file extension.See access controls directly from the UI Page form and add role-based access control when creating or editing a UI Page record.Access controls and related security messages are integrated on high risk UI Pages for increased security.If your UI page contains a form \(uses the <g:form> tag\), you can submit the form and have the process script run. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/scripts/r\_UIPages.html release: australia product: Scripts classification: scripts topic_type: reference last_updated: "2026-03-26" reading_time_minutes: 7 breadcrumb: [Creating UI pages and macros, Scripting, API implementation, API implementation and reference] --- # UI pages UI pages can be used to create and display forms, dialogs, lists, and other UI components. Use UI pages as widgets on dashboards. To find the UI pages, navigate to **System UI** > **UI Pages**. This functionality requires a knowledge of HTML or Jelly. You can also create simple AngularJS applications using UI pages. The UI page form contains the following fields:
| Field | Description |
|---|---|
| Name | Name used to invoke the page via a URL \(must not contain spaces\). |
| Application | Displays the current application scope. |
| Description | The description of the UI page and what it’s used for. |
| Direct | Select this check box for a direct UI page \[sys\_ui\_page\]. A direct UI page doesn't include the common HTML, CSS, and scripts. This setting requires adding custom CSS and JavaScript to use in the page. |
| HTML | Main component of the page where you define what is rendered when the page is shown. It can contain either static XHTML, dynamically generated content defined as Jelly, or call script includes and UI Macros.**Note:** If GlideRecord/GlideDBQuery is used instead of GlideRecordSecure, a security recommendation message displays. |
| Client Script | Include client-side JavaScript that runs in the browser, such as functions called by buttons. It’s intended to handle any client-side processing needed, like setting focus to a field or other interactive DHTML features after a page is loaded. Client scripts for the UI page are deployed to the browser within a `` tag, so the content can similarly be defined within the HTML field. The Client Script field can be used instead to define these scripts concisely to maintain the Jelly and HTML manageability. |
| Processing Script | Script that runs on the server when the page is submitted. This is useful if your page has a form defined with the <`g:ui_form/`> or <`g:form/`> tags.**Note:** If GlideRecord/GlideDBQuery is used instead of GlideRecordSecure, a security recommendation message displays. |
| obsolete-custom-processors | **Note:** This feature is deprecated. While legacy, existing custom processors continue to be supported, creating new custom processors has been deprecated. Instead, use the [Scripted REST APIs](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-api-explorer/c_CustomWebServices.md). |
| Related lists on the form view: | |
| Access Controls | View and configure access controls for the UI page. See [Use access controls on UI pages](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/scripts/r_UIPages.md) for more information. |
| Versions | Shows all versions of the UI page. Use this list to compare versions or to revert to a previous version. |
Click OK to run the processing script.