New: API Reference docs are live — integrate Cleanlist enrichment into your apps. View API docs →
Features
Smart Columns

TL;DR: Smart Columns are AI-driven enrichment columns you add to any lead list. There are 19 built-in types covering data cleaning, company research, email validation, ICP scoring, CRM lookups, and AI agents. Costs range from 0.1 to 5 credits per row. Failed rows cost 0 credits.

Smart Columns

Smart Columns turn your lead list into a programmable spreadsheet. Add a column, pick its type, and Cleanlist runs the column against every (or every selected) row in the background — using the same provider waterfall and credit pool as the rest of the platform.

What you can do

CategoryExamples
Data hygieneClean first name, format phone numbers, validate emails
Company researchEnrich company, find competitors, find similar companies, website analysis
Person researchLinkedIn research, contact timezone
Quality checksData quality name check, data quality domain check, duplicate detection
CRMCRM contact lookup (is this person already in your CRM?)
AI generationCold intro email, custom AI prompt, custom classification
AI agentsResearch and Qualification (powered by AI Agents)
TargetingICP fit analysis (against any saved ICP profile)

Each column writes its result into a new field on every row, queryable via the portal and exportable like any other column.

The 19 built-in column types

Column typeCost (credits/row)What it does
clean_first_name0.1Normalize a messy first name (capitalization, accents, formatting)
format_phone0.1Convert a phone number to E.164 format
email_validation0.2Run an extra deliverability check (Emailable / ZeroBounce)
enrich_company0.5Pull industry, headcount, founded year, location, LinkedIn, and more
linkedin_research0.5Summarize a contact's LinkedIn profile (recent activity, role, tenure)
find_competitors0.5Identify a company's top competitors
find_similar_companies0.5Find lookalike companies
website_analysis0.5Summarize a company website (positioning, products, ICP signals)
icp_fit_analysis0.5Score a contact / company against a saved ICP profile
data_quality_name_check0.5Detect malformed or low-quality names
data_quality_domain_check0.5Detect personal / catch-all / disposable domains
contact_timezone0.5Infer a contact's local timezone from location data
crm_contact_lookup0.5Check whether a contact already exists in your connected CRM
duplicate_detection0.5Flag duplicate rows within the list
custom_classification1.0Classify rows into your own categories
custom_aifrom 1.0Run a custom AI prompt over each row; larger prompts cost more
cold_intro_email3.0Generate a personalized cold outreach email
research3.0–5.0AI Agent: deep-research the company, contact, or both
qualification5.0AI Agent: score the lead against your ICP + CRM presence

All costs come from your organization's regular credit pool. Failed runs cost 0 credits. See Credit Pricing for the full picture.

Custom AI pricing

The custom_ai column runs your own prompt against every row. Short prompts run on the cheaper tier; long, detailed prompts (roughly 500+ tokens) cost more per row because they do more work. The portal estimates the per-row cost before you commit.

Company-scoped columns

Smart Columns aren't limited to people. Some columns are company-scoped — they run against the companies on a lead list rather than individual contacts, and the result is attached to the company row instead of a lead. This is how a company sheet gets firmographics, competitor lists, and agent research without duplicating work across every contact at the same company.

Person-scoped and company-scoped results live side by side, each isolated per list and per user.

AI Agent columns

Two of the column types are full AI Agents exposed as columns:

  • research — deep-research a lead's company, contact, or both. Scope controls depth and cost (company-only or contact-only = 3 credits, both = 5).
  • qualification — score each lead against your saved ICP and automatically check whether they're already in your CRM, returning a fit score, verdict, and reasons (5 credits).

These columns use your organization's Organization Profile as context, so research and scoring reflect what your company actually sells. They're the same agents available in the in-app assistant — see AI Agents for details.

How execution works

Smart Columns run asynchronously, the same way enrichment workflows do:

  1. You create the column (choosing a type and any per-column config)
  2. Cleanlist queues a background workflow
  3. Each row is processed in parallel
  4. As rows complete, the portal updates live (no refresh needed)
  5. You can re-run just the failed rows from the column header menu

Rows that already have a value can be skipped to save credits.

When to use Smart Columns vs raw enrichment

ScenarioUse
You need email or phone for a fresh contactEnrichment (partial, phone_only, full)
You already have a list and want to enrich the company of each rowenrich_company Smart Column
You want to score contacts against an ICPicp_fit_analysis or qualification Smart Column
You want a personalized email per rowcold_intro_email Smart Column
You need deep research per leadresearch Smart Column
You need to clean up a messy importclean_first_name, format_phone, data_quality_*
You want to know who's already in your CRMcrm_contact_lookup Smart Column

Tips for keeping costs predictable

  • Filter first. Apply a list filter, then run the column on the filtered selection.
  • Re-run only failed rows. The column header menu has a Run failed only option.
  • Test on a small sample. Run a column on 5–10 rows before scaling.
  • Stack thoughtfully. A cold_intro_email (3 credits) is far better if you've already run enrich_company (0.5) and linkedin_research (0.5) — the AI has more context to draft with.

Related