Feature Request: Trigger workflow when database row or specific field changes

It’d be really nice to be able to trigger a workflow when a specific row or field in the database changes. This would make it much, much easier to manage a common use case…

When people need to keep a Bubble table in sync with other applications (such as Algolia, GetStream, Segment, Customer.io, Salesforce, etc.) this would enable them to set that up in 1 place rather than having to find every action that touches that table and add in logic to update it in each tool, which is hard enough. And, it’s much harder to maintain all of those actions and keep them in sync for every service across every workflow. Plus, changing 3rd party applications and needing to update every workflow where a particular table or set of tables is changed is incredibly time consuming. Let’s not forget debugging all of this when a single instance is missed or calculated incorrectly (especially because the metadata for which workflow is “off” is usually missing which makes tracking it down both time consuming and tedious).

Would anyone else find this useful?

16 Likes

Yes :raised_hands:

If I recall correctly PostgreSQL uses pg_notify for this. Call it from inside the SQL trigger that monitors changes on tables and build a nodejs listener to process the notification.

In principle it’s quite doable. Performance wise I don’t know.

It’s an interesting feature nonetheless.

This would be an amazing improvement

That would be so great.
Right now I’m always scheduling updates with API Workflows. But forget just one, and the database won’t be perfectly updated.

This would help so much. @Bubble, any plans?

Great suggestion. We’re putting it on our list of things to do.

7 Likes

Awesome! This will make a lot of my workflow so much easier.

1 Like

Great.
Would you implement this with a buffer ? I mean if a data entry changes 3 times in 15 seconds, a 30 seconds buffer would trigger only once a workflow so the app doesn’t get too busy

This feature would be excellent

Agreed !