CSV imports into Airtable often fail for reasons that are not obvious from the import screen. The file may look clean, the headers may be readable, and the preview may even show the right rows. The real problem is usually the mapping between source columns, Airtable field types, and linked record behavior.
This is the workflow I use before importing operational data into Airtable, especially when the base has linked records, select fields, IDs, or messy exports from another system.
Start with a mapping table
Before touching the importer, map the CSV in a small table:
| CSV column | Airtable field | Field type | Required? | Cleanup rule |
|---|---|---|---|---|
| Contact ID | Source ID | Single line text | Yes | Preserve exactly |
| Company | Company | Linked record | Yes | Match primary field |
| Status | Status | Single select | No | Normalize labels |
| Notes | Notes | Long text | No | Keep raw text |
| Created At | Created date | Date | No | Convert to one date format |
This table makes the import decision explicit. It also helps you avoid changing the Airtable schema while you are already inside the upload flow.
Separate identifiers from names
A common mistake is treating every readable value as a display label. In practice, imports usually contain two different kinds of columns:
- stable identifiers, such as customer IDs, ticket IDs, order IDs, or source system IDs
- human-readable labels, such as company names, contact names, status labels, or category names
Preserve stable IDs exactly. Do not trim leading zeros, convert them to numbers, or merge them into display fields. If something goes wrong later, those IDs are what let you compare the imported Airtable records against the original export.
Be careful with linked records
Linked records deserve special attention. If the CSV value does not match the linked table's primary field, the import can look correct but still fail to create the relationship you expected.
For example, if your CSV has a Company column with values like "Acme Inc" but the linked Companies table uses "Acme" as the primary field, Airtable may not match the existing company record. You can end up with blank links, duplicate linked records, or records that look valid but are not connected correctly.
Before importing linked records, check:
- whether the linked table already contains the target records
- whether the CSV value exactly matches the linked table primary field
- whether you want Airtable to create new linked records automatically
- whether duplicate names exist in the linked table
- whether the import should use a text staging field first
For risky imports, I usually import into a temporary text field first, review the values, then convert or map them into linked records after the mismatch cases are visible.
Normalize select fields before import
Single select and multi-select fields can create messy option lists if the CSV contains small variations.
These values may all represent the same status:
- Active
- active
- ACTIVE
- Active customer
- Current
Decide the final Airtable labels before import. Otherwise, you may create duplicate select options and have to clean the base after the data is already live.
Test with five representative rows
Do not test with the first five rows unless they represent the full data shape. Pick rows that include:
- one normal record
- one record with a linked record value
- one record with missing optional fields
- one record with date or number fields
- one record with edge-case text, such as commas, line breaks, or unusual characters
This small test catches most mapping errors before the full import creates hundreds or thousands of records.
Create a post-import review view
After import, create a review view that filters for likely problems:
- blank required fields
- unmatched linked records
- duplicate source IDs
- unexpected select values
- invalid dates
- records created during the test import
This view is useful because import errors are not always visible in the upload screen. Some issues only become obvious after the records exist in the base.
Practical checklist
A safe CSV to Airtable import usually looks like this:
- Preserve the raw CSV.
- Identify IDs, names, dates, categories, notes, and linked-record candidates.
- Build a mapping table before import.
- Decide which fields should be linked records.
- Normalize select values before upload.
- Test five representative rows.
- Review blanks, invalid values, duplicates, and unmatched linked records.
- Keep the source ID field for rollback and reconciliation.
I keep a more detailed CSV to Airtable field mapping checklist here: CSV to Airtable field mapping checklist
Top comments (0)