Auto-enroll Airtable prospects into Lemlist with a custom icebreaker
When a new prospect lands in Airtable, find their verified email, write a one-line icebreaker, and add them to the right Lemlist campaign.
Build me an agent workflow that automatically enrolls new Airtable prospects into a Lemlist campaign with a personalized icebreaker.
Trigger: poll my Airtable Prospects table for new records (new_record event). I'll wire up the base, table, and the Airtable connection when I install the workflow.
For each new row, do the following:
1. Read the prospect's first name, last name, company, role, any research notes I pasted into the row, and the Lemlist campaign slug from a field on the row (call it campaignSlug).
2. Call the Lemlist Enrich Data operation with the prospect's first name, last name, and company to find a verified email and LinkedIn URL. Enrichment is async: Lemlist returns an enr_ id, so wait for the job to finish before using the result (poll the enrichment status on a short interval, with a sensible timeout).
3. If enrichment fails to return a verified email, skip the row entirely. Do not enroll the lead and do not update Airtable. I do not want to burn campaign capacity or sender reputation on bad data.
4. If we got a verified email, generate a one-sentence personalized icebreaker. Ground it in the prospect's company, role, or the research notes from the row. No generic compliments like "love what you're building" or "impressed by your growth." It should sound like a human read their LinkedIn and the notes, and picked one specific hook.
5. Call the Lemlist Create Lead in Campaign operation against the campaignSlug from the row. Pass firstName, lastName, companyName, linkedinUrl, and the icebreaker as custom variables so my sequence template can reference {{icebreaker}}, {{firstName}}, etc.
6. Call the Airtable Update Record operation on the original row to set status to "Enrolled" and write the verified email into the email field. This keeps Airtable as the source of truth.
Use an agent workflow (not a deterministic graph) because the icebreaker quality and the skip-on-bad-enrichment decision both need judgement. Log each step so I can see why a row was skipped or enrolled when I open the run.
Additional information
What does this prompt do?
- Watches your Airtable Prospects table for new rows.
- Finds a verified email and LinkedIn profile for each prospect using Lemlist's built-in enrichment.
- Writes a one-sentence icebreaker grounded in the prospect's company or role, never a generic compliment.
- Adds the prospect to the Lemlist campaign you picked on the row, with first name, last name, company, LinkedIn URL, and the icebreaker ready for your sequence.
- Marks the Airtable row as Enrolled and writes the verified email back so your list stays the source of truth.
What do I need to use this?
- An Airtable base with a Prospects table that holds first name, last name, company, role, any research notes, and a field for the Lemlist campaign you want each prospect to land in.
- A Lemlist account with at least one active campaign and enrichment credits available.
- A status column on the row so the workflow can mark it Enrolled when it finishes.
How can I customize it?
- Point the trigger at a different table or filter to a specific view (for example, only rows tagged Ready to enroll).
- Tune the icebreaker instructions to match your voice, a specific angle, or a recent company event.
- Change how the workflow handles bad enrichment, either by skipping silently or by moving the row to a manual review view.
Frequently asked questions
Will this enroll prospects without a verified email?
Can different prospects flow into different Lemlist campaigns?
What custom variables get passed to my Lemlist sequence?
How quickly does a new row get enrolled?
Do I need to clean up the row before the workflow runs?
Stop writing icebreakers row by row.
Connect Airtable and Lemlist once, and Geni enrolls every new prospect with a personalized opener and a verified email.