Databases and spreadsheets
In developmentSend form submissions to Airtable
Airtable's own forms are fine until you want your own markup, your own styling and spam filtering that actually works. Keep the form you built and write the submissions into your base as records. The native adapter with a field mapper is in development; the webhook route below works today.
The native Airtable destination is still being built. The steps below use a webhook, which works today and needs no change to your form once the adapter ships.
What lands in Airtable
- A new record in your chosen table per submission
- Form fields mapped onto Airtable columns
- File uploads attached as Airtable attachments
- Spam quarantined before anything reaches your base
Setup
Create a personal access token
In Airtable's developer hub, create a token with data.records:write scope on the base you want to write to.
Add a webhook destination today
Point a WebForms webhook at a function that calls Airtable's records API. Sample below.
Switch to the native adapter when it lands
The Airtable destination will connect with OAuth and let you map fields visually. No changes to your form.
Airtable example
Swap in your own endpoint and these run as-is.
Creates one record per submission.
export async function POST(req: Request) {
const body = await req.json();
await fetch(
`https://api.airtable.com/v0/${process.env.AIRTABLE_BASE}/Submissions`,
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.AIRTABLE_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
fields: {
Name: body.data.name,
Email: body.data.email,
Message: body.data.message,
},
}),
},
);
return new Response("ok");
}Worth knowing
- The native Airtable destination is in development. This page describes the webhook route, which works today.
- Airtable rejects writes to a field that does not already exist - create the columns before your first submission.
- The API limits you to 5 requests per second per base. Deliveries are queued, so bursts are smoothed rather than rejected.
Airtable form FAQ
Yes. Keep your own HTML, styling and validation, and write records into your base through a webhook destination today or the native adapter when it ships.
Not yet - it is in development. The webhook route on this page works today and needs no change to your form when the adapter arrives.
Yes. Uploads are stored and the payload includes a download URL, which Airtable can ingest as an attachment.
Other destinations
Send your next form submission to Airtable
Free for 300 submissions a month. Endpoint in under a minute, no card required.
Start free