IT CanvassTalk to an advisor
Administration · LessonBy , ServiceNow Architect · Published · ServiceNow · all levels

Choice lists

Managing choice values, dependent choices, choice list specifications and the mistakes that cause blank fields after an upgrade.

Quick answer

Managing choice values, dependent choices, choice list specifications and the mistakes that cause blank fields after an upgrade.

Key takeaways
  • Keep values stable, edit labels freely
  • Use dependent choices instead of client scripts for simple filtering
  • Add choices at the child table, not on task
  • Inactive is better than deleted when a value is retired

How choices are stored

Each option is a sys_choice record with a table, element, label, value and sequence. Label is what users read, value is what scripts and reports use. Once records exist, changing a value orphans data, so change labels and leave values alone.

Dependent choices

Set a dependent field on the dictionary record and populate the Dependent Value column on each choice. Subcategory depending on category is the classic example. The client filters options as soon as the parent changes, no scripting needed.

Choice list specification

The dictionary field Choice controls what happens with values that are not in the list.

  • Dropdown with none: adds an empty option
  • Suggestion: users can type a value that is not listed
  • Dropdown without none: forces a selection, useful for state fields

Inheritance on extended tables

Child tables inherit parent choices. Adding a choice on task adds it everywhere, which is rarely what you want. Add choices on the specific table, for example incident, so other task types stay clean.

Practice challenge

+0 XPStreak ×0
Question 1 of 2
Which column drives dependent choice filtering?

Frequently asked questions

A choice disappeared after an upgrade, why?
Out of box choices are replaced during upgrade if you edited them in place. Deactivate the shipped choice and add your own record instead of editing the original.
How do I retire a value without breaking history?
Set the choice to Inactive. Existing records keep the value and reports still resolve the label, but new records cannot select it.
Already working on ServiceNow and stuck on a live ticket?Get an expert ServiceNow developer on screen-share to finish your daily tasks with you. Deliver on time, protect your reputation and your job. Monthly support only, no task-wise plans.Task assigned · no idea where to startStill stuck · your job on the lineExpert joins your screenDelivered on timeExplore On Job Support