# Loops and limitations

**URL:** <https://community.glideapps.com/t/loops-and-limitations/83408>\
**Category:** Ask for Help\
**Created:** [July 24, 2025, 5:29am UTC](https://community.glideapps.com/t/loops-and-limitations/83408 "2025-07-24T05:29:07Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![SageCat](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sagecat/32/85273_2.png) [@SageCat](https://community.glideapps.com/u/SageCat)\
**Post date:** [July 24, 2025, 5:29am UTC](https://community.glideapps.com/t/loops-and-limitations/83408/1 "2025-07-24T05:29:07Z")

</div>

Hi all… so I’m now a paid Glide user - woooo…

… and I’m looking at making my first scheduled workflow. Basically I want all rows in a table searched and do the below action but it appears that the limit is 1000 rows… how would I approach this then given my table is more than 1000 rows of data?

For each animal in the animal table that is does not have a status of adopted or deceased, it needs to look up the medical table (which is more than 1000 rows) and find that animal’s most recent worming date. If the date is greater than 30 days, it then needs to send an email to the Foster Coordinator (which is in the user table) for that animals organisation (as organisation is the row owner for all tables).

Am I stuffed because of the 1000 row limit? Surely many tables have more than 1000 rows of data? Or am I confused about something?

---

<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:** [July 24, 2025, 5:44am UTC](https://community.glideapps.com/t/loops-and-limitations/83408/2 "2025-07-24T05:44:29Z")

</div>

Use filters and queries so that you only process the rows that need processing.

---

<div class="post-metadata">

**Author:** ![SageCat](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sagecat/32/85273_2.png) [@SageCat](https://community.glideapps.com/u/SageCat)\
**Post date:** [July 24, 2025, 5:50am UTC](https://community.glideapps.com/t/loops-and-limitations/83408/3 "2025-07-24T05:50:34Z")

</div>

ok, so would it be best practice to create a helper table to do all this and then run the loop on the helper table?

I’m just doing a search now for some guides on how to setup loops within Glide as this is a new step for me to master 😹

---

<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:** [July 24, 2025, 7:47am UTC](https://community.glideapps.com/t/loops-and-limitations/83408/4 "2025-07-24T07:47:40Z")

</div>

No, you don’t need a helper table.

> [@SageCat](#):
>
> For each animal in the animal table that is does not have a status of adopted or deceased,

Start with a Loop that targets your Animals table. Filter that loop to only consider records with the appropriate status.

> [@SageCat](#):
>
> For each animal in the animal table that is does not have a status of adopted or deceased, it needs to look up the medical table (which is more than 1000 rows) and find that animal’s most recent worming date.

- Add a Math column to your Medical table that calculates the Date 30 days ago (`Now-30`)
- Add an if-then-else column  
– If Worming Date is before 30 days ago, then `true`

Now in your workflow use a query within the loop. Target the Medical table. Filter it by Animal ID and where the if-then-else column is checked, and sort it Worming Date descending. If it returns any records, then send the email.

---

<div class="post-metadata">

**Author:** ![SageCat](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sagecat/32/85273_2.png) [@SageCat](https://community.glideapps.com/u/SageCat)\
**Post date:** [July 24, 2025, 8:55am UTC](https://community.glideapps.com/t/loops-and-limitations/83408/5 "2025-07-24T08:55:36Z")

</div>

Thank you for this guidance.

Just a quick question. Do the loops work when you run the test or does it o my ever just do the first loop to show it’s working and you then then to turn the loop on to in fact loop through?

Reason for question is I tried a different loop but where it would email. It said it found 6, which I expected, but I only got one test email.

---

<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:** [July 24, 2025, 8:59am UTC](https://community.glideapps.com/t/loops-and-limitations/83408/6 "2025-07-24T08:59:59Z")

</div>

Can you show me a screenshot of the workflow?

---

<div class="post-metadata">

**Author:** ![SageCat](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sagecat/32/85273_2.png) [@SageCat](https://community.glideapps.com/u/SageCat)\
**Post date:** [July 24, 2025, 9:39am UTC](https://community.glideapps.com/t/loops-and-limitations/83408/7 "2025-07-24T09:39:34Z")

</div>

Actually, disregard… it was my boo-boo and it appears to be working, I think… this was what I thought would be an easier one to have a go of.

One other question if that is ok… I see that it says something like each run is 1 point (I can’t find the exact wording at the moment). Does a “run” mean from start to end regardless of how many loops it has to do, or if it found 6 that met the criteria and sent six emails then that would be 6 points?

---

<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:** [July 24, 2025, 9:46am UTC](https://community.glideapps.com/t/loops-and-limitations/83408/8 "2025-07-24T09:46:43Z")

</div>

Each run is one update, and individual steps may use additional updates.

If you look at an execution run log, you can calculate exactly how many updates were used.

- any step that has a small lightning bolt next to it will incur updates
- the numbers next to each step indicate how many times that step was run

Below is an example:

 ![CleanShot 2025-07-24 at 17.43.01@2x](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/2/5/254e718d0dcd206a039e2f090c75ea686e22884d.jpeg)

In the above example, a total of 5 updates were used.

---

<div class="post-metadata">

**Author:** ![SageCat](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sagecat/32/85273_2.png) [@SageCat](https://community.glideapps.com/u/SageCat)\
**Post date:** [July 24, 2025, 10:42pm UTC](https://community.glideapps.com/t/loops-and-limitations/83408/9 "2025-07-24T22:42:37Z")

</div>

Thank you for this clarification. So in my test where one animal was involved, two updates were used… interestingly, the Set Column Value was a paid update where as in the Free Glide plan that can be used so I assumed it would be free in the paid version too, but obviously not, so good to be aware and not just assume.

Additionally, even when testing and not live, the updates count. So I’ve used 14 of my 500 updates so far. I’m going to need to be very exclusive and careful with updates I think so I don’t go over the 500 per month.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 25, 2025, 12:16am UTC](https://community.glideapps.com/t/loops-and-limitations/83408/10 "2025-07-25T00:16:28Z")

</div>

> [@SageCat](#):
>
> Set Column Value was a paid update where as in the Free Glide plan that can be used so I assumed it would be free in the paid version too, but obviously not, so good to be aware and not just assume.

It’s because you’re using a special workflow here. If you use Set Column Values in an app trigger workflow, it doesn’t count on your plan.

---

<div class="post-metadata">

**Author:** ![SageCat](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/sagecat/32/85273_2.png) [@SageCat](https://community.glideapps.com/u/SageCat)\
**Post date:** [July 25, 2025, 1:02am UTC](https://community.glideapps.com/t/loops-and-limitations/83408/11 "2025-07-25T01:02:23Z")

</div>

Ahh ok. Thank you for clarifying 😺
