List Shifter: Reverse, Rotate, Swap and ITERATE (Loop) Over Bubble Lists | Now Part of Floppy

Watch this space: My new plugin List Shifter, which provides several utility features for dealing with any type of Bubble list, is coming to the plugin store. But more than this, List Shifter includes my high-performance ITERATE feature previously only available in Calendar Grid Pro.

You can iterate (loop) over any Bubble list, executing a workflow for each item. This unlocks massive amounts of power previously unavailable in Bubble. More details and videos to come.

I’m doing an experiment with this one: List Shifter will be released as a “free” plugin available to anyone. But it’s “Karma-Ware” – pay what it’s worth to you at GRUPZ: Karma-Ware Plugins for Bubble

List Shifter is available here: Plugins | Bubble

Video still to come. (I wouldn’t try using it without a little introductory briefing!)


First of all: Quit smoking ffs! :slight_smile:

Second: Nice work! I’ve seen a request for lists pop up several times in the forum -> Retrieve -nth item in reverse order from a list of unknown items. I’m guessing reversing the list and selecting -nth item will do the trick.

Third: Maybe consider paypal? Less friction.


Don’t want to hack the thread but isn’t this already available as ‘list processor’ element in Utilities (bdk) plugin. I’m curious how’s this one different? Also the inverting / changing order etc via Transform list element in the same plugin.


Hey @gaurav: I didn’t realize that anyone else had figured out how you do that trick! I have a thing called Iterator that’s an even more generic approach, but hadn’t published it, and then I used that technique in CG Pro.

I built List Shifter in response to another thread about reversing loops. It started as just a simple reverser and, well, ended up being a lot more and then I was like… welp, might as well add an iterator to it.

I suspect our approaches work the same way (as I’m pretty sure there’s one-and-only-one way to communicate between a plugin element and a Bubble workflow)…


Nice work @keith

Interested to try out, but holding out for a video run through if possible, before I break something :wink:

1 Like

So does the “Lift Shifter” act as some form of substitute for Bubble’s native workflows and/or api workflows?

I’ll definitely need some explanation on how the iterate on list works :grin:

1 Like

I am assuming the following checking the code.

  1. You place the element on page and set the list you want to work with.
  2. Then in the WF system you add an action to start the iteration on the element’s list
  3. Use the List Shifter event iterate.
  4. Do stuff!

The plugin will fire that event per element on the list.


Yes, this is correct. Apologies that I’ve not yet been able to make a groovy video about List Shifter! Been a busy couple of weeks that have taken me away from side-Bubbling for a moment…


BTW, it’s kind of self-documenting as well. If you fire the Iterate event, but have no iterate workflow defined, the plugin reports this to the debugger.


Can someone provide a working example? I’ve been unable to do so… it always complains that the list is empty.

List Shifter 1.2 is available. Have to apologize as I think v1.0 was borked on arrival.

ALSO: Getting round to video demos. Here are introductory videos. I’ll get to some of the FANCY stuff this evening.


Building an admin interface (setup):

Basics of List Shifter: reverse, rotate, etc.

Shifting item positions:

Utility functions (selected items, iteration) coming later…


Continuing on… List Shifter: The selected state:


@keith Appreciate the video guides, helpful stuff to get started. Let me know when the new store is launching, get me some quality child repellent :wink:

I’ve been using a drag n drop type system on an app with property photos and as nice as it is, it can be buggy when used in quick succession to change the order of photos. I’ve found the List Shifter to work quite nicely for this, so will probably switch to something like



Hi Keith,

I can’t iterate over a list of texts. Is this expected?



Maybe it’s my karma? :wink:

1 Like

Hey @JonL sorry this isn’t working for you. And apologies that I’ve not finished that part of the tutorial vids. Maybe I get there tonight…

Hey @luke2, this is exactly what I’ve been working on for List Shifter V2… making it REAL easy to do drag and drop. Of course, it’s not easy to make a hard thing really easy, so there’s a bit of R&D involved in it still. “Coming Soon-ish” though…


That would be a great move and a nice fusion between the list storing functionality. Yes sounds like a challenge for sure.

Any testing needed, just give me a shout.

You might have noticed (though I’ve not demoed this yet) that not only does List Shifter track “Selected”, but it outputs a list of the LAST TWO selected items. This gives an easy way to swap 2 items, of course.

My goal with V2 is to do something similar with drag/drop groups in a targeted RG.


A quick demo on ITERATION with List Shifter Pro. Apologies for the delay in getting this out. Even though there is some weirdness with audio (Loom decided to screw with my sample rate and so my voice gets crazy deep a couple minutes in), this is still instructive.

So here ya go, basics of looping over a list with List Shifter: