# Search functionality in UiPath Solution Apps using Query Builder

**URL:** <https://forum.uipath.com/t/search-functionality-in-uipath-solution-apps-using-query-builder/5774133>\
**Category:** Studio Web\
**Tags:** question, apps\
**Created:** [September 2, 2026, 6:25am UTC](https://forum.uipath.com/t/search-functionality-in-uipath-solution-apps-using-query-builder/5774133 "2026-09-02T06:25:31Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shreeya\_Joshi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/shreeya_joshi/32/562239_2.png) [@Shreeya\_Joshi](https://forum.uipath.com/u/Shreeya_Joshi)\
**Post date:** [September 2, 2026, 6:25am UTC](https://forum.uipath.com/t/search-functionality-in-uipath-solution-apps-using-query-builder/5774133/1 "2026-09-02T06:25:31Z")

</div>

Hi Team,  
We are building a search functionality in **UiPath Solution Apps** using Query Builder and are facing an issue when applying multiple filter conditions to a Custom List.  
Currently, the filter works as expected when we use a single field. It also works when we combine **Patient Name + Claim Number**. However, when we add another condition such as **Submitter Email** , the complete filter stops working as expected.  
Our requirement is to allow users to enter values in multiple search fields and return the **complete matching records** in the Custom List. The search fields include:

- ID
- Patient Name
- Claim #
- Submitter Email
- Status (Dropdown)
- DoB (Date Picker)
- Submitted Start Date / End Date (Date Pickers)
- Date of Service (Date Picker)

We have already tried the **AND/OR filtering approach** , but we are still facing issues when multiple fields are included.  
Could someone please advise on the **recommended Query Builder approach** for handling multiple optional filters, especially when combining _TextBox, Dropdown, and Date Picker_\* fields?  
Any example expression or guidance on how to structure these conditions would be really helpful.

Thanks!

 ![Query -1](https://global.discourse-cdn.com/uipath/original/4X/d/c/0/dc02880e85dc589937e642bc0116ea5b577a84ca.jpeg)

---

<div class="post-metadata">

**Author:** ![Monali\_Vekariya](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/monali_vekariya/32/264397_2.png) [@Monali\_Vekariya](https://forum.uipath.com/u/Monali_Vekariya)\
**Post date:** [September 2, 2026, 6:45am UTC](https://forum.uipath.com/t/search-functionality-in-uipath-solution-apps-using-query-builder/5774133/2 "2026-09-02T06:45:18Z")

</div>

Hi @Shreeya_Joshi

For this scenario, I would recommend using AND conditions, but only applying a filter when the corresponding search field has a value.

For example:

Patient Name → contains → Patient Name control  
Claim # → contains → Claim control  
Submitter Email → contains → Email control  
Status → = → Status dropdown  
DoB → = → DoB picker  
Submitted Start Date → \>=  
Submitted End Date → \<=

The important part is to use an If condition so that an empty control does not add a filter. Otherwise, when multiple conditions are added, the empty field can cause the query to return no results.

Also, from the screenshot, I would first check that PatientName, Claim and SubmitterEmail are actually pointing to their respective controls. They appear to reference the same control in the screenshot.

So the approach would be: only add populated filters → combine them using AND → bind the result to the Custom List.

This should allow users to enter any combination of search criteria and get the matching records.

---

<div class="post-metadata">

**Author:** ![Dhruba\_Jyoti\_Kalita](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/dhruba_jyoti_kalita/32/571419_2.png) [@Dhruba\_Jyoti\_Kalita](https://forum.uipath.com/u/Dhruba_Jyoti_Kalita)\
**Post date:** [September 2, 2026, 6:56am UTC](https://forum.uipath.com/t/search-functionality-in-uipath-solution-apps-using-query-builder/5774133/3 "2026-09-02T06:56:37Z")

</div>

@Shreeya_Joshi think the main issue is not AND/OR itself, but how the optional fields are handled.

If you use **All (AND)** and one of the controls is blank, that blank value may still become part of the query condition and then you can get no result.

I would suggest checking it step by step:

1. First validate each filter individually — Patient Name, Claim, Submitter Email.
2. Then combine Patient Name + Claim using **AND**.
3. Then add Submitter Email and verify that each condition is mapped to the correct textbox. From the screenshot, the expressions look very similar, so please double-check this.
4. For optional fields, apply the condition only when the user has entered/selected a value.
5. For dates, use proper comparison instead of `contains`:
  - DOB = selected date
  - Submitted Date \>= Start Date
  - Submitted Date \<= End Date
  - Date of Service = selected date

The expected logic should be something like:

If Patient Name has value → apply PatientName filter  
If Claim has value → apply Claim filter  
If Email has value → apply SubmitterEmail filter  
If Status selected → apply Status filter  
If DOB selected → apply DOB filter Then combine only the active conditions using **AND**.

---

<div class="post-metadata">

**Author:** ![Jasmin\_Bar](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/jasmin_bar/32/498877_2.png) [@Jasmin\_Bar](https://forum.uipath.com/u/Jasmin_Bar)\
**Post date:** [September 2, 2026, 7:00am UTC](https://forum.uipath.com/t/search-functionality-in-uipath-solution-apps-using-query-builder/5774133/4 "2026-09-02T07:00:26Z")

</div>

Hi @Shreeya_Joshi ,  
Use **optional filters** in Query Builder. Each condition should only be applied when the corresponding control has a value.

### For Date Ranges

Use conditions like:

(SubmittedStartDate is empty OR SubmittedDate \>= SubmittedStartDate)  
AND  
(SubmittedEndDate is empty OR SubmittedDate \<= SubmittedEndDate)

### Best Practice

- Combine all filters with **AND**.
- Make every filter **optional** by checking whether the control value is empty/null first.
- Use **Contains** for text fields (Patient Name, Claim #, Email).
- Use **Equals** for dropdowns and exact dates.
- Test by adding one filter at a time and verify the value being passed from each control.

This way users can fill any combination of fields, and the Custom List will return only the records matching the populated filters while ignoring blank search fields.

Thanks

---

<div class="post-metadata">

**Author:** ![Shreeya\_Joshi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/shreeya_joshi/32/562239_2.png) [@Shreeya\_Joshi](https://forum.uipath.com/u/Shreeya_Joshi)\
**Post date:** [September 2, 2026, 7:34am UTC](https://forum.uipath.com/t/search-functionality-in-uipath-solution-apps-using-query-builder/5774133/5 "2026-09-02T07:34:29Z")

</div>

Hi @Monali_Vekariya  
Thank you for your response! Would it be okay if we connect?

---

<div class="post-metadata">

**Author:** ![Shreeya\_Joshi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/shreeya_joshi/32/562239_2.png) [@Shreeya\_Joshi](https://forum.uipath.com/u/Shreeya_Joshi)\
**Post date:** [September 2, 2026, 7:41am UTC](https://forum.uipath.com/t/search-functionality-in-uipath-solution-apps-using-query-builder/5774133/6 "2026-09-02T07:41:57Z")

</div>

Hi @Dhruba_Jyoti_Kalita  
Thank you for your response! Would it be okay if we connect?
