Auto-enrich new Airtable leads with People Data Labs

By General Input

When new leads land in your Airtable table, fill in name, title, company, seniority, location, and LinkedIn URL automatically. No drafting, no Slack pings, just a clean enriched row.

Integrations

  • Airtable
  • People Data Labs

Type

Deterministic Code

Categories

  • Sales
  • Operations

Build me a deterministic code workflow that auto-enriches new leads in my Airtable Leads table using People Data Labs. No agent reasoning, no Slack messages, no drafting. The shape is fixed: poll for new rows, bulk-enrich them with PDL, write the results back.

Trigger: Airtable poll, event type new_record, on a specific base and table that I will configure. Each fired row gives me a recordId and the row's fields.

For each batch of fired rows (up to 100 at a time), do this:

1. Read the email column (required) and the LinkedIn URL column (optional) from each row. Skip rows that have neither.

2. Call People Data Labs Bulk Person Enrichment in a single request with up to 100 items. For each item, send email as the primary identifier, and profile (LinkedIn URL) when present. PDL returns an array in the same order as the input, with a status per item.

3. For each returned item: if status is 200, pull the canonical fields from data — full_name, job_title (current title), job_company_name (current company), job_company_website or job_company_domain, job_title_levels or seniority, location_locality (city), location_region (region/state), location_country, linkedin_url. Map these onto the originating Airtable row by recordId.

4. If status is 404 (no match), set the row's PDL Status field to "no_match" so analysts can see which rows could not be enriched. Do not write the data columns for those rows.

5. Write everything back to Airtable using Update Multiple Records. Airtable caps batch updates at 10 records per call, so chunk the updates into groups of 10 and loop through them. Include the PDL Status field set to "enriched" on successful rows.

Use People Data Labs Bulk Person Enrichment for the enrichment call (one request per batch, not one per row — that is the whole point). Use Airtable Update Multiple Records for the writeback. You can optionally use Airtable List Records up front if it helps dedupe within a batch, but the poll trigger should already give clean new rows.

Field names on the Airtable side are configurable, but assume reasonable defaults: Email, LinkedIn URL, Full Name, Title, Company, Company Domain, Seniority, City, Region, Country, LinkedIn (output), PDL Status. Let me rename them in the workflow config.

Keep the flow strictly deterministic. No model calls, no judgment, no enrichment on rows that already have a Full Name unless I flip a setting. The output is just a clean enriched Airtable row.

Related prompts

Explore more prompts
Creator roster board for rebook, test, or pause callsRun your nutrition clients' weekly meal plans from one consoleInstagram UGC rights tracker and repost approval boardA verification desk for every document your team scansBrowse and shortlist creators without burning audit creditsGlobal operations exposure map for your sites and suppliersDeal sourcing kanban board for your Harmonic saved searchesProof client shoots and hand off the delivery album in one placeField service dispatch board that ranks the closest techVendor due diligence register with on-demand risk briefs