Repeating Group - Creating a Property Features/Amenities List for a Property Listing

Hi Keith,

Had a crack at this over Sunday but still slightly puzzled as to the logic of adding or removing a feature and also displaying to the user a checkbox of a already selected entry in there list of amenities. If you could share a video or even some screenshots that would be excellent.


Hey Luke,

Will do a quick one this AM. There’s a lot to cover here, but this general concept is very important. Will put something up here this morning.

Best Regards,

And ha ha, this turned out not to be a quick video but a mega-video. Uploading now. Covers a lot of cool stuff but may make your head explode. Hopefully it’ll be helpful instead. … Video will be posted here shortly.


Here’s a pretty comprehensive video about how I do this (and why you should, too). Also teaches you how to make custom checkbox type behaviors and on/off indicators and a lot of other stuff!

Hope this helps, @luke2!


Wow, thanks so much for this video - just started going through this now, but didnt expect an hour plus long guide/walkthrough. Huge thanks for taking the time to help a fellow bubbler (and anyone else who might stumble upon the same logic requred) :+1:


Well, these techniques are useful over and over again. Like for user roles in your app, regional settings, user preferences, etc.!

You’ll also use a similar technique (without having to predefine room types in advance) for things like bedrooms. (E.g., Bedroom should be a data type, as should Bed. Listings should have a list of Bedrooms, Bedrooms should have a list of Beds.)


Thanks again for the walkthrough on the video, have gone through it and the logic all making sense now.

Using the ‘Terminate this workflow’ is a handy one, never looked at it from that angle, its where I slipped up with regards to adding or removing that amenity from the list. Also the repeating group within a repeating group for the category is some clever stuff - I’ll need to put this to use with the bedrooms section e.g what type of beds are available within each bedroom.

The Amenity description was useful as I will follow something similar to this, probably will go the auto-binding route as well, as its more user friendly then a mini save button I guess.

Not sure if this would helps, but for the question mark for revealing the group of amenity descriptions, instead of states it could be leaner to use the Toogle workflow to the collapsible group:

Cheers Keith,


1 Like

Hey Luke,

Well damn, I never noticed collapsible groups had that property/action! DERP!

(I’ve not seen anyone point it out before… yeesh.)

And yeah once you design your method for handling customized descriptions, you don’t need a button in your UI. I was just figuring out in real time how one might design the data model and interface for those.


Hi Keith,

Yes I was in the same boat, never noticed it but handy to save on those yes/no states :wink:

Good point, I agree - more seamless without the actions on buttons, good old auto-binding.

Just a side note, not sure if you have come across using Stripe subscriptions models (with the Bubble Stripe plugin), such as the listing site you are working on? As I posted a question not too long ago, but haven’t had any joy yet.

Post here - if you have any thoughts it would be much appreciated:


Hey Luke,

Sorry, didn’t see your reply but just noticed it now. So, simplest thing seems to be to create the Product as a recurring subscription type thing in Stripe. Since you’ll know what people signed up for, there’s nothing keeping you from sending reminders or whatnot.

I’ve not fully built this out yet so don’t have any tips in terms of potential gotchas.

Best regards,

@keith this video literally just saved me a mountain of grief. thanks so much for putting it together.

1 Like

Sorry it’s so unrehearsed! I should probably redo this one at some point. Also, as Luke pointed out, there’s a point at which I could have simply toggled an element’s visibility with the “Toggle” action and it would simplify things a touch.

However, this is still exactly the approach I use to manage large numbers of Boolean states!

I need to allow users to make a list of items they need for a type of gift registry. And then gifters to be able to chose and check off items. How do I do this?

Hi @keith ,

First of all I would like to thank you for putting so much effort (evidently) into the video. It’s a rarity to see someone taking time out of their day to actually produce a step by step guide on resolving issues that are usually explained in a vague and inexplicit way.

I know my issue is probably a simple one to solve, however, as a newbie I can’t get my head around it and have literally followed every step in your video. Below are some screenshots of my workings, which like I said are exactly mirrored to your video. I can provide you access to my application if you need a more in depth look but I’ve literally spent the past 4 hours baffled as to why I can’t get it working.

Looking forward to your reply.
Kind regards,

So, at a very basic level: If that circled thing in your first screenshot is the circled thing in your fourth screenshot (which I think it is, right?):

  1. The fact that it shows no Amenitys means that Parent Group’s Property’s Amenity List (your source for that RG) is either (a) empty or (b) is not empty but permissions are such that no items can be seen (i.e., privacy rules are blocking access).

So… are there really any Amenitys in that Property’s Amenity List? I’m guessing that you’re showing that workflow in the third screenshot because this is where you add and subtract amenities. The thing to check here is:

Does step 1 (where I’m assuming the add step is) actually execute? And further, does step 2 really terminate the workflow? Because of course if we add an amenity in step 1 and then remove it in step 3, the net effect is you’ve just zeroed out the amenity list, right?

One aside: It’s not clear to me why your Amenity data type has a list of Amenitys on it? Did I suggest doing that? (An Amenity might have a list of Amenity OPTIONS on it, but I fail to see why an Amenity would reference other Amenitys…

Best Regards,

Of course the other thing that folks sometimes do is look at the wrong test page…

Your app of course has two databases – for live and test. You should of course be looking at your /version-test page, not your live page while developing this.

Aside: Do note that all of those Amenitys you are creating in dev mode will need to be migrated to the Live database at some point. (You do that very carefully in the Data tab of your app, ensuring that you are only copying that specific data type to Live. Of course, if you’ve never deployed your app to Live this isn’t an issue and you can [and I say should] just blast the whole dev database over to Live so that you have identical starting places (and test users and blah blah blah).

Hey @jamesbond, that’s exactly what I show in that video. As I said 2 replies up, if you are having difficulty adding a single amenity to the property’s list of amenities, the place to look would be your workflow where you do that.

You may want to simplify things for minute. Nuke that simple workflow and build it again. First, just get it to add an amenity. Once you have them being added, get the remove part working.

Again, this can be tricky the way I might have showed it. As, if you don’t get the logic right, adding an amenity will instantly remove it ya know? (Alternatively you can just have 2 different workflows that fire on slightly different conditions, right?

Your screenshots previously do not show the info needed to tell you exactly where your error is.

Hi @keith

You were absolutely right hahaha (my bad) - there was a conflict in my workflows. Also, just in case anyone else is trying to do something similar to me, here is my



:point_up: not my best work, but a classic on building a list of amenities in Bubble: #lockdownandlearnwithkeith

Hi Keith… It’s been more than two years since you put up that explainer video, and it’s still helping beginners (like myself) to wrap their heads around how things work in Bubble. I also followed the rest of your videos on Vimeo and I must say that your channel is a treasure box. Have you created/plan to create a Bubble course that we could purchase to learn intermediate to/or advanced Bubble development? If not, please do as most courses out there are either not in-depth, outdated, or simply teach you step-by-step how to build web app clones but don’t actually tell you much about why things are the way they are.!