Thank you for your feedback.
Form temporarily unavailable. Please try again or contact docfeedback@servicenow.com to submit your comments.

Types of service catalog variables

Log in to subscribe to topics and get notified when content changes.

Types of service catalog variables

Several types of service catalog variables are provided. Some variable types accept variable attributes. You can also provide help text for any service catalog variable. For information on defining help information, see Define help information for a service catalog variable.

See the following sections for more details on each variable type. For details on creating a variable, see Create a service catalog variable.

Limited mobile support for variables

The service catalog on mobile devices does not support the following variable types:
  • Break
  • Container variables
  • Duration
  • Email
  • HTML
  • Label
  • List Collector
  • Lookup Multiple Choice
  • Macro
  • Macro With Label
  • Masked
  • Multiple Choice
  • UI Page
  • URL

Support in Service Portal

Unless specified, all variables and their configurations are supported in Service Portal.

Break

The break variable displays a horizontal line across the form. This line is a formatting element that does not collect data.

Figure 1. Example: break variable
Example of a break variable

Check box

The check box variable lets you enable and disable options by selecting and clearing it.

To make a check box mandatory for users, select the Selection Required option when you create the variable. For example, use this option to require users to select the I agree check box for an agreement form. If users try to submit the agreement form without selecting the check box, an alert message is displayed to tell users that they must select the check box.

A group of check box variables is created when you create consecutive check box variables. These check box variables are sorted by their order within the group. If you want to define a custom label for the group of check boxes, create a label variable at the start of the consecutive check box variables. The label is then considered a part of this group and acts a label of the group. If there is no custom label, check boxes are grouped under an Options label by the application.

In a group of check box variables:
  • If any check box variable in the group is mandatory, the entire group becomes mandatory irrespective of the visibility of the mandatory check box variable. An asterisk (*) is then displayed next to the group label and you must select at least one of these check boxes.
  • Hiding the label hides the entire group.
  • If all other check box variables of a mandatory check box group are hidden and not selected, the following scenarios are applicable:
    • The group remains mandatory as long as there is one check box in the group that is visible and not selected.
    • The last check box of this group cannot be hidden if it is not selected.
Under the Type Specifications tab, you can specify the price in different currency types. Also, you can configure the price in the following pricing models:
  • Calculated
  • Fixed
  • Multiple
For information on the pricing models, see Price fields .
Figure 2. Example: check box variable
Example of a check box variable

For more information on the check box variable, see the following video:

Container start, container split, and container end

The container start, container split, and container end variables define a layout for a container that can hold more variables. Use the container start and container end variables to define the start and end points of a container layout. The container end must be used along with the container start to close a container.

A container layout can be split into two or three columns using the container split variable. By default, the split is calculated at the 50% mark.

A container is similar to a variable set. Unlike a variable set, containers can be used anywhere, including inside a variable set. Containers can also be nested inside each other.

For more help with selecting the appropriate container type, see the Determining if you are using the correct container variable [KB0539982] article in the HI Knowledge Base.

Note:
  • The container variables are not yet supported on mobile devices.
  • Container start, container split, and container end variables are supported in Service Portal. However, if the settings are done on the top-level container, a maximum of two-column layouts can be achieved.
  • Variable sets are also considered as containers. So, a container start variable with a two-column layout under a variable set is not supported in Service Portal.
To reproduce the container shown in the following figure, enter the following settings when creating a container start variable:
  • Select a Layout with 2 Columns Wide, alternating sides.
  • Select the Display title check box to use a collapsible title bar.
Figure 3. Example: container variable
Example of a variable container

Date

The date variable creates a widget with a field and calendar to select a date.

Figure 4. Example: date variable
Example of a variable date

Date and time

The date and time variable creates a widget with a calendar and fields to select a date and time. The time value is stored in Greenwich Mean Time (GMT) and displayed in your time zone.

Figure 5. Example: date and time variable
Example of the date and time variable

Duration

Use the duration variable to specify the duration for which a catalog item is available.

For attributes supported by this variable, see variable attributes.
Note: Enter the duration in the DD HH:MM:SS format when setting the default value of the variable, and specifying in the g_form.getValue() and g_form.setValue() functions.
Figure 6. Example: duration variable
Screenshot for the Duration variable

Email

The email variable creates a widget to enter and select an email address. The variable accepts only valid email expressions containing @ and domain information.

Note: Variable validation is not supported in Service Portal.
Figure 7. Example: email variable
Example of an email variable

HTML

The HTML variable lets you provide content with advanced formatting, including images, for a catalog item.

Use the variable to create fields for user input. You can also use the variable for reusable content when put into a variable set, such as terms and conditions.

The variable is available in two modes: edit and read-only. In edit mode, a toolbar is available, and links do not work. In read-only mode, the toolbar is disabled, and links work. To switch between modes, use entitlements or create a UI policy to set the HTML field to read-only mode.

Note: HTML variables are not supported for display on the shopping cart summary or approval summary screens.
Figure 8. Example: HTML variable
Example of an HTML variable

IP Address

Use the IP address variable to specify the IPv4 and IPv6 data for a catalog item. Under the Validation Scripts submodule, a validation script type associated with this variable is available.

Note:
  • Variable validation is not supported in Service Portal.
  • When you set the default value for the IP Address variable, or specify its value in the g_form.getValue() and g_form.setValue() functions, the delimiter is (.).
Figure 9. Example: IP address variable
Screenshot for the IP Address variable

Label

The label variable displays a label across the form. Labels are formatting elements. No data is collected.

You can use labels to arrange questions into sections. You can also use labels for questions with multiple options. For example, label check boxes for the different options for a question.

You cannot set a Label variable as mandatory. However, you can make mandatory, a group of check box variables preceded by a Label variable.

In Platform, if the glide.ui.escape_text property is set to false, then HTML tags are supported for the Question and Help text fields. In Service portal, the glide.ui.escape_text property is not applicable and HTML tags are not supported for these fields.

Figure 10. Example: label variable
Example of a label variable

List collector

The list collector variable creates an interface that lets you select and add multiple records from a table. For attributes supported by this variable, see variable attributes.

Figure 11. Example: list collector variable
Example of a list collector variable

For more information on using the list collector variable, see this video:

Note:
  • The Reference Qualifier and glide_list attribute applies to releases from Helsinki onward only. The attribute does not apply to Geneva.
  • You can set a value for this variable using the g_form.setValue() function in a catalog client script.
  • When the glide_list attribute is not true, you can only set the value that is visible in the Available list using the g_form.setValue() function. This functionality is not applicable when the setValue() function is called onLoad.
  • Table with large data causes performance issues when loading the page. Use reference qualifiers to reduce data or use the glide_list attribute.
  • The values in the referenced table do not appear if the user is not logged in.

Lookup multiple choice

The lookup multiple choice variable creates radio buttons using data from a table. Its functionality is similar to the lookup select box variable, which creates a choice list from queried data. For attributes supported by this variable, see variable attributes.

Note: Table with large data causes performance issues when loading the page. Use reference qualifiers to reduce data or use the reference type variable.
Figure 12. Example: lookup multiple choice variable
Example of a lookup multiple choice variable

Lookup select box

The lookup select box variable creates a choice list using data queried from a table. Its functionality is similar to the lookup multiple choice variable, which creates radio buttons from queried data. For attributes supported by this variable, see variable attributes.

To create the lookup select box shown in the following figure, enter the following values when creating the variable:
  • Lookup from table: Incident [incident]
  • Lookup value field: Sys ID
  • Lookup label field: number, category, priority
  • Reference qual: caller_id=javascript:gs.getUserID()^active=true
Note: Table with large data causes performance issues when loading the page. Use reference qualifiers to reduce data or use the reference type variable.
Figure 13. Example: lookup select box variable
Example of a lookup select box variable

Macro

The macro variable inserts a UI macro into the catalog item.

UI macros in the service catalog do not support the following glide_list functions: clickthrough, slushbucket editing, and email field.

  • Use phase one Jelly only for any UI macros added as variables. Phase two Jelly within the macro is not processed and appears on the page as standard content.
  • This variable is not yet supported on mobile devices.
  • This variable is supported in Service Portal through widgets. Create a widget with the same functionality as that of a macro and link the widget with the variable.
Figure 14. Example: macro variable
Example of a macro variable

Macro with label

The macro with label variable inserts a UI macro with a label.

  • The macro with label variable is not yet supported on mobile devices.
  • This variable is supported in Service Portal through widgets. Create a widget with the same functionality as that of a macro with label, and link it with the variable.
Figure 15. Example: macro with label variable
Example of a macro with label variable

Masked

The masked variable inserts a field that masks the text entered. Each character entered is displayed as an asterisk (*). Use this variable to ask users for sensitive or confidential data such as passwords.

Because a masked variable uses platform encryption using TripleDES, the values for this variable are also encrypted. These values can be decrypted by using gr.variables.var_name.getDecryptedValue() on RITM, Catalog Task, or any task extension record created using a record producer.

You can also decrypt and encrypt the values of a masked variable using the Show and Hide buttons. These buttons are not available for a fulfiller (itil) without the catalog_view_masked role.

Table 1. Decryption permissions for roles
Action Roles
Requester Fulfiller with the catalog_view_masked role Fulfiller without the catalog_view_masked role
View or hide the encrypted value on catalog forms Yes No No
Edit the encrypted value on catalog forms Yes No No
View or hide the encrypted value on the variable editor of the RITM Yes Yes No
Edit the encrypted value on the variable editor of the RITM Yes.
Note: If the masked variable is read-only on the variable editor, the variable value is not editable
Yes.
Note: If the masked variable is read-only on the variable editor, the variable value is not editable
No
Figure 16. Example: masked variable
Example of a masked variable

Multi-line text

The multi-line text variable creates a field that lets you enter multiple lines of text.

Figure 17. Example: multi-line text variable
Example of a multi-line text variable

Multiple choice

The multiple choice variable creates radio buttons for question choices.

Figure 18. Example: multiple choice variable
Example of a multiple choice variable

Numeric scale

The numeric scale variable creates a set of radio buttons for a range of options, like a Likert scale.

Figure 19. Example: numeric scale variable
Example of a numeric scale variable

Reference

A reference variable references a record in another table. For example, a variable named point_of_contact references the User [sys_user] table. For attributes supported by this variable, see variable attributes.

Keep the following information in mind when you create a reference variable:
  • Reference variables use the auto-complete feature . To ensure that users have enough information to make the selection, configure the reference lookup list .
  • Reference variables store the sys_id of the selected record (like reference fields). To use the display value in a script, use the same methods as for a reference field.
current.variables.<variable name>.getDisplayValue()
Figure 20. Example: reference variable
Example of a reference variable

Select box

The select box variable creates a list from predefined question choices. For attributes supported by this variable, see variable attributes.

Figure 21. Example: select box variable
Example of a select box variable

Single-line text

The single-line text variable creates a field to enter a single line of text. For attributes supported by this variable, seevariable attributes.

Figure 22. Example :single-line text variable
Example of a single-line text variable

UI page

The UI page variable inserts a UI page into the catalog item.

  • Use phase one Jelly only for any UI macros added as variables. Phase two Jelly within the macro is not processed and appears on the page as standard content.
  • The client scripts of a UI page are ignored when you define the associated UI Page variable for a catalog item. This behavior is applicable as long as the glide.ui.escape_text and glide.ui.escape_all_script properties are set to true. For information about these high security settings, see High Security Settings .
  • This variable is not yet supported on mobile devices and in Service Portal.

URL

The URL variable creates a widget for users to enter URLs. URLs are validated for the following protocols: HTTP, HTTPS, FTP.

Note: Variable validation is not supported in Service Portal.
Figure 23. Example: URL variable
Example of a URL variable

Wide single-line text

The wide single-line text variable creates a field that spans the form, letting users enter longer lines of text. For attributes supported by this variable, seevariable attributes.

Figure 24. Example: wide single-line text variable
Example of a wide single-line text variable

Yes/No

The Yes or No variable creates a choice list with Yes and No as options.

Figure 25. Example: Yes or No variable
Example of a Yes or No variable
Feedback