Airtable lead enrichment (waterfall)
When a lead lands in Airtable, waterfall-enrich its work email (Apollo then Hunter) and write the result back to the row.
What it does
The integration steps this workflow runs, in the order it first runs them.
- 1
AirtableList records - 2
ApolloEnrich person - 3
HunterEmail finder - 4
AirtableUpdate record
How it works
Everything the template sets up, and what to fill in before the first run.
Productionized, scheduled version of the Waterfall email enrichment template. On a schedule it enriches new rows in your Airtable "Leads" table: it lists the table, enriches every not-yet-processed row, and writes the results back in place.
Flow: on a 15-minute schedule -> list the Leads table -> for each row that isn't already enriched, run the waterfall (Apollo People Enrichment first for firmographics + work email; Hunter Email Finder as the fallback, kept only when score >= 90 and the domain isn't catch-all) -> write Email, Email Status, Email Source, Title, Seniority, LinkedIn, Industry, Employees back onto the row and set Enrichment Status to "enriched" (or "needs_review" when no confident email was found). Both providers charge nothing on a miss, so you only pay where an email lands.
Why a schedule and not a new-row trigger: Airtable's (and Google Sheets') new-row triggers deliver no row data - they only wake the run, and an event-trigger call isn't seed-valid - so a schedule that lists and skips already-done rows is simpler and equivalent. It's also self-healing: if a provider rate-limit aborts a run, already-updated rows are skipped next time and the rest are retried.
Setup: 1. Connect Apollo, Hunter, and Airtable. 2. Create a "Leads" table with columns: First Name, Last Name, Company, Domain (inputs); Email, Email Status, Email Source, Title, Seniority, LinkedIn, Industry, Employees, Enrichment Status (filled by the workflow). 3. Set your Base ID and Table name in the baseId / tableName variables at the top (and adjust the schedule interval in the first step if you like). 4. Tune minScore (Hunter strictness) if you like. Add a test row; the next scheduled run enriches it.
Rows missing First Name, Last Name, or Domain are flagged (Email Status "missing_input", Enrichment Status "needs_review") and skipped rather than aborting the run - Airtable omits empty cells from its API response, so a partial row reads back as nulls and can't be enriched.
Notes / limits: the list step uses a server-side filter (filter_formula) to fetch only rows not yet enriched, so it scales to tables far larger than 50 - max_records (50) just caps how many are processed per run. Extend the chain with cheaper providers (Icypeas / Prospeo / Dropcontact) and a standalone verifier before the write-back; the chain logic stays the same.
Start from a workflow that already works.
Add "Airtable lead enrichment (waterfall)" to your workspace, connect its apps, and make it yours. No credit card required.
Free plan available · No credit card required
