Checked before it writes

Validation that keeps bad data out of Airtable.

Before Impora writes a single record, every row is checked against the rules of your actual Airtable fields, types, formats, required values, valid options, and links. Clean rows land; the rest come back with the exact row number and a plain-English reason.

Row-level, not all-or-nothing · matches your live schema · plain-English errors

Review before writedeals-q3.csv
#ContactValueStatus
1Ava Reyes$4,200Imported
2Brooke CarterWidgetHeld
3Chris Nolan$9,800Imported
4Dana Shah$2,750Imported
Row 2 held: Value must be a number
1,240 pass4 held0 written until you approve

A gate, not a gamble

Nothing reaches your base until it has passed the rules.

However a file arrives, upload, email, or a watched folder, the same validation engine runs before any write.

Step 1

Map

Columns are matched to your Airtable fields. A missing required column is flagged up front, before any row runs.

Step 2

Check

Each row is validated against its field type, format, required-ness, valid options, and links.

Step 3

Split

Passing rows are written to Airtable; failing rows are set aside with a per-row reason.

Step 4

Report

You get an error report, row number and reason, to correct and re-import just the rows that failed.

What Impora checks

Field by field, against your real Airtable types.

Impora reads your table’s actual field types and validates each cell to match, so imports do not get rejected downstream, and your base never fills with values that do not belong.

REQUIRED

Required fields

A missing value in a required field is caught and named, never quietly written as blank.

EMAIL

Email

Checked for a valid email address format before it lands.

URL

URL

Must be a proper http(s):// link.

NUMBER

Number, currency, percent, rating, duration

Must be a real, finite number.

DATE

Date & date-time

Must be a valid date in your configured format (default DD/MM/YYYY), with a general date-parse fallback.

CHECKBOX

Checkbox

Accepts natural inputs, true/false, yes/no, 1/0, and converts them.

SELECT

Single & multi-select

The value must match an existing option in your field (case-insensitive; multi-selects split on commas). Impora will not create junk options.

LINKED

Linked records

Impora fetches the linked table live and matches your text to real records by name, so "Acme Corp" links to the actual Acme record.

Trims stray whitespaceLeading and trailing spaces are cleaned before a value is checked.
Normalises dates & value typesValues are coerced to what Airtable expects for the field.
Flags duplicatesWithin the file (case-insensitive, on the field you choose) and, for updates, by matching existing Airtable records.

Partial success by design

Good rows import. Bad rows come back with a reason.

Validation is row-level, so one bad cell never blocks the whole file. Passing rows are written; failing rows are set aside as an error report you can actually act on.

The original dataEach held row comes back with its values intact, so you can see exactly what was submitted.
A _row_number that lines upIt matches the row in your spreadsheet, so you fix the right line in seconds.
A plain-English _errorNamed field, clear reason, "must be a number", "is not a valid option".
import-errors.csv · 4 rows held
_row_numbervalue in file_error
7Deal Value: "Widget"Estimated Deal Value must be a number
12Stage: "Negtiation""Negtiation" is not a valid option
19Owner Email: "sam@"Owner Email is not a valid email address
23Company: (blank)Company is required
Fix these four rows, re-send the file, done. The 1,240 clean rows already imported.

Why it matters

Imports that behave like your schema expects.

Validated before write

No half-imported files and no malformed records, the check happens before anything reaches your base.

Matches Airtable’s own rules

Options, linked records, and types are checked against your live schema, so imports do not get rejected downstream.

Partial success by design

Clean rows always land; only the genuinely bad rows wait. One bad cell never blocks a file.

Actionable, per-row errors

Every failure names the field, the exact row number, and a reason in plain English.

Import validation questions

What does Impora validate against?+

Your live Airtable schema. Impora reads each field’s real type and rules, required, email, URL, number, date, checkbox, single and multi-select options, and linked records, and checks every cell to match before writing.

Does one bad row stop the whole import?+

No. Validation is row-level, not all-or-nothing. Every row that passes is written to Airtable, and only the rows that fail are held back, so a single bad cell never blocks a file.

What is in the error report?+

Each held row comes back with its original data, a _row_number that lines up with your spreadsheet, and a plain-English _error such as "Estimated Deal Value must be a number" or "Widget is not a valid option". Fix those rows and re-send.

Which date formats are accepted?+

Dates are validated against the format configured on your template (default DD/MM/YYYY), with a general date-parse fallback. It does not auto-detect every locale, so set the format to match your source files.

Will importing create new select options?+

No. A single or multi-select value must match an option that already exists on your field (case-insensitive). Values that do not match are reported rather than written, so Impora never adds junk options to your base.

How are duplicates handled?+

Impora flags duplicates within the file, case-insensitive, on the field you choose, and, for update imports, can match against existing Airtable records. It is not a full fuzzy de-dupe across your entire base.

Does validation run no matter how the file arrives?+

Yes. Whether a file comes in by upload, email, or a watched cloud folder, the same validation engine runs before any row is written.

Your base only receives data that fits.

Free to start. Every row checked against your Airtable rules before it writes, clean rows land, bad rows come back with a reason you can act on.

Validate an import free →See what it checks
CSV to Airtable →Excel to Airtable →Linked records →Email to Airtable →Airtable export automation →