More thorough audit trail on multi-select list

Hello all,

I’ve got a table that includes a column of “Team Members” on a project. I want to open this column up to editing by the managers of teams, but want to track the changes.

I want to be able to see the “diff” of the changes, and am having trouble thinking through the most user friendly way to do this. I wanted to use Automation, but I’m not sure there’s a “Historical” option. One thing I was considering was:

  • Create column that is called “Historical record of people”
  • Create automation that runs when “Team Members” column is changed
  • When automation runs, it captures what the new “Team Members” is, writes that to a new table, along with the historical record column, then it updates the historical record column to match the new team members, effectively giving me a “diff”

Is there a better way to do this? To capture diffs throughout any column without needing a log column?

Hey @Chase_Schwalbach what is the outcome you want? What specific changes to track?

Let’s say there are two columns. I want to see the column before and the column after the change. My automation above does work, but it feels hacky. I’m basically wondering/wanting to know if there’s a Step 1 Result.Previous Value, or Step 1 Result.Changed Values, that can give me the “diff”

  • A previous topic I realized I started on this said you can look up previous values in the UI, but I’m not sure if they are programmatically query-able

For what it’s worth, this is basically what I do. It doesn’t seem possible to access the before state of the row that triggers an automation (unfortunately!) nor can you access the UI’s activity history via formula.

So I cache previous values in a previous value column.

And then in cases where I need more history, yes, I write to a log table whose columns are Row (lookup), Date (date/time), before value, after value.

1 Like

You can cache the values in another column as @Nick_HE suggested. You can also create a ‘mini table’ in the the column by creating an array/list of prior cache values using something like:

modifyrows(thisrow,[previousValue],listcombine([previousValue],[insertValue]))