Understanding Dependent Choice Lists in ServiceNow
- kelly.ryu
- May 12
- 3 min read

Are you looking to streamline your ServiceNow forms and guide users towards accurate data entry? Dependent choice lists, also known as cascading select boxes, are a powerful way to achieve this. This article provides a comprehensive guide to understanding and implementing dependent choice lists in ServiceNow, enabling you to create more intuitive and efficient user experiences. We will explore how to configure these lists to display specific options in one field based on the selection made in another.
Understanding Dependent Choice Lists in ServiceNow
A dependent choice list is a dynamic selection field in ServiceNow where the available options are filtered based on the value selected in another field. This dependency helps narrow down choices and ensures users select relevant options, ultimately improving data quality and reducing errors.
Common Use Cases
Category and Subcategory: Display relevant subcategories based on the selected category (e.g., selecting "Hardware" in the category field might display "Laptop," "Desktop," and "Monitor" in the subcategory field).
State and City: Show a list of cities based on the selected state.
Product and Model: Filter available product models based on the chosen product type.
Key Benefits
Improved Data Accuracy: Reduces the likelihood of users selecting incorrect or irrelevant options.
Enhanced User Experience: Simplifies the selection process by presenting only relevant choices.
Streamlined Forms: Makes forms more intuitive and easier to navigate.
Configuring Dependent Choice Lists
The core principle involves establishing a parent-child relationship between two choice fields. ServiceNow uses the "Dependent value" attribute on the child field (the field whose choices are dependent) to link it to the parent field. Here's how to set it up:
Navigate to the Dictionary Entry : Find the dictionary entry for the dependent field (the "child" field whose options you want to control). You can do this by right-clicking the field on a form and selecting "Configure Dictionary".
Enable Dependent Field : In the dictionary entry, locate the "Attributes" section (you may need to scroll down).
Set Dependent Field Attribute : Add or modify the attribute named dependent=<parent_field_name>. Replace <parent_field_name> with the name of the field that controls the choices. It's crucial to use the name of the field, not the label. If there are already other attributes you will need to append this one to the other ones using a comma to separate them. Example: ref_auto_completer=AJAXTableCompleter,dependent=parent_field_name.
Define Dependent Values: This is where you specify which values in the parent field will trigger which values in the child field. Open the choice list for the child field. For each choice, make sure the value you enter under "Dependent value" matches the value of the desired selection in the parent field. Remember the following:
The "Value" represents the backend value of the choice, the "Label" is what the user sees.
You may need to create multiple entries for each choice in the child field if it needs to be displayed under several parent values. For example, to show "Unknown" in Field 2 (the child) when "A," "B," or "C" is selected in Field 1 (the parent), you would create three separate "Unknown" choice entries in Field 2, each with a "Dependent value" of "A", "B", and "C" respectively.
Important Considerations
Use Field Values, Not Labels: Always use the value of the parent field choice when defining dependencies, not the label. Using labels can lead to unexpected behavior, especially if labels are changed.
Multiple Dependencies: To have a child choice appear under multiple parent choices, you must create separate entries for that child choice, each with a different parent value.
Client Scripts: While dependent choice lists are generally configured at the dictionary level, complex scenarios might require client scripts to dynamically modify options. However, dictionary-level configuration is generally preferred for simplicity and maintainability.
Alternative Solutions & Advanced Scenarios
While dependent choice lists offer a straightforward approach, more complex scenarios might require alternative solutions:
Reference Qualifiers: For reference fields (fields that reference other tables), reference qualifiers can dynamically filter the available records based on values in other fields. This provides greater flexibility than dependent choice lists for related records.
Client Scripts with g_form.addOption() and g_form.removeOption(): When precise control over the options is needed, especially in Agent Workspace, Client Scripts can be leveraged to add or remove options dynamically using g_form.addOption() and g_form.removeOption(). Ensure compatibility across UI16 and Agent Workspace.
Script Includes: Encapsulate complex logic for determining choice dependencies within Script Includes for reusability and maintainability.
Conclusion: Empowering Your ServiceNow Forms
Dependent choice lists are a valuable tool for enhancing the usability and data integrity of your ServiceNow forms. By carefully configuring these lists and understanding the underlying principles, you can guide users towards making accurate selections, leading to more efficient workflows and improved data quality.