Enrich new Airtable leads with Apollo and enroll them in Reply.io

When a new lead lands in your Airtable inbox, enrich them with Apollo, push them into the right Reply.io sequence, and stamp the result back on the row.

Deterministic Code
AirtableApolloReply.ioSalesOperationsLead EnrichmentData Sync
PromptCreate

Build a code-based workflow that runs whenever a new record is added to my Airtable "Lead Inbox" table, enriches the lead with Apollo, enrolls them in a Reply.io sequence, and writes the result back to the Airtable row.

Trigger: poll Airtable for new records on the Lead Inbox table. The table includes at least these columns: Email, First Name, Last Name, Company, Company Domain, Reply Sequence ID (the Reply.io sequenceId to use), and a few result columns I want stamped back (Reply Contact ID, Sequence Enrolled, Enrichment Status, Processed At).

Step 1: Call Apollo People Enrichment using the row's email. If email is missing, fall back to first name plus company domain. Capture title, company name, industry, employee count, and LinkedIn URL from the Apollo response.

Step 2: Build a Reply.io contact payload with firstName, lastName, email, title, and company taken from Apollo when present and from the Airtable row as a fallback. Include custom fields for industry, employee count, and LinkedIn URL. Then call Reply.io Add Contact to Sequence, passing the sequenceId from the Reply Sequence ID column on the Airtable row so different lead types route to different sequences.

Step 3: Call Airtable Update Record on the original row to write back the Reply.io contact ID, the sequence enrolled, an enrichment status of "enriched: true" or "enriched: false", and a processed_at timestamp. This stamp is what prevents the row from being reprocessed.

Error handling: if Apollo returns no match, do not fail the run. Still enroll the contact in Reply.io with the raw Airtable fields, and set the enrichment status to "enriched: false" so I can spot which rows went out thin. If Reply.io returns a 409 because the contact is already in the sequence, treat that as a successful enrollment and still stamp the row.

What does this prompt do?

  • Watches your Airtable lead inbox and runs the moment a new row appears, so leads start a sequence the same day they land.
  • Looks up each lead in Apollo to fill in title, company, industry, employee count, and LinkedIn URL before any outreach is sent.
  • Adds the enriched contact to the right Reply.io sequence based on a column on the lead row, so different lead types get different cadences.
  • Stamps the Reply.io contact ID, the sequence enrolled, the enrichment status, and a processed timestamp back on the Airtable row so nothing gets touched twice.

What do I need to use this?

  • An Airtable base with a lead inbox table that has at least an email column and a sequence selector column.
  • An Apollo account with API access for people enrichment.
  • A Reply.io account with the sequences you want to enroll leads into already set up.

How can I customize it?

  • Change which Airtable column decides the Reply.io sequence, so you can route by lead source, persona, or region.
  • Adjust which Apollo fields get mapped into Reply.io custom fields, like adding seniority, location, or department.
  • Decide what to do when Apollo cannot match a lead: enroll them anyway with the raw Airtable data, or skip and flag the row for manual review.

FAQs

What happens if Apollo cannot find the lead?
The workflow still adds the contact to Reply.io using the fields already on the Airtable row, and marks the row as not enriched so you can spot which leads went out with thinner data.
How does it pick which Reply.io sequence to use?
It reads a sequence column on the Airtable row. That means different lead types, like inbound demo requests versus event scans, can route into completely different cadences without any branching logic on your end.
Will the same lead get enrolled twice if I edit the row later?
No. After enrollment, the workflow stamps a processed timestamp and the Reply.io contact ID back on the row, and only acts on rows that have not been processed yet.
Do I need a paid Apollo plan?
You need a plan that allows API access to people enrichment, since enrichment consumes Apollo credits. Free trial plans usually include a small allowance to test with.
Can I run this on an existing Airtable table without rebuilding it?
Yes. As long as your table has an email column and a column that names the Reply.io sequence to use, you can point the workflow at it. The workflow adds the result columns it needs on first run.

Related templates

A website visitor queue that remembers what you hide

Your SDRs open one screen each morning, work the companies that visited your site, and hide the irrelevant ones for good.

Leadfeeder
Apollo
Salesforce
App
Creator roster board for rebook, test, or pause calls

Decide who stays on your creator roster after every campaign, with each creator's real numbers on screen and every call recorded where the team can see it.

Later
Airtable
Slack Bot
App
Run your nutrition clients' weekly meal plans from one console

See who is due, build a week of dinners on demand, swap anything you do not like, then send the recipe and grocery links yourself.

Instacart
Airtable
Gmail
App
Instagram UGC rights tracker and repost approval board

See every customer photo that tags your brand, ask for permission in one click, and repost only once a yes is on the record.

Instagram
Airtable
Slack Bot
App
A verification desk for every document your team scans

See every scan next to the details pulled out of it, correct anything wrong, and let only verified numbers reach your ledger sheet.

JigsawStack
Airtable
Google Sheets
App
Browse and shortlist creators without burning audit credits

Search creators for free, shortlist the best with your team, and spend an audit credit only when you decide someone is worth a closer look.

HypeAuditor
Airtable
Slack
App

Stop hand-loading leads into Reply.io.

Connect Airtable, Apollo, and Reply.io once, and Geni enriches and enrolls every new lead the moment it lands.