Improve Performance of Dual List Component in Forms
Ramon Schouten
Currently, when using a form that loads on-prem Active Directory data with a large number of records (experienced at around 6,500 and around 9,000–10,000), the dual list component becomes extremely slow and unresponsive. In many cases, the browser freezes or crashes completely. This makes the form very frustrating to use and nearly unusable in practice.
The issue seems specific to the dual list element. The same datasource works fine when displayed in a grid, so the problem appears to be related to how the dual list handles large datasets rather than the PowerShell data source itself.
Suggested Improvement:
- Optimize the dual list component to handle large datasets more efficiently.
- Consider adding pagination, lazy loading, or search-based loading to limit the data processed at once.
- Alternatively, provide guidance or a built-in control better suited for large collections.
Benefit
- Makes forms usable again for larger datasets
- Prevents browser freezes and crashes.
- Improves overall form performance and user experience in Service Automation.
M
Michiel van der Veeken
Ramon Schouten  Thank you for your feedback. The Dual List is the most complex component we offer in our forms. It consists of two lists with various logic applied. For example, preventing items on the right side from being added again from the left side. This requires some processing time in the browser and can have a significant impact when working with large datasets.
That’s why we’ve set performance limits, which are documented on our docs page. Have you already reviewed these and tried reducing the size of your dataset? You might also consider filtering or scoping the data beforehand.
https://docs.helloid.com/en/service-automation/performance-limits--service-automation-.html#data-source-output
Ramon Schouten
Michiel van der Veeken
The dataset we’re using should be below the documented 2 MB limit. According to the example in the docs, 9,000 user accounts with 7 attributes come to about 2 MB. In our case, it’s roughly 6,500 groups with only 2 attributes each, so it should be well within that range.
We’ve also looked into filtering, but that’s not really an option here since this form is meant to manage all groups in the AD.
The current workaround we can think of is replacing the Dual List with two multiselect grids, but that would be a pity since the Dual List offers such a clean and user-friendly interface. It would be great if it could handle this type of dataset a bit more efficiently.
