Triggere workflow on change of text data

Dear Bubblers,

Bubble is so great and I was able to build almost everything in my app but one thing I can not solve without your help.

Am I missing something? Is there a way of interaction when for example dynamic text changes (clock countdown), then I trigger workflow?

I have time limited actions on site. I use countdown clock which is implemented as “Do every 1 second” and changing state. Thus I can see clock and countdown every second on my site.
This works pretty well. However when clock reaches 0s, I need to trigger workflows.

I tried to update INPUT field and value of input field is changing in frontend, however this change is not recognized by workflows from backend “Trigger on change of input” is not working in my scenario as I need to trigger workflow without click or refresh of page.

Thank you.

If I understand correctly, couldn’t you just add an action to the Do every workflow that runs Only when the timer is zero?


I would like to do that how you mentioned. My countdown timer counts (date in database) - (current date time). Current date time I sent to state. It is displayed as text element. So I do not really know when is timer zero.

If I could somehow add text current value to state, then I could manage it on backend.

Generally I see all counters have this issue. Even plugins. They run when user hits button on site and once is timer over, you need to press button again. Or reload page.

I do not see countdown timers which could get data back in workflow.

In other words:
Counter 1 - reaches zero → Start Counter 2 - reaches zero…. Etc. When it reaches zero, I need to run actions in workflow.
When I refresh page Im on current counter e.g Counter 3

Also my concern. I have an input that is changing dynamically, but bubble doesnt recognize the change in input. I need a workflow to trigger every time the input value changes (but dynamically), and not from user input.

Use format as seconds in an action of your “Do every 1 second” workflow, e.g.

This is also what i did for now. Tried using the javascript ‘onscroll’ event, but I couldnt get it to work.

See this post if you’re ready to fall back to JavaScript.

Just realized you’re asking about dynamic value binding… Not sure if this suits you, but one possible solution’s below.
A workflow “When condition is true” might help with it’s condition based on bound value. If input’s value is bound to an expression A, whatever it is, and this expression can be used in workflow condition then create workflow “When condition is true” and add “oldval” state to your text input. Then in “When condition is true” set condition “input’s value is not input’s oldval”, and in its conditions update oldval and do other stuff needed. Here’s an example (page “input”).
S4vy66wh2g7jddv5 | Bubble Editor

1 Like

I’m actually making this is a workaround for table headers. I have a very long table that has a lot of columns. And I don’t want to put the header inside the RG. So I made an RG for the table and a separate RG for the header. Then I bound the scrollLeft property of the table RG onto an input box (using a plugin from Zerocode), to get an event that triggers a javascript function that correlates the scrollLeft of the table to the scrollLeft of the table header. Didn’t work. And also the onscroll function I investigated didnt work. So now I’m left with the do this every 1 sec event trigger. I’m still looking for a more elegant solution. I’ll see how to implement your ‘when condition is true’ trigger. Many thanks!

Then you need your input box visible to be updated, btw…
I’d actually suggest to use “scroll” event of the table content RG to synchronize header’s scroll position with it. Did it once, it works, though you need your columns to be of fixed widths or to synchronize their widths, which is another pain…
Another issue is that scroll event is not always consistent. Your header may miss couple of pixels under some circumstances.