Integrated Search Component
Search is one of those things users expect to just work. Type something in a search box, and the list updates. The expectation is simple, but the implementation often isn't: the search input needs to be wired to the data source, results need to update as you type, and the experience needs to be fast enough to feel responsive.
The integrated search component handles all of this automatically.
Search Any List
Any list component can be made searchable by enabling the search option in the builder. A search input appears above the list. As the user types, the list updates to show only matching records. No additional configuration required.
The search operates across the fields marked as searchable in the object's field definitions. By default, text and name fields are searchable. You can expand or narrow the set of searchable fields through field configuration.
Immediate Feedback
Results update as the user types, after a short debounce to avoid triggering a search on every individual keystroke. The list doesn't flicker — it smoothly transitions from the full result set to the filtered result set. If no records match, a clear empty state message indicates the search found nothing.
The debounce interval is short enough to feel responsive without generating unnecessary load from incomplete search terms.
Works with Filters
Search and filter controls coexist naturally. Active filters narrow the result set; search further narrows within that filtered set. A user can filter to "Open" status records and then search for a specific company name — the results reflect both constraints simultaneously.
Clearing the search returns to the filtered result set. Clearing filters returns to the full result set. The controls are independent and cumulative.
Searchable in Any Context
The search component isn't limited to standalone list pages. It works in modal list views, in embedded sub-lists on detail pages, and in relation selectors where you're picking a linked record. Wherever a list appears, the search experience is consistent.
Relation selectors — the dropdowns you use to link records to each other — use the same search infrastructure. Type to filter available options; the list of selectable records updates immediately. For objects with many records, this makes selecting the right one fast and intuitive.
Performance at Scale
Search performance doesn't degrade as data grows. The platform applies search operations efficiently, using indexed fields where available. For large datasets, only the visible page of results is fetched and rendered, while the total count reflects the full matching set. Searching through tens of thousands of records returns results quickly.