Designing and Creating an Application · Topic 3 of 4
Application Menus and Modules
CAD guide to application menus and modules: link types such as List of Records and New Record, filters, order, roles and creating modules from tables.
- 4 min
- Application menus are headings; modules are the links under them.
- List of Records plus a filter is the standard module for a working list.
- New Record opens a blank form; URL (from Arguments) opens the URL in Arguments.
What it is
An application menu is the heading users see in the application navigator, the All menu in Next Experience. A module is a link under that heading that opens something: a list of records, a new record form, a report, a page or a URL.
Modules are how users enter your application. A developer decides which modules exist, what each opens, the order they appear in, and which roles can see them.
How it works
Where modules come from
Application menus live in System Definition > Application Menus and modules in System Definition > Modules. In Studio or App Engine Studio you add them as application files with your application selected, so they belong to its scope.
A shortcut is the table form. Selecting Create module and choosing a menu in Add module to menu when you create a table adds a list module for that table.
The module record
| Field | Purpose |
|---|---|
| Title | The text shown in the navigator |
| Application menu | The menu the module appears under |
| Order | Position in the menu; lower numbers appear higher |
| Roles | Roles that can see the module |
| Active | Shows or hides the module |
| Link type | What happens when the module is clicked |
| Table, Filter, View | The table, the condition and the form or list view for record links |
| Arguments | The URL or other argument some link types need |
Link types
| Link type | Opens |
|---|---|
| List of Records | A list of the table, limited by the module filter |
| New Record | A blank form to create a record |
| Single Record | One specific record |
| Run a Report | A saved report |
| URL (from Arguments) | The URL entered in Arguments |
| Separator | No link; a divider with a heading that groups modules |
| Homepage or Content Page | A homepage or content page |
List of Records with a filter is the most common answer. For example, a "My Open Requests" module filters on Requested for is the current user (dynamic Me) and State is not closed. The filter sets the starting view; it is not security, and the user can change it.
Roles on menus and modules
The application menu has a Roles field and so does each module. When roles are set, users without one of them do not see the menu or the module. Leaving Roles empty means no role is required to see it.
Module roles work inside the menu: a user needs to see the menu first. The module field Override application menu roles lets users with the module role see that module even if they lack the menu role.
Hiding a module only removes a link. Access controls still decide whether the user can read the records if they reach the list another way.
Testing modules
After you create modules, impersonate a user who holds the application's role. Check that the right modules appear in the right order and that each one opens the expected list, form or page with the right filter.
How the exam asks about this
- "Fulfillers need a link that shows only their own open requests." A List of Records module with a filter on assigned to (dynamic Me) and state.
- "Requesters need a link that opens a blank request form." A New Record module.
- "Modules must be grouped under headings inside the menu." Separator modules.
What to remember for the exam
- Application menus are headings; modules are the links under them.
- List of Records plus a filter is the standard module for a working list.
- New Record opens a blank form; URL (from Arguments) opens the URL in Arguments.
- Order sets position; lower numbers appear higher in the menu.
- Roles on a menu or module control who sees it; empty Roles means no role is needed.
- Create module on the table form adds a list module for a new table.
A module role hides a link, not data. Secure the records with access controls, because a user can still reach a list through a URL or a report.
Common mistakes
Using a module filter as security. The filter only sets the starting list. A user can remove the condition, so protect data with ACLs.
Giving a module a role the menu does not allow. If the user cannot see the menu, they cannot see its modules either. Use Override application menu roles when that is intended.
Building a new record link with a URL. New Record is the built-in link type for a blank form. A hand-built URL is harder to maintain and easy to break.
Check yourself
Which link type gives fulfillers a filtered list of their own open records?
List of Records, with a filter such as assigned to is (dynamic) Me and state is not closed.
What happens to a module when its Roles field is empty?
No role is needed to see it, as long as the user can see the application menu it belongs to.
Does hiding a module stop users from reading its records?
No. Modules only control navigation; access controls decide who can read the records.
Topic 3 of 4 in Designing and Creating an Application
Test yourself on Designing and Creating an Application
The full ServiceNow CAD question bank has 600 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by ServiceNow. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.