Skip to content

Airtable

This module allows interacting with the Airtable API to manage databases, tables and records. It supports complete CRUD operations: list bases, get table schema, list records with filters and pagination, get a specific record, create records, update records (with upsert support) and delete records.

Authentication is done via OAuth2 through the airtableOAuthService. Records can be resolved from the node configuration or from the workflow input data, including support for dynamic variables with {{path.to.value}} syntax.

ParameterTypeRequiredDescription
credentials_idcredentialsYesAirtable account (OAuth)
operationselectYesOperation: listBases, getSchema, listRecords, getRecord, createRecords, updateRecords, deleteRecords
baseIdtextConditionalBase ID (starts with app…)
tableIdtextConditionalTable ID (tbl…) or name
recordIdtextConditionalRecord ID (rec…) for getRecord
filterFormulatextNoAirtable filter formula (e.g.: {Status} = ‘Active’)
viewtextNoView name to use
pageSizenumberNoRecords per page (max 100, default: 100)
fieldsarrayNoSpecific fields to return
sortarrayNoSort configuration
recordsarrayConditionalRecords to create or update
recordIdsarrayConditionalRecord IDs to delete
upsertbooleanNoCreate records if they don’t exist (default: false)
mergeFieldsarrayNoFields to match in upsert mode
outputKeytextNoKey where results are stored

Service type: airtable. Managed via OAuth2 through the airtableOAuthService.

Configuration fields:

  • OAuth2 authentication with read/write permissions on bases and records
{
"success": true,
"operation": "listRecords",
"baseId": "appXXXXXXXXXXXXXX",
"tableId": "tblXXXXXXXXXXXXXX",
"records": [
{
"id": "recXXXXXXXXXXXXXX",
"fields": {
"Name": "Ejemplo",
"Status": "Active",
"Email": "ejemplo@email.com"
}
}
],
"offset": null
}
{
"credentials_id": 1,
"operation": "listRecords",
"baseId": "appABC123",
"tableId": "Clientes",
"filterFormula": "{Status} = 'Active'",
"pageSize": 50
}
  • The record limit per page is 100 (imposed by Airtable)
  • Filters use Airtable formula syntax: {Field} = ‘Value’
  • Create and update operations accept record arrays for batch processing
  • Upsert mode allows creating records if no match is found in mergeFields
  • Configuration values support dynamic variables with {{path.to.value}} syntax
  • Records can come from the node configuration, from input.records or from input.data
  • Pagination uses the offset field returned by Airtable to get the next page