Saltearse al contenido

Airtable

Este modulo permite interactuar con la API de Airtable para gestionar bases de datos, tablas y registros. Soporta operaciones CRUD completas: listar bases, obtener el schema de tablas, listar registros con filtros y paginacion, obtener un registro especifico, crear registros, actualizar registros (con soporte upsert) y eliminar registros.

La autenticacion se realiza mediante OAuth2 a traves del servicio airtableOAuthService. Los registros pueden resolverse desde la configuracion del nodo o desde los datos de entrada del workflow, incluyendo soporte para variables dinamicas con sintaxis {{path.to.value}}.

ParametroTipoRequeridoDescripcion
credentials_idcredentialsSiCuenta de Airtable (OAuth)
operationselectSiOperacion: listBases, getSchema, listRecords, getRecord, createRecords, updateRecords, deleteRecords
baseIdtextCondicionalID de la base (empieza con app…)
tableIdtextCondicionalID de la tabla (tbl…) o nombre
recordIdtextCondicionalID del registro (rec…) para getRecord
filterFormulatextNoFormula de filtro Airtable (ej: {Status} = ‘Active’)
viewtextNoNombre de la vista a utilizar
pageSizenumberNoRegistros por pagina (max 100, default: 100)
fieldsarrayNoCampos especificos a retornar
sortarrayNoConfiguracion de ordenamiento
recordsarrayCondicionalRegistros a crear o actualizar
recordIdsarrayCondicionalIDs de registros a eliminar
upsertbooleanNoCrear registros si no existen (default: false)
mergeFieldsarrayNoCampos para emparejar en modo upsert
outputKeytextNoClave donde se almacenan los resultados

Tipo de servicio: airtable. Se gestionan mediante OAuth2 a traves del servicio airtableOAuthService.

Campos de configuracion:

  • Autenticacion OAuth2 con permisos de lectura/escritura sobre bases y registros
{
"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
}
  • El limite de registros por pagina es 100 (impuesto por Airtable)
  • Los filtros usan la sintaxis de formulas de Airtable: {Campo} = ‘Valor’
  • Las operaciones de creacion y actualizacion aceptan arrays de registros para procesamiento por lotes
  • El modo upsert permite crear registros si no se encuentra coincidencia en mergeFields
  • Los valores de configuracion soportan variables dinamicas con sintaxis {{path.to.value}}
  • Los registros pueden provenir de la configuracion del nodo, de input.records o de input.data
  • La paginacion usa el campo offset retornado por Airtable para obtener la siguiente pagina