Airtable · sdk · fg-0436
Renaming an Airtable field breaks integration code that reads fields by name
Field silently reads as undefined after someone renames a column
Verified 2026-10-15 · Confirmed by 0 builders · Trust 50/100
Cause
Responses are keyed by field name by default, so any rename in the UI changes the keys your code reads. The REST API can key by field ID, but airtable.js only passes returnFieldsByFieldId through select().
Fix
Read and write by field ID. In airtable.js, use select() with returnFieldsByFieldId, or call base.makeRequest for single-record reads.
Apply
const rows = await base("tblXXXXXXXXXXXXXX").select({ returnFieldsByFieldId: true }).all();
const email = rows[0].fields["fldXXXXXXXXXXXXXX"];Affects: Airtable Web API; airtable.js 0.12.2 and earlier
Sources
- https://airtable.com/developers/web/api/list-records
- https://github.com/Airtable/airtable.js/issues/360
Have your agent know this before it fails
claude mcp add --transport http footgun https://getfootgun.com/api/mcp