Read and write Airtable records, tables, fields and comments from any Windmill script, flow or app.
Set up in 3 steps
Create a personal access token
At airtable.com/create/tokens, create a token with the bases it may reach and copy it. Grant data.records:read/write, schema.bases:read for the base and table dropdowns, and schema.bases:write or data.recordComments:read/write if you edit tables or comments.
Add the resource in Windmill
Open Resources, add a resource of type airtable, and paste the token.
Run your first script
Fork any script below. Pick the base, then the table, from the dropdowns; they list what the token can reach.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
Upsert Records
Update Table
Update Multiple Records
Update Field
Update Comment
Search Records
List Tables (Get Base Schema)
List Comments
List Bases
Get Record or Create
Delete Multiple Records
Create Table
Create or Update Record
Create Field
Create Comment
Create Multiple Records
Delete Record
Get Record
Create Single Record
Update Record
List Records
Flows
Multi-step workflows that already wire Airtable to something else.
Trigger flows from Airtable
Airtable is not only a destination. These inbound paths are supported today.
Airtable webhooks on an HTTP route
Airtable webhooks are created through its API with a notificationUrl pointing at a Windmill HTTP route, and each notification is only a ping, so the route's script fetches the changed payloads itself. A webhook made with a personal access token expires after 7 days unless refreshed, so schedule a refresh.
Resource types
The credential shapes the scripts on this page expect — pick the one your script asks for.
airtable
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| apiKey | string | No | Personal access token (starts with pat), created at https://airtable.com/create/tokens. Grant it the scopes and the bases your scripts need. |
airtable_table
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| baseId | string | No | |
| tableName | string | No |
Questions
The base or table dropdown is empty or errors
The dropdowns need the schema.bases:read scope and only list the bases added to the token. Edit the token in Airtable to grant both.
Can I connect with OAuth instead of a token?
Not yet: Airtable's OAuth requires PKCE, which Windmill's OAuth connections do not send.
Is my key stored on the hub?
Never. It lives only in your own Windmill workspace, encrypted at rest.