Skip to main content
Question

Field definition changes

  • April 16, 2026
  • 8 replies
  • 98 views

Forum|alt.badge.img+3

There is a BASE / Table / bunch of fields.
There is web app using API, which neatly makes a form for users to change their details, not just create as Airtable native forms.

Everything works perfectly, until team member changes the field name.

I know you can use serial name “fld123ABC456”, but it involves creating another object to hold pairs of serial names and human readable name. Code is also much cleaner with field names. rawContacts[xyz].fields[“Some Field Name”] reads much better than rawContacts[xyz].fields.fld123ABC456

Question: is there a native way to find who and when made a field name change.

Also how the change was made old name → new name and old type → new type

 

I have been asking Airtable, as enterprise user for years now, to implement admin layer on field definitions, so that very few people can make these devastating changes.

 

In the meantime, is there a log of these changes natively?

Or does it have to be a hack of either manually definin

There is a BASE / Table / bunch of fields.
There is web app using API, which neatly makes a form for users to change their details, not just create as Airtable native forms.

Everything works perfectly, until team member changes the field name.

I know you can use serial name “fld123ABC456”, but it involves creating another object to hold pairs of serial names and human readable name. Code is also much cleaner with field names. rawContacts[xyz].fields[“Some Field Name”] reads much better than rawContacts[xyz].fields.fld123ABC456

Question: is there a native way to find who and when made a field name change.

Also how the change was made old name → new name and old type → new type


I have been asking Airtable, as enterprise user for years now, to implement admin layer on field definitions, so that very few people can make these devastating changes.


In the meantime, is there a log of these changes natively?

Or does it have to be a hack of either manually defining variables in code like: const fldContactsSomeFieldName = fields.fld123ABC456


Or interrogating META, keeping a blessed copy on each run, and checking on each run, so that I can flag up: aha, this user, at this time, has changed field name from “OLD” into “NEW”


This should be very basic root implementation on Airtable level, not a massive pain, or a hack workaround as it currently is.

BUT, any help or pointers on how to deal with it now would be greatly appreciated

g variables in cod,e like: const fldContactsSomeFieldName = fields.fld123ABC456

 

Or interogating META, keeping a blessed copy on each run, and checking on each run, so that I can flag up: aha, this user, at this time, has changed field name from “OLD” into “NEW”

 

This should be very basic root implementation on Airtable level, not a massive pain and hack workarouns as it currently is.

 

BUT, any help or pointers on how to deal with it now would be greatly appreciated

8 replies

ScottWorld
Forum|alt.badge.img+35
  • Genius
  • April 16, 2026

Not sure what form app you’re using, but I would highly recommend using Fillout’s advanced forms for Airtable.

Fillout is 100% free, it lets you update Airtable records with a form, and it automatically picks up any changes you’ve made to field names.

- ScottWorld, Expert Airtable Consultant 


TheTimeSavingCo
Forum|alt.badge.img+32

In the meantime, is there a log of these changes natively?

You could setup a webhook that triggers on field changes and make it create a record in a logging table for you:

https://airtable.com/developers/web/api/model/webhooks-specification#filters-datatypes


Forum|alt.badge.img+3
  • Author
  • New Participant
  • April 27, 2026

Thank you for replies, but none of it is really a viable option.

1.
Fillout works with fieldIDs, great, but I haven’t got the time to create and manage ID/Label pairs in my code. And I’m not allowed to use external editor of any kind as we need very stringent design and security rules. And it still doesn’t tell me who renamed what from which and when.

2.

I have a base with 100+ tables, so I would need at least 100 webhooks! Even as an enterprise subscriber, I only get 10 webhooks. Plus the code overhead would be too much for something that Airtable should have natively. But yes, webhook would tell me which field ID was renamed from what, by whom and when. 

I still don’t get why “field rename” is not included in every record history, and why such a simple yet essential bit of information is absent.

 

Even more baffling is the fact that there is no admin layer on field definitions.

 

Never mind, and again: thank you both for the effort!

V


ScottWorld
Forum|alt.badge.img+35
  • Genius
  • April 27, 2026

Fillout doesn’t require you to use field ID’s… it keeps track of that underneath the hood for you, so you can rename fields whenever you’d like.

However, you may want to re-evaluate your base structure if you have 100+ different tables. That is most likely not the ideal way to setup your base structure.

- ScottWorld, Expert Airtable Consultant 


DisraeliGears01
Forum|alt.badge.img+22

From the way you’re talking it sounds like you developed the web app front end yourself?

Per Airtable documentation, you can limit the API scopes to data.records:write so field contents can be added/edited, but leave out the schema.bases:write scope and then users won’t be able to add or edit fields (including the name).

Presumably the reason this isn’t in record history is for bases with like 300K records, if you changed the field name then you need to update the record history for every record simultaneously 

Also I’d echo ​@ScottWorld, 100+ tables in a single base sounds like a nightmare and you may not be setting up your bases correctly. 


TheTimeSavingCo
Forum|alt.badge.img+32

@Vuk_Milutinovic Oh nah, we only need one webhook looking at tableFields for the entire base, it’ll ping for all field changes in all tables in the base


Forum|alt.badge.img+3

Again thank you all, but it’s still going to be a hack of interogating META, or setting up a webhook to interogate META.

Fields names are not changed through my app or API, they’re changed in Airtable’s web interface.

There is no record of the change, unless you make it yourself.

In case there is anyone else, faced with the same issue.


DisraeliGears01
Forum|alt.badge.img+22

Ah, I suppose I was conflating “users” and “team members” in your initial post.

Riffing off Adam’s suggestion, I was reminded of Martin Malinda’s Powersync utility, which utilizes webhooks in this manner. BuiltOnAir did a podcast with him, and then regular host Alli Alosa did a walkthrough a similar schema metadata compiler she uses. You mentioned above that you need to do it in-house, so perhaps these would provide some inspiration 🤷‍♂️