# Rename Airtable columns without breaking your app

> Your app reads field IDs, not names — rename anything in Airtable and nothing breaks.

Your app keys on Airtable field IDs, so renaming columns never breaks your live site.

Most apps built on Airtable are held together by spelling. The code asks for the "Price" column
by name, so the day someone renames it to "Unit price" — to tidy the base, to match the team's
vocabulary — the live site quietly starts showing blanks. Nothing errors. Nothing warns. The base
looks fine and the app is broken.

That coupling makes everyone afraid to touch the schema, which is the opposite of what Airtable
is for.

## Keyed by field ID, not name

VibeKit returns every record keyed by Airtable's field ID — the identifier behind the label.
Rename a column and your app keeps working, because nothing in it ever depended on the name. Your
team can keep reorganising the base the way they reorganise any spreadsheet, and the published
site doesn't notice.

## Your agent sees the real schema

Your coding agent can fetch the table's structure through VibeKit: every field's name, its
Airtable type, the resolved shape of the value it actually delivers (text, number, list,
attachments), and details like a currency field's symbol and precision. So prices render with the
right symbol and the right number of decimals — your agent formats values from facts, not
guesses. That same schema is what powers the ready-made prompts the admin writes for you (see
[agent-ready prompts](/products/vibekit/features/agent-ready-prompts)).

## Filters that can't be injected

Instead of hand-writing Airtable formulas, your app describes filters in a friendly syntax —
equals, contains, and/or trees. VibeKit compiles them to Airtable formulas on the server with
strict validation: field names are checked against the schema and values are escaped, so user
input can never smuggle a formula into your base.

## Names where humans look

IDs are robust but unreadable, so the admin shows your tables and views by name — hover to see
the underlying ID when you need it. You get the durability of IDs without ever having to memorise
one.

## Questions this page answers

- renamed airtable field broke my app
- airtable field id vs field name
- rename airtable column without breaking api
- get airtable field types for my web app
- airtable filterbyformula injection
- show airtable currency symbol in app

---

Part of [VibeKit](/md/home.md) — all pages: [llms.txt](/llms.txt)
