Airtable

Airtable bases, schema, records, and comments via the Web API (OAuth).

# Airtable Skillpack

Use this tool family for **bases, tables, and records** on Airtable via the official Web API.

## Connection

Connect **Airtable** in Clono **Integrations** using **OAuth** (the **clono** integration).  
Clono uses PKCE and redirects to `https://tryclono.com/api/integrations/oauth/callback` (or your deployed site’s `/api/integrations/oauth/callback`).

**Scopes:** Request only scopes users can actually grant. **Enterprise / workspace** scopes (`enterprise.groups:read`, `workspacesAndBases:*`) cause Airtable to show “You are not allowed to grant the following access…” for many accounts—keep them **out** of `oauth.scopes` unless you run a separate integration for org admins. In [Builder Hub](https://airtable.com/create/oauth), **uncheck** those same scopes so the app is not allowed to request them (avoids `invalid_scope` if the manifest is a subset). Default manifest: record data/comments, schema read/write, `user.email:read`.

Server env: `AIRTABLE_OAUTH_CLIENT_ID`, `AIRTABLE_OAUTH_CLIENT_SECRET`.

## How to use through Clono

1. Search: `GET /api/tools/search?q=airtable`
2. Choose an operation (e.g. `airtable.list_records`, `airtable.create_records`).
3. Start a run: `POST /api/tool-runs` with `operationName` and `arguments`.
4. Poll: `GET /api/tool-runs/{runId}`

## Tips

- `base_id` looks like `appXXXXXXXX`.
- `table_id_or_name` can be a table name or table id.
- For `create_records` / `update_records`, pass `records_json` as a **JSON string** matching Airtable’s request bodies.