Verification to Enrichment to Sending Workflow
Connect verification, Clay enrichment, and your sending platform into one pipeline: clean contacts go in, enriched and campaign-ready leads come out, with no manual CSV handoffs between steps.
Before You Start
What you will build, and what you need first
Output: A repeatable pipeline where raw contact exports are verified before enrichment credits are spent, enriched in Clay with firmographics and personalization variables, and pushed directly into an Instantly or Smartlead campaign sequence without any manual file export.
Time required: 45 to 90 minutes for first-time setup across all three layers. Subsequent runs take 10 to 20 minutes per list, depending on size and how much automation you build into Clay.
An account with a bulk email verification tool: Bouncer, ZeroBounce, or Findymail. A Clay account on the Teams plan ($649/mo) if you want to push leads natively to Instantly or Smartlead without manual exports. Clay Starter ($249/mo) includes 1-way CRM sync only and does not support native push to sequencers via webhooks or API. An active Instantly or Smartlead account with at least one live campaign ready to receive leads. A raw contact list with first name, last name, company domain, and email address columns at minimum.
Workflow Overview
The 5-step verification to sending workflow at a glance
| Step | Action | Tool | Output |
|---|---|---|---|
| 1 | Deduplicate and prepare the raw list | Spreadsheet | Clean CSV with unique emails, required columns mapped |
| 2 | Run bulk verification and segment by result tier | Bouncer / ZeroBounce / Findymail | Verified list: Valid, Catch-all, Invalid segmented |
| 3 | Import verified contacts into Clay and run enrichment waterfall | Clay | Enriched contacts with firmographics, scoring, personalization variables |
| 4 | Apply ICP filter and scoring threshold in Clay | Clay | Filtered send list: only contacts above score threshold proceed |
| 5 | Push enriched leads directly to campaign in Instantly or Smartlead | Instantly / Smartlead | Active campaign contacts with personalization variables pre-loaded |
Running enrichment on an unverified list wastes Clay credits on contacts that will bounce or be removed. Clay charges credits per enrichment row processed, including invalid and catch-all addresses you would have discarded anyway. The correct order is always: verify first, remove invalids and high-risk catch-alls, then run the enrichment waterfall only on the contacts that will actually enter a campaign.
Step by Step
Complete verification to sending workflow: from raw list to active campaign
- Deduplicate the raw contact list and confirm required columns are present
Open the raw CSV export from your data source in a spreadsheet. Sort by email column and remove exact-match duplicates. Confirm the file contains at minimum: email address, first name, last name, and company domain. Clay enrichment works best when company domain is present alongside email, because it enables waterfall lookups across firmographic providers that match on domain rather than email. Save the deduplicated file as CSV with UTF-8 encoding before moving to verification.
- Upload the deduplicated list to your verification tool and segment results into three tiers
Upload the CSV to Bouncer, ZeroBounce, or Findymail and run bulk verification. Once results are returned, segment the output into three tiers: Tier 1 (Valid / Deliverable), Tier 2 (Catch-all that passed secondary verification), and Tier 3 (Invalid, Unknown, high-risk Catch-all, disposable, toxicity-flagged). Remove Tier 3 contacts from the file before Clay import. Bouncer's toxicity scoring (0 to 5 scale) identifies spam trap seeds, litigators, and complainers: remove any contact with a toxicity score of 3 or above regardless of deliverability status. Only Tier 1 and clean Tier 2 contacts proceed to enrichment.
- Import the verified list into Clay and configure the enrichment waterfall
In Clay, create a new table and import the verified CSV. Set up a waterfall enrichment sequence using Clay's built-in provider selection: start with your highest-confidence provider for company firmographics (employee count, industry, revenue range), then cascade to secondary providers on miss. Clay's 150+ data provider waterfall fills data gaps that any single provider would leave. Add an AI column (Claygent) to generate a personalization variable for each contact: a one-sentence observation about the company based on website or LinkedIn data. This variable feeds directly into the email template in Instantly or Smartlead at send time.
Clay Starter ($249/mo) supports one-way CRM sync only. It does not support webhooks or API calls, which are the mechanisms Clay uses to push leads directly into Instantly or Smartlead campaigns. If you are on Starter, you will need to export a CSV from Clay and upload manually into your sending platform. Upgrade to Clay Teams ($649/mo) to enable the native integration that automatically pushes enriched contacts into a named campaign in Instantly or Smartlead on a scheduled or triggered basis.
- Apply the ICP filter and scoring threshold before the push step
In Clay, add a filter column that scores each contact against your ICP criteria: company size, industry, seniority, and any signal data you have added (job changes, web intent). Set a minimum score threshold. Only contacts above the threshold pass to the push step. This filter keeps low-fit contacts out of the active campaign, which protects your sending domain's engagement rate. Contacts below threshold can be routed to a holding table for re-scoring later when signals improve or ICP criteria shift.
- Push enriched leads directly into the target campaign in Instantly or Smartlead
In Clay Teams, use the native Instantly or Smartlead integration to configure the push: select the destination campaign, map the Clay columns to the contact fields in your sequencer (first name, last name, email, company, and your AI personalization variable), and set the push schedule (immediate on new rows, or batched at a set time). In Instantly, the lead is created with all custom variables pre-loaded so the sequence can reference them in the first email without any manual editing. In Smartlead, the contact enters the campaign's active step with all enrichment fields populated. Confirm the first 5 contacts land correctly in the campaign before running the push at full list volume.
If your raw list contains names and company domains but not email addresses, Findymail finds and verifies the email in a single step (1 credit per found and verified result). It integrates natively with Smartlead, Instantly, lemlist, and Woodpecker, which means you can run find-and-verify and push directly to a campaign sequence without Clay as an intermediate step. This path is faster for simpler pipelines that do not need Clay's waterfall enrichment or AI personalization columns.
Common Failures
What breaks in the verification to sending workflow, and how to fix it
The two most common failure modes are enrichment credits spent on unverified contacts, and Clay pushes failing silently because the account is on Starter rather than Teams. Both are setup-stage problems that do not appear until you run the first full pipeline.
Stack Reference
Tools in the verification to sending workflow stack
The tools below map to the three workflow layers. Layer 1 (verification): Bouncer, ZeroBounce, or Findymail. Layer 2 (enrichment): Clay. Layer 3 (sending): Instantly or Smartlead. Most setups use one tool per layer. Findymail doubles as finder and verifier for lists that start with names and domains rather than email addresses.






Workflow connected. Next: run the list hygiene SOP before every new import.
The list hygiene SOP covers the full verification decision rules, tier segmentation, and projected bounce rate calculation to run before each pipeline cycle.