Airtable
Service domainSPREADSHEETS
Arcade Optimized
Arcade tools designed for LLMs to interact with Airtable bases and records
9tools
Arcade's Airtable toolkit lets LLMs read and write Airtable bases and records through OAuth-authenticated API calls. It covers the full CRUD lifecycle — discovering bases and schemas, querying and searching rows, and creating, updating, or deleting them.
Capabilities
- Discovery: List accessible bases (with permission levels) and retrieve full base schemas — column names, types, select options, linked-record targets, and views — before writing to avoid field-name or value mismatches.
- Reading records: Fetch a single row by ID or list rows with optional filtering (formula-based), sorting, column selection, and view scoping; search rows by matching one column against arbitrary text.
- Writing records: Create up to 10 rows per call (repeating adds more rows rather than replacing); update specific columns on existing rows without touching others; delete rows permanently (up to 10 per call).
- Partial-success handling: All write and delete tools distinguish confirmed vs. unconfirmed record IDs and surface
count/requested_count/unconfirmed_record_idsso callers can safely retry only the unresolved subset. - Account introspection: Resolve which Airtable account and granted scopes the current authorization represents.
OAuth
This toolkit uses OAuth 2.0 via the Airtable provider. See the Arcade Airtable auth provider docs for setup details including required scopes and how to register an OAuth app in Airtable.
Available tools(9)
9 of 9 tools
Operations
Behavior
| Tool name | Description | Secrets | |
|---|---|---|---|
Create rows in an Airtable table, up to 10 per call.
Repeating this call creates additional rows rather than replacing the first set.
`count` and `requested_count` are equal on success, and `record_ids` names the rows.
If Airtable confirms fewer rows than requested, this call raises instead of reporting
an incomplete success, because new rows do not have caller-known IDs to reconcile. | |||
Delete rows from an Airtable table, up to 10 per call.
Deleted rows are removed from the table and cannot be restored through the API.
`record_ids` holds only the rows Airtable confirmed deleted. When `count` is lower than
`requested_count`, `unconfirmed_record_ids` names the rest; re-read those before
deleting again. | |||
Get the column names, column types and select options inside an Airtable base.
Read this before writing records: writes key on column names, a select column
rejects values outside the options reported here, and a linked-record column only
accepts record IDs from the table it names.
`views_included` is false whenever a table's views were not returned: include_views
was false, or they were left out to fit the response (then `truncated` is true). An
empty views list with `views_included` true means the table has no saved views.
Narrow with `table` when only one table matters. Airtable returns the whole base,
so leaving it empty on a wide base costs the context the records themselves need.
`truncated` says detail was left out to keep the response usable: descriptions and
views go first, then columns from the end of a table. Ask for one named table to give
it the whole response; a table still too wide returns its leading columns in order,
always at least its first, whose select options may be cut from the end. | |||
Get a single Airtable row by its record ID.
Returns every column unless fields narrows it. Long cell values are clipped the same
way they are in a listing, and `truncated` says when that happened. A record ID that
does not exist, or was deleted, comes back as a refusal that does not distinguish
the two. | |||
List the Airtable bases this authorization can reach, with permission levels.
Returns bases in Airtable's default order. | |||
List rows from an Airtable table, optionally filtered, sorted and column-limited.
Use this when the condition combines columns, or compares numbers or dates. To match
one column against plain text, use the record search tool instead.
Returns records in the view's order, or Airtable's default order when no view is
given, unless sort_field overrides it. | |||
Find rows in an Airtable table whose column matches a search term.
Use this to match one column against text: quotes and backslashes in the search term
are escaped, so arbitrary text is safe to pass. Use the formula-based listing instead
when the condition combines columns or compares numbers or dates.
Returns records in the table's order unless sort_field is given. | |||
Change columns on existing Airtable rows, up to 10 per call.
Only the columns supplied are written; every other column is left untouched.
`count` is how many rows Airtable confirmed. When it is lower than `requested_count`,
`unconfirmed_record_ids` names the rest; re-read those before updating them again. | |||
Get the Airtable account this authorization belongs to, and its granted scopes.
Useful for confirming whose bases are being read or changed. |
Last updated on