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

Application Menu API - ServiceNow Fluent

The Application Menu API defines menus in the application navigator [sys_app_application].

Note: For the latest ServiceNow Fluent API documentation and examples, see the ServiceNow Fluent API reference and ServiceNow SDK examples repository on GitHub.

For general information about application menus, see Create an application menu.

Parent Topic:ServiceNow Fluent API reference

Related topics

ServiceNow Fluent

ApplicationMenu object

Create a menu for an application [sys_app_application].

NameTypeDescription
$idString or NumberRequired. A unique ID for the metadata object. When you build the application, this ID is hashed into a unique sys\_id. For more information, see ServiceNow Fluent language constructs.Format: `Now.ID['String' or Number]`
titleStringRequired. The label for the menu in the application navigator.
activeBooleanFlag that indicates whether the menu appears in the application navigator.Valid values: - true: The menu appears. - false: The menu is hidden. Default: true
rolesArrayA list of variable identifiers of Role objects or names of roles that can access the menu. For more information, see Role API - ServiceNow Fluent.
categoryReferenceThe variable identifier of a menu category \[sys\_app\_category\] that defines the navigation menu style. To define a menu category, use the Record API - ServiceNow Fluent.For general information about menu categories, see Customize menu categories.
hintStringA short description of the menu that displays as tooltip when hovering over it.
descriptionStringAdditional information about what the application does.
nameStringAn internal name to differentiate between applications with the same title.
orderNumberThe relative position of the application menu in the application navigator.Default: 100
$metaObject

Metadata for the application metadata.With the installMethod property, you can map the application metadata to an output directory that loads only in specific circumstances.

$meta: {
      installMethod: 'String'
}

Valid values for installMethod:

  • demo: Outputs the application metadata to the metadata/unload.demo directory to be installed with the application when the Load demo data option is selected.
  • first install: Outputs the application metadata to the metadata/unload directory to be installed only the first time an application is installed on an instance.
import { ApplicationMenu } from "@servicenow/sdk/core";

ApplicationMenu({
   $id: Now.ID['my_app_menu'],
   title: 'My App Menu',
   hint: 'This is a hint',
   description: 'This is a description',
   category: appCategory,
   roles: ['admin'],
   active: true,
})

The category referenced is defined using the Record object:

import { Record } from "@servicenow/sdk/core";

export const appCategory = Record({
   table: 'sys_app_category',
   $id: Now.ID[9],
   data: {
      name: 'example',
      style: 'border-color: #a7cded; background-color: #e3f3ff;',
   },
})