Does Retool have a process for tracking changes to data?

I'm building my first Retool app, and I'm trying to figure out if the platform has a bespoke process for tracking row or cell-level data changes. For example, someone inputs data into a cell in a table and we can see the history of that cell from the Postgres backend, rolling it back to a specific version if needed.

I'm picturing something like temporal tables, but I'm not seeing many direct examples of anyone trying this. The app we want to build will largely be a data input platform, so tracking changes is imperative for us.

Thanks for the help!

1 Like

Hey @abbieolson! From what I understand, this isn’t something Retool supports directly. However, you can always connect Retool to your database that uses temporal tables!

2 Likes

Hello @abbieolson!

Unfortunately we don't currently have a bespoke tracking tool that would be similar to Temporal Tables for specifically frontend changes.

We do have front end change tracking via the Table component's .changesetArray property, which holds the row and cell data that has been changed from the initial render. This will only hold the new data that has been most recently put into the table.

I would say that for most use cases, Retool Tables are meant to sit as a layer on top of a backend/database, where users would track changes over time in the database with other more specialized tools (as Derek mentioned connecting to a DB that uses temporal tables) for the specific database, outside of the Retool suite of products.

Once you make changes to a row or cell, these changes should be used to update the database via a Query. With all of the changes and change tracking occurring on the database side. Our Retool Database is a Postgres DB instance that can be queried for its audit table to get time stamps and row/cell level changes for various tables.

Let me know more about your ideal use case flow for a data input platform and I can check with our team for further details on what we can do and have available to help enable you and your use case!