# Airtable Integration for Email Validation

URL: https://email-validation.org/integrations/airtable/
Updated: 2026-11-06

> Documentation index: https://email-validation.org/llms.txt

Two ready-made scripts write a validation status and reason to your Airtable records: an automation script checks each new or edited address, and a bulk-clean script checks a whole view at once. You copy a script into Airtable and pick your fields, so there is nothing to install.

[Read the full setup guide](https://email-validation.org/docs/guides/airtable/) [Get an API key](https://email-validation.org/signin/)

- Status: Setup guide
- An automation and a Scripting extension

**Your table and automation** Fields and settings

What you add

```text
Validation status   Single line text, or a single select
Validation reason   Single line text
Validated email     Single line text or Email
Validation job      Single line text (bulk clean only)

Script secret       EV_API_KEY = your API key
Input variable      recordId = Airtable record ID
```

## At a glance.

- **Status**: **Setup guide.** Not listed on a marketplace yet: you set it up yourself in a few steps, below and in the full guide.
- **For**: Teams that keep contacts, leads or sign-ups in an Airtable base and want each address’s status on its record, checked as records arrive or a whole view at once.
- **You need**: An Airtable base with an email field and the result fields from the guide, and an [API key](https://email-validation.org/app/api-keys/) made for it, with a [daily credit cap](https://email-validation.org/docs/authentication/#limits). The bulk-clean script also needs the Bulk lists permission, which is off by default, because it checks more than 50 addresses as one bulk list.
- **Costs**: 1 credit = 1 validated address, as with any API request. Free: unknown results, API errors, malformed addresses and test addresses on sandbox.email-validation.org.
- **Full guide**: [Read the full setup guide](https://email-validation.org/docs/guides/airtable/)

## Typical uses.

- **Check each new address**: An automation runs the script when the email field changes, or when a record is created, and writes the status, the reason and the checked address back to that record.
- **Clean a whole view**: The bulk-clean script checks every record of a view that has no result yet: up to 50 addresses as single checks, more as one bulk list, and it shows the most a run can cost before you confirm.
- **Branch in the automation**: The script’s output variables, status, reason, action, result and skippedBecause, feed the next steps of your automation, such as a notification when an address is invalid.

## Set it up. 5 steps.

The short version of the [full setup guide](https://email-validation.org/docs/guides/airtable/), which stays the reference when a step does not match what you see.

1. **Add the fields and a key**: Add Validation status, Validation reason, Validated email and, for the bulk-clean script, Validation job to your table. Create an API key with a daily credit cap.
2. **Create the automation**: Create an automation with the trigger When a record is updated, on your table and your email field only, and a Run a script action holding the automation script from the guide.
3. **Set the input and the secret**: Add the input variable `recordId`, set to the trigger record’s Airtable record ID, and a secret named `EV_API_KEY` holding your key. Set your table and field names in `EV_SETTINGS`.
4. **Test it and turn it on**: Test the action with a record holding `accepted@sandbox.email-validation.org`, then turn the automation on. Add a second one with the trigger When a record is created for records that arrive with an address already in place.
5. **Clean a view**: Add the Scripting extension, replace its code with the bulk-clean script, pick the table, the view and the fields in its settings and run it: it asks you to confirm, then asks for your key.

## Good to know.

- A record is checked only when its address differs from the one in Validated email, when it has no status, or when its status is error. So the automation’s own write never triggers another check, and editing another field costs nothing.
- A bulk list is uploaded unstarted, and its id is written to each record’s Validation job field before it starts. A run waits up to 15 minutes; when it stops for any reason, run it again: it resumes the same list and never pays twice.
- In an automation the key lives in Airtable’s Secrets, not in the script or a record. The Scripting extension has no secret store, so the bulk-clean script asks for your key each run and never saves it.
- When a check fails, such as a refused key, no credits or the key’s daily cap, the record is marked `error` with the error code as its reason and the run fails, so Airtable notifies you. For [EU data residency](https://email-validation.org/docs/eu-data-residency/), set `region` to `eu`.
- Try it first with `accepted@sandbox.email-validation.org` and the other [test addresses](https://email-validation.org/docs/test-addresses/): each returns the result its name says and costs nothing.

## Related

- [The full Airtable setup guide](https://email-validation.org/docs/guides/airtable/)
- [Reruns never pay twice: how a bulk list resumes](https://email-validation.org/docs/guides/airtable/#resume)
- [Every message and what to do](https://email-validation.org/docs/guides/airtable/#messages)
- [Statuses and reasons](https://email-validation.org/docs/statuses/)
- [Google Sheets template: the same idea for a spreadsheet](https://email-validation.org/integrations/google-sheets/)
- [All integrations](https://email-validation.org/integrations/)
