Why does only 30 Scheduled Workflows on a List run at a time?




After running a task on a custom state that holds 40 database entries and setting their status to “Queued,” I immediately trigger a Scheduled Workflow on a List. The first step of the backend workflow updates each entry to “In-Progress,” but only 30 change right away. The rest remain in “Queued” until a slot becomes available, which can sometimes take 2 to 3 minutes.

Also, even more crucial to my app, this limit doesn’t apply per user, it’s shared across the entire app. So if multiple users are each running tasks (even small ones with 5–10 items), they all compete for the same 30-slot queue and slow each other down.

Can someone tell me if I’m doing something wrong or is this expected behavior in Bubble?

This is really weired i am seeing first tiem, maybe because i always add Intervel (seconds) so my workflwos triger 1 seconds apart.

and the bottom note suggest, if you leave that empty bubble will automaticly use recommended flow.

**So can you add 1 seconds there and see if all workflow get trigger 1 seconds apart form each other **

Yes, I tested with 1 and 2 second intervals. The limit still applies. In this case, items get scheduled one by one, but once the 30th item is reached, the rest stay in the queue. I also tested using a recursive “Schedule a Workflow,” and that hits the same 30 limit as well.

Others can still schedule workflows while it’s working through the list one by one, as long as it hasn’t hit the 30th item yet, but once that limit is reached, everything else goes into the queue.

I also confirmed that, all users and all “Schedule a Workflow” actions across the app share the same queue. So even if someone else schedules a completely different workflow, it still counts toward that shared 30-slot limit. This is so weird.

Might be the limit for run away workflows. I forget what it’s called but in settings we can set how many runs a recursive flow can go until bubble will stop it. If that is set to 30, it might explain it and lead to it being a bug affecting schedule on list because it is not supposed to.

Yes so i did check there for the infinite recursion protection settings, mine is set to no limit.

1 Like

Is the rest remain in “Queued” by design, or is that the issue?

That’s the issue, originally, the Queued state was cosmetic and just meant to flash by and immediately switch to In-Progress, but I was surprised to see some of them actually stop there.

Is the RG source that shows the status the ‘editors SelectedItems’?

Yes, the RG source is editor’s SelectedItems. It’s a custom state linked to the page.

I’m not sure what it might be then or how to resolve without being in the editor and taking a deep dive. Definitely seems odd, but because it seems to be always the same number of 30, it could be a bug. I’d recommend reaching out to support and reporting a bug unless somebody else on the forum knows what it is.

Alright, I’ve submitted a bug report. I’ll be back here tomorrow if there’s no resolution by then and I’ll reach out to coordinate a time that works for you to take a look. If nothing works out, I’ll probably move the logic to n8n, have it send an immediate response, and let it continue processing in the background before reconnecting with the final result.

1 Like

I ended up recreating the issue for the Bubble team in a separate app since my main one had too many other processes involved while running.

Here’s the test app: https://rate-test.bubbleapps.io/version-test/thread?debug_mode=true
It’s editable, and anyone can view and test the issue directly.

I set up a page showing a list of Threads, each with three fields: input, status, and output.

Clicking Calculate adds 1 to the input for all selected items.

There’s a 5-second delay in the backend workflow to simulate a ChatGPT call before updating the output.

As expected, only 30 items change from “Queued” to “In-Progress” at first. Once those complete, the remaining items start processing.

Link to the editor: