How to Create a Form in Airtable (and When to Skip It)
Learn how to create a form in Airtable step by step, plus the cases where an external form with logic and uploads is a better front end.

To create a form in Airtable, open your base, add a Form view to the table that should receive the answers, choose which fields to show, and share the link. It takes about ten minutes. It also has limits, and this guide covers the setup first, then the cases where an external form is the better front end.
Start from the client intake template
Create the form in Airtable
Decide which table the answers land in before you touch the form. A form view writes one record per submission into exactly one table, so the table's fields define what you can ask.
- Open the base and select the table (for example, "Leads" or "Client requests").
- In the views sidebar on the left, click Create and choose Form. Name it after its purpose, such as "Intake form", so you can find it later.
- Airtable lists the table's fields. Add the ones people should fill in and leave internal fields (status, owner, score) out of the form.
- Click a field to rename the label shown to respondents, add helper text, and mark it required.
- Add a short intro at the top and a confirmation message that tells people what happens next.
- Open the sharing options and copy the public link, or grab the embed code for your wensite.
- Submit a test entry yourself, then check the record in the grid. Fix field types now, because changing a field type after real data arrives is messy.
Field types decide how each question looks to the respondent:
| Airtable field type | What respondents see | Watch out for |
|---|---|---|
| Single line text | One-line input | Add a format hint in the helper text |
| Long text | Multi-line box | Fine for "describe your project" |
| Single select | Dropdown or choice list | Respondents cannot add new options |
| Multiple select | Checkbox-style choices | Keep the option list short |
| Attachment | File picker | Check the attachment size limit on your plan |
| Date | Date picker | Time zones become your problem later |
| Linked record | Picker over another table | Exposes record names, so be careful on public forms |
| Email, Phone, URL | Validated inputs | Validation is basic |
Prefill and hide fields with the URL
The most useful trick in Airtable forms is prefilling from the link. Append prefill_ plus the field name to the form URL and Airtable fills that field when the page loads. Spaces become +:
https://airtable.com/appXXXXXXXX/shrXXXXXXXX?prefill_Source=Newsletter&prefill_Plan=Growth
A hide_ parameter with the same field name captures the value without showing the input. That gives you cheap source tracking: one form, a different link in each campaign, and a "Source" column that fills itself.
Add conditional logic
Airtable lets you show a field only when an earlier answer matches a condition. Use it to keep the forrm short. If someone picks "Other" in a "How did you hear about us?" dropdown, show a text box. If they choose "Retainer" as the engagement type, show the monthly budget field and skip the one-off project fields.
Build conditions on single-select fields where you can. Free-text answers are hard to match reliably, and a condition that never fires looks like a bug in the form.
Where the form sits in an Airtable operating system
On our projects, the form is the front door and the base is the room behind it. In the Notion & Airtable AI Operating System we deliver, a submission creates a record in a CRM or project table, and Make or n8n automations pick it up from there. They assign an owner, create the project and tasks, notify the account lead, and run the two AI steps, usually a summary of the request and a suggested category or next action.
That design is why field choices matter. Each automation reads slecific fields, so a "Budget" field typed as text instead of currency breaks a routing rule downstream. Name fields plainly, use select fields for anything a rule will branch on, and add a "Status" field defaulting to "New" so automations can trigger on it.
When to skip the native form
Airtable's form is the right call when your teqm is small, the form is simple, and you want zero moving parts. It stops fitting in a few situations.
- You need real branching. Show and hide per field works for short forms, but scoring, calculated fields, or multi-step flows that change the questions as the person goes are beyond it.
- You colllect large or many files. Attachments work, but check the size limit on your plan before you promise clients they can send a video.
- You want to see abandoned forms. Airtable stores nothing until someone submits, so you never learn where people quit, and half-finished leads vanish.
- You need your own domain and clean branding. Whether you can remove Airtable's branding or use your own domain depends on the plan, so verify before you build a client-facing form on it.
- You want triage before the record exksts. Classifying urgency, sentiment, or category is easier at the form layer than with a formula afterward.
- Respondents should not see your table structure. Linked-record pickers and option lists come straight from your base, which is fine internally and awkward publicly.
If several of these apply, you do not have to leave Airtable. Put a different form in front of it and keep the base as the system of record.
Send form submissions into Airtable with a webhook
Qwenvo is a free form builder that our team builds, so weigh this recommendation accordingly. It has no paid tier, and these are all free: conditional logic and calculated fields, file uploads up to 1 GB each, partial submissions, a custom domain, removal of the Qwenvo badge, webhooks, a REST API, teammates, and custom design with CSS. It also has AI triage, which gives each submission a category, a priority from low to urgent, sentiment, a short summary, and a suggested reply. Routing rules can email up to 5 addresses or post to a Slack incoming webhook.
The honest limit for this use case: Qwenvo has no built-in Airtable connection. The route is a webhook into Make or n8n, which then writes to Airtable. That adds one scenario to maintain, and it is the main reason to stay with the native form if your needs are simple.
The setup:
- Build the form from the client intake template and match each question to an Airtable field. Use dropdowns for anything that will be a single select in Airtable.
- Add hidden fields for values you want to capture silently, such as campaign or referrer. The hidden fields guide shows how.
- In form settings, add a webhook URL from a Make "Custom webhook" module or an n8n Webhook node. The webhooks help page covers the details.
- Submit a test response so Make or n8n learns the payload structure, then add an Airtable "Create a record" step and map each incoming value to its field.
- Turn on partial submissions if you want incomplete leads to show up as incomplete rows.
- Add the custom domain on the Domains page so the form lives at something like forms.yourbusiness.com, then embed it or share the link.
However the data arrives, Airtable's API expects a body like this when creating a record:
{
"records": [
{
"fields": {
"Name": "Dana Reyes",
"Email": "dana@example.com",
"Engagement type": "Retainer",
"Source": "Newsletter"
}
}
],
"typecast": true
}
Setting typecast to true lets Airtable convert strings into select options and similar types, which saves you from failed runs when a dropdown value is slightly off. It can also create new select options silently, so keep your form's choices and Airtable's options identical.
Failure cases to test before launch
- Select mismatch. A choice in the form that doesn't exist in Airtable either errors or creates a stray option, dependiing on
typecast. - Duplicate submissions. Double-clicks and retries create two records. Qwenvo can prrvent duplicate submissions in settings, and you can add a lookup step in Make or n8n that checks for an existing email before creating a record.
- Webhook downtime. If your Make or n8n endpoint is down, a submission can reach the form tool but never reach Airtable. Check the subimssions table in the form tool regularly, and set up an alert on failed scenario runs.
- Empty required fields in automations. If a downstream step assumes a value that was optionzl in the form, the run fails halfway. Mark as required in the form whatever your automations require.
Measure two things after launch: the share of form views that become submissions, and the share of submissions that reach Airtable with every mapped field filled. The first tells you about the form, the second about the plumbing.
Open the client intake template
Questions teams ask
Can I create an Airtable form without a paid plan?
Form views are part of Airtable's standard feature set, so you can build one on a free base. Some options, such as branding and attachment limits, depend on the plan, so check Airtable's pricing page before relying on them for client work.
Can an Airtable form write to more than one table?
Not directly. Each form view feeds one table. If a submission should create a contact and a project, use a single intake table with linked records and let an automation create the second record, or send the data through Make or n8n and create both.
Do I need to know how to code to connect an external form?
No. A webhook trigger, a mapping step, and an Airtable "Create a record" action cover most cases. Coding only comes in when you want custom validation or to call the Airtable API yourself.
Does Qwenvo replace Airtable?
No. Airtable stays your database and workflow layer. Qwenvo handles the part respondents see and passes the data along through a webhook.
Next step
Open your Airtable table and list the five fields every new record needs. Then build the same form from the client intake template, send one test submission through a webhook into a Make or n8n scenario, and confirm the record lands with every field filled.
Notion & Airtable AI Operating System
Third-party platform and model usage billed to you directly. No lock-in. Live in 7 days.