Create Field

airtable.create_field
ActionFiles & storageconnection required

Calls the Airtable API with the connection's credentials.

Add a column to an Airtable table, with its type and type-specific options.

Connection

Required
Yes — the node will not save without one
Auth type
Bearer token
Providers
Airtable
Secret shape
the Airtable access token
Resolved by
config.connection_id, else node.connection_id

Configuration

6 fields, 4 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
base_id
Airtable base id (app…), from the base's API docs URL or airtable.list_bases.
stringYes——appAbCdEfGhIjKlMn
table_id
Table id (tbl…) — the metadata endpoints take the id, not the name.
stringYes——tblAbCdEfGhIjKlMn
name
The new column's name; it must be unique within the table.
stringYes———
type
The Airtable field type to create. Computed and system types (formula, rollup, count, lookup, autoNumber, created/last-modified, aiText, button) are read-only and can only be added from the Airtable UI.
stringYes—one of "singleLineText", "multilineText", "richText", "email", "url", "phoneNumber", "number", "percent", "currency", "duration", "rating", "checkbox", "date", "dateTime", "singleSelect", "multipleSelects", "singleCollaborator", "multipleCollaborators", "multipleRecordLinks", "multipleAttachments", "barcode"—
description
An optional description for the column, up to 20,000 characters.
stringNo—≤ 20000 characters—
options
Type-specific settings as a JSON object — a singleSelect needs its 'choices', a currency its 'precision' and 'symbol', a date its 'dateFormat'.
objectNo——{"choices":[{"name":"Open"},{"name":"Done"}]}

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "base_id": "appAbCdEfGhIjKlMn",
  "options": {
    "choices": [
      {
        "name": "Open"
      },
      {
        "name": "Done"
      }
    ]
  },
  "table_id": "tblAbCdEfGhIjKlMn"
}

Output

One shape.

result

FieldTypeExample
id
The field id (fld…).
string—
name
The field name.
string—
type
The Airtable field type, e.g. singleSelect.
string—
description
The field description, when it has one.
string—
options
The type-specific options Airtable stored for the field.
object—
{
  "description": "",
  "id": "",
  "name": "",
  "options": {},
  "type": ""
}

Notes

  • Needs the 'schema.bases:write' scope on the personal access token.
  • Airtable has no delete-field endpoint: a column created here can only be removed from the Airtable UI.
  • Airtable caps every batch write at 10 records per request. The batch nodes chunk for you and report how many calls they made in 'batches'; the calls are sequential and not a transaction, so a failure part-way leaves the earlier chunks committed and says how many got through.
  • typecast is what lets a plain string be written into a single-select, date or number column. It is on by default, matching airtable.create_record.
  • Reads page on an opaque 'offset' token, not a page number: feed the offset a call returns back into the next call while 'has_more' is true.
  • The base/table/field nodes use Airtable's metadata API, which needs the 'schema.bases:read' (or ':write') scope on the personal access token. A token minted only for 'data.records:*' gets a 403 from them.

See Create Field run in a workflow.

In a technical demo we add the Airtable connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.