Airtable

Read, create, and update Airtable

Airtable is a powerful cloud-based platform that combines the functionality of a database with the simplicity of a spreadsheet. It allows users to create flexible databases for organizing, storing, and collaborating on information.

With Airtable, you can:

  • Create custom databases: Build tailored solutions for project management, content calendars, inventory tracking, and more
  • Visualize data: View your information as a grid, kanban board, calendar, or gallery
  • Automate workflows: Set up triggers and actions to automate repetitive tasks
  • Integrate with other tools: Connect with hundreds of other applications through native integrations and APIs

In SteelEngine, the Airtable integration enables your agents to interact with your Airtable bases programmatically. This allows for seamless data operations like retrieving information, creating new records, and updating existing data - all within your agent workflows. Use Airtable as a dynamic data source or destination for your agents, enabling them to access and manipulate structured information as part of their decision-making and task execution processes.

Usage Instructions

Integrates Airtable into the workflow. Can list bases, list tables (with schema), and create, get, list, or update records. Can also be used in trigger mode to trigger a workflow when an update is made to an Airtable table.

Tools

airtable_list_bases

List all bases the authenticated user has access to

Input

ParameterTypeRequiredDescription
offsetstringNoPagination offset for retrieving additional bases

Output

ParameterTypeDescription
basesarrayArray of Airtable bases with id, name, and permissionLevel
↳ idstringBase ID (starts with "app")
↳ namestringBase name
↳ permissionLevelstringPermission level (none, read, comment, edit, create)
metadatajsonPagination and count metadata
↳ offsetstringOffset for next page of results
↳ totalBasesnumberNumber of bases returned

airtable_list_tables

List all tables and their schema in an Airtable base

Input

ParameterTypeRequiredDescription
baseIdstringYesAirtable base ID (starts with "app", e.g., "appXXXXXXXXXXXXXX")

Output

ParameterTypeDescription
tablesarrayList of tables in the base with their schema
↳ idstringTable ID (starts with "tbl")
↳ namestringTable name
↳ descriptionstringTable description
↳ primaryFieldIdstringID of the primary field
↳ fieldsarrayList of fields in the table
↳ idstringField ID (starts with "fld")
↳ namestringField name
↳ typestringField type (singleLineText, multilineText, number, checkbox, singleSelect, multipleSelects, date, dateTime, attachment, linkedRecord, etc.)
↳ descriptionstringField description
↳ optionsjsonField-specific options (choices, etc.)
metadatajsonBase info and count metadata
↳ baseIdstringThe base ID queried
↳ totalTablesnumberNumber of tables in the base

airtable_list_records

Read records from an Airtable table

Input

ParameterTypeRequiredDescription
baseIdstringYesAirtable base ID (starts with "app", e.g., "appXXXXXXXXXXXXXX")
tableIdstringYesTable ID (starts with "tbl") or table name
maxRecordsnumberNoMaximum number of records to return (default: all records)
filterFormulastringNoFormula to filter records (e.g., "({Field Name} = 'Value')")

Output

ParameterTypeDescription
recordsarrayArray of retrieved Airtable records
↳ idstringRecord ID
↳ createdTimestringRecord creation timestamp
↳ fieldsjsonRecord field values
metadatajsonOperation metadata including pagination offset and total records count
↳ offsetstringPagination offset for next page
↳ totalRecordsnumberNumber of records returned

airtable_get_record

Retrieve a single record from an Airtable table by its ID

Input

ParameterTypeRequiredDescription
baseIdstringYesAirtable base ID (starts with "app", e.g., "appXXXXXXXXXXXXXX")
tableIdstringYesTable ID (starts with "tbl") or table name
recordIdstringYesRecord ID to retrieve (starts with "rec", e.g., "recXXXXXXXXXXXXXX")

Output

ParameterTypeDescription
recordjsonRetrieved Airtable record
↳ idstringRecord ID
↳ createdTimestringRecord creation timestamp
↳ fieldsjsonRecord field values
metadatajsonOperation metadata
↳ recordCountnumberNumber of records returned (always 1)

airtable_create_records

Write new records to an Airtable table

Input

ParameterTypeRequiredDescription
baseIdstringYesAirtable base ID (starts with "app", e.g., "appXXXXXXXXXXXXXX")
tableIdstringYesTable ID (starts with "tbl") or table name
recordsjsonYesArray of records to create, each with a fields object
fieldsstringNoNo description

Output

ParameterTypeDescription
recordsarrayArray of created Airtable records
↳ idstringRecord ID
↳ createdTimestringRecord creation timestamp
↳ fieldsjsonRecord field values
metadatajsonOperation metadata
↳ recordCountnumberNumber of records created

airtable_update_record

Update an existing record in an Airtable table by ID

Input

ParameterTypeRequiredDescription
baseIdstringYesAirtable base ID (starts with "app", e.g., "appXXXXXXXXXXXXXX")
tableIdstringYesTable ID (starts with "tbl") or table name
recordIdstringYesRecord ID to update (starts with "rec", e.g., "recXXXXXXXXXXXXXX")
fieldsjsonYesAn object containing the field names and their new values

Output

ParameterTypeDescription
recordjsonUpdated Airtable record
↳ idstringRecord ID
↳ createdTimestringRecord creation timestamp
↳ fieldsjsonRecord field values
metadatajsonOperation metadata
↳ recordCountnumberNumber of records updated (always 1)
↳ updatedFieldsarrayList of field names that were updated

airtable_update_multiple_records

Update multiple existing records in an Airtable table

Input

ParameterTypeRequiredDescription
baseIdstringYesAirtable base ID (starts with "app", e.g., "appXXXXXXXXXXXXXX")
tableIdstringYesTable ID (starts with "tbl") or table name
recordsjsonYesArray of records to update, each with an id and a fields object

Output

ParameterTypeDescription
recordsarrayArray of updated Airtable records
↳ idstringRecord ID
↳ createdTimestringRecord creation timestamp
↳ fieldsjsonRecord field values
metadatajsonOperation metadata
↳ recordCountnumberNumber of records updated
↳ updatedRecordIdsarrayList of updated record IDs

airtable_get_base_schema

Get the schema of all tables, fields, and views in an Airtable base

Input

ParameterTypeRequiredDescription
baseIdstringYesAirtable base ID (starts with "app", e.g., "appXXXXXXXXXXXXXX")

Output

ParameterTypeDescription
tablesjsonArray of table schemas with fields and views
metadatajsonOperation metadata including total tables count

Triggers

A workflow can start when one of these Airtable events occurs.

Airtable Webhook

Trigger workflow from Airtable record changes like create, update, and delete events (requires Airtable credentials)

Configuration

FieldTypeDescription
CredentialscredentialThis trigger requires airtable credentials to access your account.
Base IDtextThe ID of the Airtable Base this webhook will monitor.
Table IDtextThe ID of the table within the Base that the webhook will monitor.
Include Full Record DatatoggleEnable to receive the complete record data in the payload, not just changes.

Output

FieldTypeDescription
payloadsarrayThe payloads of the Airtable changes
↳ timestampstringTimestamp of the change
↳ baseTransactionNumbernumberTransaction number
latestPayloadobjectThe most recent payload from Airtable
↳ timestampstringISO 8601 timestamp of the change
↳ baseTransactionNumbernumberTransaction number
↳ payloadFormatstringPayload format version (e.g., v0)
↳ actionMetadataobjectMetadata about who made the change
↳ sourcestringSource of the change (e.g., client, publicApi)
↳ sourceMetadataobjectSource metadata including user info
↳ userobjectUser who made the change
↳ idstringUser ID
↳ emailstringUser email
↳ namestringUser name
↳ permissionLevelstringUser permission level
↳ changedTablesByIdobjectTables that were changed (keyed by table ID)
↳ changedRecordsByIdobjectChanged records keyed by record ID
↳ currentobjectCurrent state of the record
↳ cellValuesByFieldIdobjectCell values keyed by field ID
↳ createdRecordsByIdobjectCreated records by ID
↳ destroyedRecordIdsarrayArray of destroyed record IDs
airtableChangesarrayChanges made to the Airtable table
↳ tableIdstringTable ID
↳ recordIdstringRecord ID
↳ changeTypestringType of change (created, changed, destroyed)
↳ cellValuesByFieldIdobjectCell values by field ID

On this page