Many to many relationships that users can build!

I know exactly what I want in that I have it currently built as a Google Sheet, but struggling to get what I want built as a database for Bubble.

My app will be B2B. So I want my USERS to be able to have a list of Clients. Within each client, I want them to be able to build multiple workflows (not Bubble workflows, but like process planning workflows). Each workflow will have multiple steps/actions. Each action has a conditional list of things to display depending on which action was chosen.

In the spreadsheet version, each client could end up with a hundred rows of actions or more (split up over multiple workflows). Is this kind of thing going to be possible in Bubble? Being able to let the user build multiple steps per workflow and multiple workflows per client? Will they be able to look at all of the steps of a workflow holistically to easily go back and make changes? Will I be able to dynamically show fields based on the workflow action selected?

I’ve looked for similar use cases and haven’t found anything that feels like it has this many layers, but maybe that’s the overwhelm with getting started. Appreciate any and all direction!

All possible. I’ve done a CRM with flow creations that allowed it to do action(email,text,VM drop)/internal alert/CRUD operations.

It’s a complex process but possible.

For your showing fields it may be a bit more complex but still possible (similar to how you’d build a user built dynamic form with tiles/input types)

Without seeing your full data, sounds straightforward and you might look to start with a data design like this:

User (Standard Bubble table)
— add a Client field (type Clients, as list)

— Users field (type User as list) the users that can view, manage clients… if only 1 user can manage a client this doesn’t need to be a list
— Workflows (type Workflow, as list) the workflows that exist for a user

— Steps (type Steps, as list) the steps on a workflow
— Clients (type Client, as list) the clients that a workflow applies to

— Order (type Number) will help you determine the order of steps
— Things (type Display Thing, as list
— anything else

Display Thing (give this a proper name, Thing has a specific meaning in bubble stickers you should avoid using this name)
— details or whatever


Okay so under steps- that’s where things feel more complicated to me. Here are a few examples of the variation in those:

  • For Step 1 the action might be Change Project Status- where I want the user to be able to select from a list of Project Statuses they’ve already created for that client OR create a new one.
  • But for something like Send Form, I want them to be able to make a much longer series of selections, including selecting an email template from a bank that lives somewhere in the app, putting in the form type, and then either selecting from a list of forms they’ve already created for the client OR inputting a new one.
  • There are something like 15 unique actions and triggers that would cause different fields to appear depending on which is selected (and that’s a predetermined list I’d like to set somewhere- I’ve currently got them set up as Option Sets).

And then when all the workflows/steps are done and entered, I want a Content Directory to be automatically generated- so a list showing all emails used throughout the workflows for that client, all forms, all project statuses, etc.

Still possible?

It sounds like you just have a series of pages or sections on a single page that correspond to steps.

As Neil suggested, you could use an option set, and then use custom states + the db to dynamically display (show and hide) different pages, sections, input fields etc. If there are even scenarios where the options in an input field differ, you could go to that level.

As someone who came from a software dev background, my one bit of advice would be: don’t overthink it, just start. When I began I was trying to plan out everything before I started, but in reality I needed to get started to see it unfold, and there are both quirks of my user experience and bubble that I would never have known about until I started.

The short of it is that what you want to do, can be done, and on a scale of 1-5 (1 being super easy, 5 being super complex) your app sounds like a 2.

Edit: although I said jump in, I would still make sure I have a process map, with core steps (1,2,3), sub-steps (1a, 1b, 2a, 2b, 2c, 3a, 3b) success criteria outlined. This will help create a reference point, and also a document you can share in the forum if you ever need help.

1 Like