InTouch Hub · Blue Isle Software

Airtable

List, create, and update records in an Airtable base via the Airtable Web API.

airtabledatabaserecordsproductivity

Airtable

List, create, and update records in an Airtable base using the Airtable Web API. Standard-library Python only — no external dependencies.

Grounded in the official docs: https://airtable.com/developers/web/api/introduction

Operations

operation HTTP Endpoint Notes
list GET /v0/{baseId}/{tableIdOrName} Optional view, filterByFormula, maxRecords, pageSize, offset.
create POST /v0/{baseId}/{tableIdOrName} Body { "records": [ { "fields": {…} } ] }.
update PATCH /v0/{baseId}/{tableIdOrName} Body { "records": [ { "id": "rec…", "fields": {…} } ] }. PATCH is non-destructive — only the supplied fields change.

Inputs

name required applies to description
apiKey yes all Airtable personal access token (PAT).
operation yes all list, create, or update.
baseId yes all Base ID, starts with app….
tableIdOrName yes all Table ID (tbl…) or table name.
view no list View name or ID.
filterByFormula no list Airtable formula, e.g. {Status}='Open'.
maxRecords no list Max total records to return.
pageSize no list Records per page (max 100).
offset no list Pagination offset from a prior list call.
records yes create, update JSON array of record objects.
typecast no create, update true to coerce string values to field types.

Outputs

key description
result The raw Airtable response body (JSON string). For list, contains records and an optional offset. For create/update, contains the affected records.
status HTTP status code as a string (e.g. 200).

Reference as {{run.result}} / {{run.status}} in a job (the tool publishes result and status).

Getting an API key

  1. Sign in to Airtable and go to https://airtable.com/create/tokens.
  2. Create a personal access token.
  3. Grant scopes: data.records:read (for list) and/or data.records:write (for create/update).
  4. Add the base(s) the token may access.
  5. Copy the token (starts with pat…) and pass it as apiKey.

You can find your baseId (app…) in the API docs for your base at https://airtable.com/developers/web/api/introduction (select the base from the right sidebar), or in the base URL when viewing it in the browser.

Examples

1. List up to 5 open tasks from a view

operation       = list
apiKey          = patXXXXXXXXXXXXXX
baseId          = appAbCdEfGhIjKlMn
tableIdOrName   = Tasks
view            = Grid view
filterByFormula = {Status}='Open'
maxRecords      = 5

Returns JSON like:

{
  "records": [
    { "id": "recABC123", "createdTime": "2026-06-01T12:00:00.000Z",
      "fields": { "Name": "Ship release", "Status": "Open" } }
  ]
}

2. Create a record

operation     = create
apiKey        = patXXXXXXXXXXXXXX
baseId        = appAbCdEfGhIjKlMn
tableIdOrName = Tasks
records       = [{"fields": {"Name": "Write docs", "Status": "Open"}}]

3. Update an existing record (non-destructive)

operation     = update
apiKey        = patXXXXXXXXXXXXXX
baseId        = appAbCdEfGhIjKlMn
tableIdOrName = Tasks
records       = [{"id": "recABC123", "fields": {"Status": "Done"}}]

Only the Status field is changed; all other fields on recABC123 are left intact.