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 via the Airtable REST API. It covers the full CRUD lifecycle — listing bases, inspecting schema, and managing records — using OAuth 2.0 so no API keys or secrets are required.
Capabilities
- Discovery & introspection: List accessible bases (with permission levels), retrieve the full schema of a base (column names, types, select options, linked-record targets, and views), and resolve the current user identity and granted scopes.
- Reading records: Fetch a single record by ID, list records with filtering, sorting, view-scoping, and column projection, or search records by matching a single column against a text term.
- Writing records: Create up to 10 rows per call (repeated calls append rather than replace); partial confirmation raises rather than silently succeeding.
- Updating records: Patch specific columns on up to 10 existing rows per call; unconfirmed rows are surfaced by ID for safe retry.
- Deleting records: Remove up to 10 rows per call; deleted rows are unrestorable via the API, and unconfirmed deletions are surfaced before any retry.
- Response safety: Truncation signals (
truncated,views_included) across schema and record reads prevent silent context overflow; callers are guided to narrow requests when needed.
OAuth
This toolkit authenticates via OAuth 2.0 with Airtable as the provider. See the Airtable auth provider docs for setup details, including which scopes are required.
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