Airtable
Airtable is a popular spreadsheet-database hybrid used by 450,000+ companies for tracking projects, customers, content, and more. Advanced Form Integration appends every form submission as a new record to an Airtable table you choose, mapping form fields to columns.
What you’ll need
- An active Airtable account.
- A Personal Access Token (PAT) with
data.records:writescope on the target base. - A table created in Airtable with appropriate columns.
- The Advanced Form Integration plugin installed and activated.
Get your Airtable Personal Access Token
Airtable deprecated standalone API keys in early 2024. Personal Access Tokens replaced them.
- Log in to Airtable.
- Open the Personal Access Tokens page.
- Click Create new token.
- Give it a name (e.g. Advanced Form Integration).
- Under Scopes, add
data.records:write(anddata.records:readif you want field-name auto-discovery). - Under Access, choose the specific base(s) the token can write to.
- Click Create token and copy the value shown.
The token starts with pat.... Treat it like a password.
Find your Base ID
Airtable identifies bases by an ID like appXXXXXXXXXXXXXX. Find it by opening your base, then visiting Airtable’s API docs. The base URL contains the ID.
Connect Airtable to AFI
- In WordPress, go to AFI → Settings → Airtable.
- Click Add Account and paste the Personal Access Token.
- Save.
Create the integration
- Go to AFI → Add New.
- Configure the trigger.
- In Action → Platform, select Airtable.
- In Task, choose Create New Record.
- Enter the Base ID and pick the Table from the dropdown that auto-populates.
- Map the form fields to Airtable columns.
- Optional: configure Conditional Logic.
- Click Save Integration.

Tasks supported
Create New Record
Appends a new row to the chosen table. Column mapping is by Airtable field name (the visible header), not by API name.
Notes:
- Single line text, long text, email, URL, phone, number: map directly.
- Single select: value must match an existing option exactly (case-sensitive). Mismatched values are rejected.
- Multiple select: comma-separated value list.
- Date:
YYYY-MM-DDformat. Date+time fields acceptYYYY-MM-DDTHH:MM:SSZ. - Checkbox:
trueorfalse. - Attachment: provide a publicly accessible URL; Airtable downloads and stores the file.
- Linked record: provide the record ID(s) of the linked record(s), comma-separated.
- Formula / Lookup / Rollup: read-only, can’t be written to.
Conditional logic example
Goal: when a CRM-form submission’s Status is Hot Lead, write to a “Hot Leads” Airtable table; other statuses go to a general “Inbound” table.
Create two integrations on the same form, each pointing at a different Airtable table. Add the matching Equal To condition on each.
Troubleshooting
Record not created
Open AFI → Log for the API response:
INVALID_PERMISSIONS_OR_MODEL_NOT_FOUND: the token doesn’t have access to the base, or the base ID is wrong.INVALID_VALUE_FOR_COLUMN: a field value doesn’t match Airtable’s column type (e.g. text in a number field).UNKNOWN_FIELD_NAME: a column was renamed in Airtable. Re-pick the table to refresh the field list.
Single-select rejection
Single-select columns require the value to exactly match one of the predefined options. To allow new values without rejection, enable Auto-create options on that column in Airtable’s table settings.