How to build a Clay enrichment table with AI columns
Clay is the most powerful enrichment tool available right now. Most people use about 20 percent of what it can do. Here is how to build a table that takes a domain list and produces a campaign-ready contact list.
How Clay actually works
Clay is a spreadsheet where every column can be an API call, an enrichment lookup, or an AI operation that runs on every row. That is the entire product. Understanding that model changes how you design tables.
The typical workflow is: import a list of companies or contacts, enrich each row with data from external sources, run AI operations to score or personalise, then push the output to an outreach tool. Each of those steps is a column.
The power comes from chaining. The output of one column feeds into the prompt of the next. By the time a row reaches your outreach tool, it has passed through a dozen data sources and AI operations that have enriched, scored, and personalised it automatically.
Starting with the right input
Every Clay table starts with a list. That list is usually one of three things: a CSV of company domains you want to target, a CSV of contacts with names and emails, or a live source like a Clay search that pulls accounts matching your ICP criteria.
The domain list approach is the most common starting point for outbound campaigns. You define your ICP, use Clay's built-in company search or import from Apollo, and start with a clean list of domains.
Before you add any enrichment columns, define what you want the table to produce at the end. The output drives the column structure. If you need a verified contact with a personalised email opener ready for HeyReach, you need columns for contact finding, email verification, and AI personalisation in that order. If you need an ICP-scored account list for prioritisation, you need firmographic columns and an AI scoring column.
Build backwards from the output. Add only the columns that are steps toward it.
The enrichment layer: firmographics and contact finding
The first group of columns handles firmographic data. Industry, headcount, location, founding year, funding stage, tech stack. Use Clay's native Clearbit integration as your first source. It covers most established companies well. For startups or less well-known companies, supplement with Explorium or Crunchbase.
The second group finds the right contact at each company. Apollo is the strongest first source for contact finding. Configure the Apollo enrichment column with your target title and seniority level. Apollo will return the best match it has for that combination at each company.
For companies Apollo does not cover, waterfall to Hunter.io. Hunter is strong for finding email patterns and verifying addresses even when it cannot find the specific contact. If Hunter comes up empty, add Dropcontact as a third fallback.
The waterfall pattern in Clay works like this: the Apollo column runs first. If it returns a result, the subsequent columns reference that result. If Apollo returns nothing, the next column (Hunter) runs. Clay handles this conditional logic natively through its formula system.
Always add an email verification column at the end of the contact-finding chain. NeverBounce and ZeroBounce both have Clay integrations. Any contact with a low verification confidence score should be excluded from your campaign. Sending to unverified emails damages your deliverability.
The AI layer: scoring and personalisation
Once your enrichment columns are populated, add the AI layer. This is where Clay becomes genuinely different from any other enrichment tool.
Add an AI column using Clay's built-in Claude or OpenAI integration. In the prompt, reference your enrichment columns using Clay's variable syntax (the @ symbol followed by the column name). This feeds the enriched data from each row into the prompt.
For ICP scoring, write a prompt that takes the company's industry, headcount, location, and any signal columns you have added (recent funding, hiring SDRs, etc.) and returns a score from 1 to 10 with a one-sentence reason. Filter your table to show only rows above a 7 before you continue enriching. This keeps you from spending Clay credits on accounts that will never convert.
For personalisation, write a prompt that generates a specific first line for a cold email based on the company's situation. Give the AI a constraint: under 20 words, no generic language, reference something specific. Ask it to base the line on the most relevant recent signal from the company's data.
The quality of AI column output is directly proportional to the specificity of your prompt and the richness of the data in your other columns. A sparse table produces generic AI output. A well-enriched table produces usable personalisation.
Pushing to outreach and keeping it clean
Once your table is enriched and scored, push the verified contacts directly to HeyReach for LinkedIn outreach or to Instantly and Smartlead for email. Clay has native integrations with both.
Set up the push to only send rows that meet your minimum criteria: verification confidence above 80 percent, ICP score above 7, and no previous contact in your CRM. Adding a HubSpot lookup column that checks for existing contacts before pushing prevents duplicates from entering your sequences.
One thing worth building into every table: a status column that tracks what happened to each row. Did it get pushed? Did the email bounce? Did it convert? Keeping this in Clay alongside the enrichment data means you can analyse which enrichment signals correlate with outcomes over time. That analysis makes every subsequent table better.