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

By General Input

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.

Integrations

  • Airtable
  • Apollo
  • Reply.io

Type

Deterministic Code

Categories

  • Sales
  • Operations

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.

Related prompts

Explore more prompts
A website visitor queue that remembers what you hideCreator 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 searchesHeyReach list review desk before LinkedIn campaign enrollmentFind the people in your contacts who never made it to the CRM