Last modified time


Hi - are there any updates on when a Last Modified Date will be available. Or if there is a workaround to show the records that have been recently changed.


As far as I know, the field can’t be edited. Something I’ve used before is to create a ‘created override’ column — essentially the manually-logged dates you currently have — and a ‘created’ column. The last is a formula field with the following configuration:


This allows you to pick up the internal created timestamp as a default but allows you to override it manually if necessary. Presumably, at some point in the future, after aging out the last record requiring the override, you can delete the override column and set {Created} to be a field of Created_Time type.


Agreed with all above, the lack of a last modified timestamp is preventing us from using Airtable on a company-wide scale.

Is there any news on when this might become available?


Hi! I like this discussion. Evaluating Airtable now. Came here figure out how to access “last modified” timestamp.

Writing to add my vote: I won’t invest in the platform at all, until I can see the modified timestamp for any field or record, and can trigger the API on update types that I specify.

Reading between the lines from the comments from the AT folks over the year or more of this thread, sounds like maybe neither of these is that easy, and it may be a while.

I’ll probably build apps in G Suite for now, and check back on Airtable in a year. This is a really nicely thought out RAD system! Thanks!


+1 - This feature would be very handy! One use case: I have a base of contacts. Some contacts have a status of “Loss of Contact” and then I have an Archive view to help me clean up the database from time to time. If I could easily track and see when a record was last modified, it would make cleaning up outdated records a cinch! I look forward to this feature.


I’d like to create a zapier to send email alerts to my team anytime a due date is changed. I believe the only way I could do this is by using modified_date in a formula. This is pretty much necessary in getting my team to move from Trello to Airtable. Do we have a projected date on this feature?


Hi @Amber_Stacey - we would also need the ability to have instant Zaps - with the current Zap setup you can only have a Zap run once on a record which wouldn’t be effective every time the date changed.

However, you may be able achieve something similar with timed Zaps (where you specify how often they run). I wrote a blog post about how to use this to send notifications and you may be able to modify it to suit:

Sending Notifications from Airtable

Hope this helps…


I would love to see how you are using airtable as full CRM (minus last modified field) !


+1 to date modified feature … Do you have any other idea how can when was the last update!?


+1 missing a last updated + webhook just makes the system unusable as a backend for large datasets. We’re now pulling the API for the entire dataset just to compare


Last Modified Timestamp is a must to compete with other database systems


Hi Looking for a “Last Modified” cell. Any work around?


I would love to see how you are using airtable as full CRM (minus last modified field) !

The easiest way is to create a new linked record to track important events, and then roll up the creation time of those linked records using a MAX(values) aggregation function.

For instance, if you are tracking the last tme an attempt was made to reach a client, your [client] table would contain a linked record field called {contacts}. Each [contact] record would track, say, type of contact (phone, email, IM, etc.), result (spoke with, left message), next step, and so on; it would also contain a Created Time field. With each contact attempt, you would create a new [contact] record documenting the attempt.

Meanwhile, in your [client] record, you would define a {Last Contact} field as a rollup of {contact::Created Time} using MAX(values) as your aggregate function. You can also easily, if slightly inelegantly, pull any detail you wish from that most-recent [contact ] record by creating a field in [contact] that performs a lookup on {client::Last Contact}. Any [contact] field you wished to surface to the [client] record would then use this field to detect the most-recent entry; for instance, you could create a {Latest Next Step} field with this formula:

IF({Created Time}={Last Contact},{Next Step},BLANK())

You could then use either a lookup or rollup field (depending on how you planned to use the result) to pull the data through to the [client] record.

Is it as easy as having a LAST_MODIFIED() function? No. Does it work? Yes.


I am trying to convince my company to invest in shifting over to airtable.

We absolutely need the “last modified” function.

what’s the latest on adding this?


waiting for this to roll out - will make it easy for me to do so many things


Are you aware of zapier’s trigger app and action app ?


Hi Matt,

Happy New Year! Any updates on the release timing of the last modified date field feature? My team is holding back rolling out our database throughout our company because of the lack of this one feature.

Thanks for any updates!

Kind regards, Tiffany


i cant seem to make it work with Wunderlist. any ideas on how to connect Airtable to Wunderlist via zapier for updated records in airtable?

for instance, we have a column for proeprty status. i want something to happen when we change a property status to “tenanted” and for zapier to send that to someones wunderlist


@Jordan_Friedman I’m not sure of your objective(s). Is it “to see the last time they updated their tables,” or is it to add a task to Wunderlist when a property status changes to tenanted? Or is it both?

I use Airtable with Zapier, but I’m not a guru. Here’s a response, based on my personal experiences.

Zapier is limited when it comes to Airtable triggers: a Zap can only be triggered by (1) a New Record or (2) a New Record in View. What this means is that a Zap is NOT triggered on an updated record.

However, you can mimic an “updated record” action by creating a view in Airtable that filters on a field value. In the example you provided, assuming you have a table in which each record is a property, you would create a view called “Tenanted,” which filters on the property status field. When a property status changes to Tenated, you will have a new record in the “Tenanted” view. That will trigger the Zap, and you can create a Wunderlist task from it. Time-stamping the change would require a multi-step Zap, but it is certainly do-able with a paid plan.

Unfortunately, I think that this approach only works once per record because Zapier is watching record IDs. If a particular property goes from Tenanted to Vacant and back to Tenanted, I don’t know if the Zap would recognize the second instance as a “New Record” in View because the Airtable Record ID doesn’t change. You’d have to check with Zapier support, or set up a test case, where you do exactly that – change the status from Vacant to Tenanted to Vacant and then back to Tenanted and see if the second change to Tenanted triggers the Zap.

The other approach is to tweak your base structure and your workflow. In your base, you could conceivably create a “Status” table alongside your property table. In the Status table, each record would represent a change in Status for a given property. For each record, you might have fields for Prior Status, New Status, TimeStamp and a linked field to properties. Make the TimeStamp field a date field and click the box that says “include a time field.” Whenever you add a record, click “Today” (at the bottom of the calendar input) in the TimeStamp field and it will give you a date and time. Voila, you have a timestamp. In the Status table, you would create a view called “Tenanted” which would filter on the “New Status” field for the value “Tenanted.” In that case, each status change is a new record, and would thus trigger the Zap to record a task in Wunderlist.

Rereading this, I can see that it’s a bit abstract, but I hope it helps. Maybe someone with more experience like @W_Vann_Hall has a better idea…


If you’re essentially giving each manager a spreadsheet and having them overwrite cells with new values, then, yeah, you’re going to have problems tracking changes in Airtable as currently implemented.

I’m a big fan of audit trails, though — so I would have built the system with each [Property] record containing a one-to-many linked-record field pointing to a [Statuses] table. Each [Statuses] record would contain such fields as {Date}, {Status}, {Notes} — whatever you need to track. Now, when a manager changes a property’s status, instead of modifying a cell value, he or she would click on the {Status} field to drill through to the [Statuses] table, create a new record, and update its values.

Here’s where it gets a little baroque…

In the [Property] record, create a field called {Current}, configured as a roll-up of {Statuses::Date} (that is, the {Date} field in the [Statuses] table), with an aggregation function of MAX(values). Complementarily, in the [Statuses] table define a {Current} lookup field retrieving the value of {Property::Current}.

Now, for any [Statuses] value you wish to display in a [Property] record, within the [Statuses] table define a {Current [whatever]} formula field using this formula:


For instance, the formula for {Current Status} would be


Finally (honest!), back in [Property] define a field to display the current value, as either a lookup or a rollup of {Statuses::Current [whatever]}. For instance, {Property::Status} might be a lookup of {Statuses::Current Status} or a rollup of {Statuses::Current Status} using a CONCATENATE(), ARRAYCOMPACT(), or ARRAYJOIN() aggregation function. (There are subtle differences in how each of these options returns the result. You may wish to experiment to find which best supports your application.)

With such an implementation, the ‘date last updated’ is baked in. What’s more, you now have [something of]* a record of who changed what when.

I know my description makes this seem a real dog’s breakfast, but it is much easier to implement than describe. Take a look at this post and the demonstration table linked in the fourth reply.

Again, not a solution, if you’re simply having managers overwrite a field’s value, and certainly not a replacement for the much-needed ‘last updated date’ Airtable field; instead, it’s an example of how one can achieve better-than-equivalent functionality with a little restruturing of the base.

Time-stamping a date that can be changed
Insert date on specific actions