create_field
Create new fields in Airtable tables, including computed types (formula, rollup, lookup, count) unavailable via the official API.
Instructions
Create a new field in an Airtable table. Supports all field types including computed fields (formula, rollup, lookup, count) that are not available via the official API.
FIELD TYPES (fieldType parameter): Supported names: "text", "multilineText", "number", "checkbox", "date", "singleSelect", "multipleSelects", "rating", "formula", "rollup", "lookup", "count" Friendly aliases (auto-normalized): "url" → type: "text" with validatorName = "url" "email" → type: "text" with validatorName = "email" "phone" / "phoneNumber" → type: "text" with validatorName = "phoneNumber" "dateTime" → type: "date" with isDateTime: true
TYPE OPTIONS by fieldType: formula: { formulaText: "..." } rollup: { relationColumnId: "fldLINK", foreignTableRollupColumnId: "fldTARGET", formulaText: "SUM(values)" } (formulaText is REQUIRED — e.g. "SUM(values)", "COUNTA(values)", "IF(OR(values='X'),1,0)")) (old keys fieldIdInLinkedTable/recordLinkFieldId are auto-translated for backward compat) lookup: { relationColumnId: "fldLINK", foreignTableRollupColumnId: "fldTARGET" } (old keys fieldIdInLinkedTable/recordLinkFieldId are auto-translated for backward compat) count: { recordLinkFieldId } number (integer): { format: "integer", negative: false } number (currency): { format: "currency", symbol: "$", precision: 2, negative: false } number (percent): { format: "percentV2", precision: 2, negative: false } date / dateTime: { dateFormat: "Local"|"us"|"european"|"iso"|"friendly", timeFormat: "12hour"|"24hour", timeZone: "UTC"|"client"|, shouldDisplayTimeZone: true|false, isDateTime: true (auto for dateTime) } singleSelect: { choices: [{ name: "Option A", color: "blue" }], default: "selXXX" } multipleSelects: { choices: [{ name: "PC", color: "blue" }, { name: "Xbox", color: "cyan" }], default: ["selXXX"] } text / multilineText / checkbox / rating: omit typeOptions entirely — passing {} causes a 422
SELECT CHOICES:
Pass choices as an array [{ name, color? }] or as an object { selXXX: { name, color? } }.
The client auto-adds id inside each choice value, generates choiceOrder, and sets disableColors: false.
Color names (confirmed): "blue", "cyan", "teal", "green", "yellow", "orange", "red", "pink", "purple", "gray".
"default" sets the pre-selected value: string ID for singleSelect, array of IDs for multipleSelects.
To add/remove choices without losing existing ones, call get_table_schema first and include ALL choices in the update.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | The Airtable base/application ID | |
| tableId | Yes | The table ID to create the field in (e.g. "tblXXX") | |
| name | Yes | Name for the new field | |
| fieldType | Yes | The field type. Canonical or friendly alias — see tool description for full list. | |
| typeOptions | No | Type-specific config. See tool description for shape per fieldType. | |
| description | No | Optional field description | |
| insertAfterFieldId | No | Optional: field ID to insert after. Omit to append at end. | |
| debug | No | When true, include raw Airtable response in output for diagnostics |