How to allow selecting multiple reference records at once in a List field?

vimaljain
Tera Contributor

I have a custom table with a field of type List that references the Core State table. The field correctly stores multiple states, but users have to add states one at a time through the reference lookup.

Is there a way to render this field as a modern multi-select/tag-picker or List Collector style UI on a standard form, allowing users to search and select multiple states in a single interaction?

Current setup:

  • Field Type: List
  • Reference Table: Core State
  • UI: Standard form (not Service Catalog)

Looking for out-of-box options, field attributes, Workspace components, or best practices to improve the user experience.

3 REPLIES 3

Vikram Reddy
Tera Guru

Hey @vimaljain,

 

the good news is your List field already has this built in, you're just not seeing the right icon yet. A List type field (glide_list under the hood, same type as watch_list on task) ships with a dual-column slushbucket picker: an available column and a selected column with arrows to move records between them, exactly the multi-select experience you're describing. That's triggered by the Add/Remove Multiple icon next to the field, which is a different icon from the plain magnifying-glass reference lookup that adds one record at a time.

If your users only ever see the single-add lookup icon, a few things to check:

  • New record: the Add/Remove Multiple icon does not render on an unsaved record, it only appears after the record has been saved at least once. This is a known limitation, so if your users are populating the field before the first save, they'll only get the one-at-a-time lookup.
  • Form view override: confirm nothing in your form design or a UI Policy is swapping the field's render style or hiding the icon conditionally.
  • Field type drift: double check the dictionary entry is still Type List pointing at cmn_location... in your case Core State, and hasn't been re-typed or wrapped by a custom widget.

One thing worth clearing up since you mentioned it: List Collector is a Service Catalog variable type, it only exists on catalog items and record producers, not on plain table fields on a standard form. So it isn't an option here, but you don't need it, the List field's built-in slushbucket is the platform-native equivalent for this exact scenario. There's no separate attribute or plugin to turn on, it's the default rendering for glide_list once the record exists.

For Workspace/UX forms specifically, I'd test this field there directly before rolling it out. List/glide_list fields have historically had spottier support outside classic UI, so if your users work primarily in a Workspace, verify the slushbucket actually renders there rather than assuming parity with the classic form.

 

Thank you,
Vikram Karety
Octigo Solutions INC

vijaydodla
Giga Guru

Hello @vimaljain  -

Standard forms in the Classic UI (UI16) handle List (GlideList) fields differently than Service Catalog variables. While you cannot natively render a standard field as an inline "List Collector" directly on the form, there are built-in features and modern UI options that address your requirement for selecting multiple items in a single interaction.

 

Here are the out-of-the-box options, behaviors, and best practices for improving this user experience:

1. The Native Slushbucket (Classic UI / UI16)

Users do not actually have to add items one at a time via the magnifying glass. The List field natively includes a Slushbucket (dual-column picker) for bulk selection, but it comes with a specific condition:

  • How to use it: When the field is unlocked, users can click the "Add/Remove multiple" icon (located next to the magnifying glass). This opens a slushbucket where they can search, filter, and move multiple States from the "Available" to the "Selected" column in a single interaction.
  • The "New Record" Limitation: The reason your users might be missing this is that the slushbucket icon does not appear on new, unsaved records. The record must be saved at least once for the platform to generate the full multi-select lookup interface.

2. Next Experience / Configurable Workspace (Modern UI)

If you are looking for a true modern multi-select/tag-picker experience, this is natively resolved in ServiceNow Workspaces (Next Experience UI).

  • In Workspaces, List fields automatically render as a modern dropdown tag-picker.
  • Users can click the field, type to search, and check multiple boxes in a single dropdown interaction without opening a separate window or slushbucket. The selected items immediately render as pills/tags.
  • Best Practice: If your organization is migrating to Next Experience, no configuration is needed; the UI upgrade automatically applies this modern component to all List fields.

3. Using List Collector

The "List Collector" UI (where the slushbucket is permanently visible directly on the form) is a Variable type exclusive to the Service Catalog and Record Producers.

  • There is no dictionary attribute (like glide_list used in reverse for catalog items) to force a standard table field to render as an inline List Collector in UI16.
  • Custom Alternative: If a modern inline tag-picker is a strict requirement in the Classic UI, a developer would have to create a custom UI Macro (using HTML/Jelly) and add it to the form as a Formatter. However, this is generally discouraged as it adds technical debt and maintenance overhead.

My Recommendation

For the best out-of-the-box experience, educate users to use the "Add/Remove multiple" slushbucket icon on existing records in the Classic UI. If a modern, single-interaction tag-picker is critical, viewing the record through a Workspace is the platform's intended solution.

 

Please mark the post Solution Accepted if it works for you. 

Ankur Bawiskar
Tera Patron

@vimaljain 

it should come by default just like watch list field on incident has that

AnkurBawiskar_0-1785220166875.png

Note: It comes only on existing record and not on new record as per this KB0540964 

💡 If my response helped, please mark it as correct and close the thread 🔒— this helps future readers find the solution faster! 🙏

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader