Access Record Activity / History

Is there any way to access the history/activity on a record

I’m looking for a way to see the rowActivityInfoById for a record so I can audit what fields are being changed over a certain time period. I’m ok with coding it up, I just need to know I can retrieve the activity anywhere.

Any help would be much appreciated.

Welcome to the Airtable community!

Not currently.

I wonder why not. I might reach out to Airtable support and see if its on their roadmap. I’m thinking along the lines of data integrity here. We run so many field altering scripts on our base, I would love a way to revert changes and the activity would be the perfect place to traverse changes made.

This would be a useful feature. But like all features, it takes time and resources to implement.

Please report back to let us know what support say!

If you are performing these field modifications through scripts, you are sitting on the answer. ;-).Why not simply capture the activity in a log and write more script to audit, revert, etc?

I see what you are saying, we already do that. But with many users updating/running the scripts, if I want to revert something someone else did say 4 days ago, not revert the full record but just on one specific field, it would be easy to script up if we had the activity right there.

Indeed, but you don’t. I’ve asked about an activity API for about five years. I’ve also been asking for a commenting API; no dice. I think @kuovonne is right - feel free to ask, but it’s likely a ways off, if ever.

But to that point, we cannot blame Airtable for this API shortfall; their focus is central to no/low-code and generally, users who need an events activity API fall into one or two classes of users:

  1. They are trying to use Airtable in a far more complicated fashion than typically no/low-code solution-builders use the product; or…
  2. They are trying to implement a solution that itself is poorly designed or at least a bad fit for Airtable.

Seeing your requirement and as it relates to #1, allowing users to run a lot of different scripts seems like a use case that is atypical.

I see this type of request all the time, and it’s a rational idea, especially for businesses whose transactions are subjected to compliance auditing:

I’m looking for a way to see the rowActivityInfoById for a record so I can audit what fields are being changed over a certain time period

However, I can’t recall seeing something like this; it’s a red flag for me.

We run so many field-altering scripts on our base …

One must ask - are you running scripts that alter values? Or actual are they modifying meta properties? “Field-altering” sometimes means you are changing the field type or the parameters of the field, not just the value stored in the field.

In any case, if users are manually running scripts that modify anything frequently, it begins to suggest you’re the #2 category, and you might want to rethink the approach.

Scripts, by and large, are intended to extend Airtable to meet a requirement that isn’t possible in any other way. If you have enough of these and they are a constant part of your data processing approach such that every user is firing off independent scripts, you may be creating a monster, and you now perceive an activity log as your only path to continued use of the solution. If that’s the case, perhaps you need a rethink on the solution as it pertains to your business domain.

There are parallels to this pattern in other databases. For example, SQL has stored procedures that are in constant use to overcome data issues and add value to existing data as it arrives. But unlike the scripts you describe, stored procedures are fired automatically and conditional and in a consistent manner. This leads me to ask - are your scripts bound into automations that run without user invocation?

Apologies, bad turn of phrase in my previous post.

99% of field edits are manually done by 50+ users of a base. We have extensions that can be run for auditing purposes

e.g. 500 fields tagged X, 800 tagged Y

We noticed some data missing recently, which was our fault (not the script), just someone accidentally overwrote fields. This post came from an idea I had whereby if Activity on a field was available, you could correct overwrites and roll a field back via a script.