Create Table

airtable.create_table
ActionFiles & storageconnection required

Calls the Airtable API with the connection's credentials.

Create a table in an Airtable base, with its initial set of fields.

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

4 fields, 3 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
name
The new table's name; it must be unique within the base.
stringYes———
description
An optional description for the table, up to 20,000 characters.
stringNo—≤ 20000 characters—
fields
The table's initial columns, as a JSON array of {"name", "type", optional "description" and "options"} objects. The first entry becomes the primary field.
arrayYes—array of object[{"name":"Name","type":"singleLineText"}]

Example configuration

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

{
  "base_id": "appAbCdEfGhIjKlMn",
  "fields": [
    {
      "name": "Name",
      "type": "singleLineText"
    }
  ]
}

Output

One shape.

result

FieldTypeExample
id
The table id (tbl…).
string—
name
The table name.
string—
primaryFieldId
The id of the table's primary field.
string—
description
The table description, when it has one.
string—
fields
The table's fields, each with id, name, type and options.
array—
views
The table's views, each with id, name and type.
array—
{
  "description": "",
  "fields": [],
  "id": "",
  "name": "",
  "primaryFieldId": "",
  "views": []
}

Notes

  • Needs the 'schema.bases:write' scope on the personal access token.
  • The first field in 'fields' becomes the primary field and cannot be changed afterwards, so put the identifying column first.
  • Airtable has no delete-table endpoint: a table 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 Table 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.