Email Deliverability · Workflow

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.

Written for operators No vendor influence Practical, not theoretical

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.

📋
Prerequisites

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

StepActionToolOutput
1Deduplicate and prepare the raw listSpreadsheetClean CSV with unique emails, required columns mapped
2Run bulk verification and segment by result tierBouncer / ZeroBounce / FindymailVerified list: Valid, Catch-all, Invalid segmented
3Import verified contacts into Clay and run enrichment waterfallClayEnriched contacts with firmographics, scoring, personalization variables
4Apply ICP filter and scoring threshold in ClayClayFiltered send list: only contacts above score threshold proceed
5Push enriched leads directly to campaign in Instantly or SmartleadInstantly / SmartleadActive campaign contacts with personalization variables pre-loaded
⚠️
Verify before enriching, not after

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

  1. 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.

  2. 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.

  3. 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's native push to Instantly/Smartlead requires the Teams plan

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.

  1. 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.

  2. 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.

Findymail as a combined verification and finder layer

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.

If
Contacts are appearing in the sending campaign with missing personalization variables
The Clay column mapping between the enrichment output and the sequencer field names does not match. Open the campaign in Instantly or Smartlead and confirm the variable names used in the email template exactly match the column names Clay pushes. Field mapping is case-sensitive in both platforms.
If
Clay is not pushing to Instantly or Smartlead at all
The most likely cause is that the Clay account is on Starter, which does not include webhooks or the API calls needed for native sequencer push. Upgrade to Clay Teams or export the enriched table as CSV and upload manually into the campaign. Verify the integration is enabled in Clay Settings under Integrations before troubleshooting further.
If
Bounce rate on the first campaign send is above 3% despite running verification
Catch-all addresses that passed standard SMTP verification are likely inflating the bounce count. Re-run the verified list through Bouncer or ZeroBounce with the catch-all secondary pass enabled and tighten the Tier 2 decision rule to remove all catch-alls rather than just high-risk ones. Review the segment decision rules in the list hygiene SOP.
If
Enrichment match rate in Clay is below 60%
The raw list is likely missing the company domain column, or domain values are inconsistent (some rows have www prefix, some do not, some have abbreviated names). Clay's waterfall enrichment works most accurately when the company domain column is clean and consistent. Standardize the domain column before import: remove www, confirm all domains end in the correct TLD, and add missing domains manually where feasible before re-running enrichment.

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.

Bouncer
EU-hosted bulk email verification with catch-all detection, toxicity scoring (0 to 5 for spam traps and complainers), and non-expiring PAYG credits. No charge for unknowns or duplicates. API batch size up to 500,000 with 180,000 emails per hour throughput. The toxicity score is the most useful feature for B2B lists with a high proportion of corporate domains.
See Review
ZeroBounce
Bulk and real-time API verification with non-expiring credits, catch-all handling, DMARC monitoring, and blacklist monitoring. SOC 2 Type II, ISO 27001, HIPAA, GDPR, and CCPA compliant. Best choice when the contacts entering this workflow come from regulated-industry prospect lists that require strict data handling compliance.
See Review
Findymail
B2B email finder with built-in real-time verification and a catch-all bounce guarantee of under 5%. Native integrations with Smartlead, Instantly, lemlist, and Woodpecker mean you can skip the Clay layer for simpler pipelines. REST API with webhooks supports async operations and 300 concurrent requests by default. Credits roll over monthly with a cap of 2 times the monthly allocation.
See Review
Clay
GTM spreadsheet platform for waterfall enrichment across 150+ data providers. Built-in email verification (97% accuracy, under 2% bounce rate claim), AI columns for lead scoring and personalization variable generation, and native push to Instantly and Smartlead campaigns on the Teams plan. Webhooks and API calls require Teams ($649/mo). Starter ($249/mo) is 1-way CRM sync only.
Setup Guide
Instantly
Cold email outreach and deliverability platform with unlimited email accounts and warmup on all plans. Receives enriched leads directly from Clay via the native integration. Custom variables populated in Clay map to personalization fields in the email template at send time. AI reply labeling in the Unibox categorizes inbound responses for fast follow-up.
See Review
Smartlead
Deliverability-first cold email platform with unlimited mailboxes, unlimited warmup, auto-rotation, Smart-Adjust for spam drift prevention, and SmartDelivery inbox placement testing. Receives enriched leads from Clay natively. SmartSenders handles 2-click domain and mailbox provisioning with automated SPF/DKIM/DMARC if you are spinning up new infrastructure for this workflow.
See Review

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.

🔒 We may earn a commission at no extra cost to you. Learn more