# Support for Logic Gates (AND/OR Combinations)

**URL:** <https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639>\
**Category:** Feature Requests\
**Created:** [June 21, 2025, 1:31am UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639 "2025-06-21T01:31:04Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Maazsaeed](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/maazsaeed/32/90243_2.png) [@Maazsaeed](https://community.glideapps.com/u/Maazsaeed)\
**Post date:** [June 21, 2025, 1:31am UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/1 "2025-06-21T01:31:04Z")

</div>

I would like to request support for **mixed AND/OR logic**

At the moment, Glide allows you to build a group of either:

- All AND conditions
- Or all OR conditions

But there is no way to **combine AND and OR inside the same condition block** — unless you build computed columns as workarounds.

* * *

**Example of current limitation:**  
I want to show items when:

```auto
(Category is "B" OR Category is "C") AND Supplier is "D"

```

This type of logic is not possible directly in Glide today — you would have to precompute columns for each sub-condition, or duplicate screens. This gets very cumbersome as the app grows.

* * *

**Why this matters:**  
✅ Many real-world conditions require mixed AND/OR logic  
✅ Reduces the need for workarounds with computed columns  
✅ Saves screen duplication  
✅ Allows business users to model their processes more naturally  
✅ Common in many filter engines and UI builders

* * *

**Workarounds do exist** (using multiple columns with IF/Else or template columns), but true built-in support for this would dramatically improve Glide’s expressiveness and reduce complexity in larger apps.

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [June 21, 2025, 2:37am UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/2 "2025-06-21T02:37:31Z")

</div>

> [@Maazsaeed](#):
>
> I want to show items when:
> 
> ```auto
> (Category is "B" OR Category is "C") AND Supplier is "D"
> 
> ```
> 
> This type of logic is not possible directly in Glide today

Yes it is. You just need to approach things a bit differently. Observe:

- If Supplier is not D, then `null`
- If Category is B, then `true`
- If Category is C, then `true`

That said, see below:

> [@Better and more consistent IF THEN logic](https://community.glideapps.com/t/better-and-more-consistent-if-then-logic/24317/1):
>
> I’ve spent the past few days trying to work out some IF/THEN logic for a side project. The problem is that this is something I could have worked out in a matter of a few minutes with actual code. I’m running into several limitations with the current IF/THEN logic we currently have in Glide. First of all there are inconsistencies between what’s possible with an IF/THEN column, and what’s possible with If/Then logic in visibility conditions or actions. Most importantly, an IF/THEN column only…

---

<div class="post-metadata">

**Author:** ![Maazsaeed](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/maazsaeed/32/90243_2.png) [@Maazsaeed](https://community.glideapps.com/u/Maazsaeed)\
**Post date:** [June 21, 2025, 2:51am UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/3 "2025-06-21T02:51:27Z")

</div>

Yes, it is possible but it is a workaround not a built-in feature. I was just saying that if that would be a built-in feature it would be much cooler.

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [June 21, 2025, 2:52am UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/4 "2025-06-21T02:52:25Z")

</div>

Why do you consider my example a workaround?  
I don’t.

---

<div class="post-metadata">

**Author:** ![Mazen](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mazen/32/84042_2.png) [@Mazen](https://community.glideapps.com/u/Mazen)\
**Post date:** [June 21, 2025, 3:54am UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/5 "2025-06-21T03:54:44Z")

</div>

It’s a solution for his problem, but it would be nice if Glide’s native filters were a bit more advanced. I’ve worked with systems built in 2009 and had this feature, and I’m sure that it would help and be used in hundreds, if not thousands, of apps.

---

<div class="post-metadata">

**Author:** ![Maazsaeed](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/maazsaeed/32/90243_2.png) [@Maazsaeed](https://community.glideapps.com/u/Maazsaeed)\
**Post date:** [June 21, 2025, 3:54am UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/6 "2025-06-21T03:54:54Z")

</div>

I am sorry if my words were not the best, your solution is great sir

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [June 21, 2025, 4:07am UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/7 "2025-06-21T04:07:09Z")

</div>

I don’t disagree with the feature request, in fact I voted for it (although it probably should be merged into Jeffs original feature request, so the votes aren’t diluted).

The point I was trying to make (not very well) is that the native if-then-else column is a lot more powerful than it might appear. And it is in fact possible to create quite complex matching logic within a single column.

---

<div class="post-metadata">

**Author:** ![Mazen](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mazen/32/84042_2.png) [@Mazen](https://community.glideapps.com/u/Mazen)\
**Post date:** [June 21, 2025, 2:01pm UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/8 "2025-06-21T14:01:45Z")

</div>

I do agree on merging it.

---

<div class="post-metadata">

**Author:** ![Maazsaeed](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/maazsaeed/32/90243_2.png) [@Maazsaeed](https://community.glideapps.com/u/Maazsaeed)\
**Post date:** [June 21, 2025, 2:02pm UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/9 "2025-06-21T14:02:21Z")

</div>

Thank you

---

<div class="post-metadata">

**Author:** ![Maazsaeed](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/maazsaeed/32/90243_2.png) [@Maazsaeed](https://community.glideapps.com/u/Maazsaeed)\
**Post date:** [June 21, 2025, 2:02pm UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/10 "2025-06-21T14:02:44Z")

</div>

Thanks

---

<div class="post-metadata">

**Author:** ![gvalero](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gvalero/32/1037_2.png) [@gvalero](https://community.glideapps.com/u/gvalero)\
**Post date:** [June 22, 2025, 3:24pm UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/11 "2025-06-22T15:24:39Z")

</div>

> [@Maazsaeed](#):
>
> **Example of current limitation:**  
> I want to show items when:
> 
> ```auto
> (Category is "B" OR Category is "C") AND Supplier is "D"
> 
> ```
> 
> This type of logic is not possible directly in Glide today — you would have to precompute columns for each sub-condition, or duplicate screens. This gets very cumbersome as the app grows.

Hola!

Here we talked about this topic and the workaround as well [Filtering data with AND and OR - #7 by gvalero](https://community.glideapps.com/t/filtering-data-with-and-and-or/78503/7)

---

<div class="post-metadata">

**Author:** ![MattLB](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mattlb/32/41284_2.png) [@MattLB](https://community.glideapps.com/u/MattLB)\
**Post date:** [July 6, 2025, 2:25am UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/12 "2025-07-06T02:25:55Z")

</div>

Hard to believe I had not voted for Jeff’s FR. Voted for both.

---

<div class="post-metadata">

**Author:** ![Sean\_Page](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sean_page/32/77424_2.png) [@Sean\_Page](https://community.glideapps.com/u/Sean_Page)\
**Post date:** [June 18, 2026, 9:28pm UTC](https://community.glideapps.com/t/support-for-logic-gates-and-or-combinations/82639/13 "2026-06-18T21:28:18Z")

</div>

One way I have done this is by using a query column for initial filtering, then doing additional filtering in the component. It doesn’t always get you there, but a lot further than just the component on it’s own.
