Auto-enrich new Airtable prospects with Datagma
When a new prospect lands in Airtable, find their verified work email, mobile, title, and company details, then write everything back to the row.
Build a code workflow that auto-enriches new prospect rows in Airtable using Datagma so SDRs work from populated records instead of bare LinkedIn URLs.
Trigger: Airtable poll, event type new_record, on my Prospects table. I will configure the base and table at setup.
Step 1. Airtable Get Record. Read the newly created record so we have its current values for linkedin_url, full_name, and company. Use the record id from the trigger payload.
Step 2. Datagma Enrich Person or Company. Call this with the LinkedIn URL when present, otherwise fall back to full_name plus company. Set personFull=true, companyFull=true, and phoneFull=true so we get the verified work email, mobile, current title, seniority, company size, industry, country, and technologies. Treat the response carefully: a 200 OK with code 5 means not found, not a successful match. Code 3 means a bad argument or bad API key and should surface as a workflow error.
Step 3. Airtable Update Record on the same record id. Map Datagma fields into the row: work_email, mobile_phone, current_title, seniority, company_size, industry, country, technologies. Only write a column when Datagma returned a value for it, so existing rep-entered data is not blanked out. Also set enrichment_status to enriched.
Not-found branch. If Datagma returned code 5, skip the field map and call Airtable Update Record with enrichment_status set to not_found. The outbound view filters on enrichment_status = enriched, so not_found rows drop out cleanly instead of looking like a successful enrichment with blank fields.
Error handling. On any non-code-5 failure from Datagma, set enrichment_status to error and include a short reason in an enrichment_notes column so I can retry later. Do not silently swallow the error.
Field mapping is fixed and deterministic, the inputs are structured, and there is no agent reasoning required, so this should be built as a code workflow with discrete nodes.
Additional information
What does this prompt do?
- Watches your Airtable Prospects table and runs the moment a new row appears.
- Takes the LinkedIn URL (or name plus company) on that row and pulls a verified work email, mobile phone, current title, seniority, company size, industry, country, and tech stack.
- Writes each detail back into its matching column so reps open a fully populated row instead of a bare LinkedIn link.
- Marks rows as not_found when the contact cannot be matched, so they drop out of outbound lists instead of looking like silent failures.
What do I need to use this?
- An Airtable workspace with a Prospects table that has columns for LinkedIn URL, work email, mobile, title, seniority, company size, industry, country, technologies, and an enrichment status field.
- A Datagma account with API credits available.
- Roughly five minutes to map your column names to the data points returned by the enrichment.
How can I customize it?
- Change the source field. If your reps drop in full names or company domains instead of LinkedIn URLs, swap the input the workflow reads from the row.
- Pick the data you want. Turn off mobile phone lookups if you only care about email, or skip company-level fields if you already have firmographics.
- Tune the not_found behavior. Send a Slack alert, copy the row to a manual review table, or just let it sit with the status flag so it never enters outbound.
Frequently asked questions
Does this work if my reps only paste a LinkedIn URL?
What happens when Datagma cannot find the contact?
Will this overwrite data my reps have already typed in?
How fast does a new prospect get enriched?
Can I run this against my existing backlog of un-enriched rows?
Stop opening LinkedIn for every new prospect.
Connect Airtable and Datagma once, and Geni fills every new row with verified email, phone, and firmographics.