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
| Category | Examples |
|---|---|
| Data hygiene | Clean first name, format phone numbers, validate emails |
| Company research | Enrich company, find competitors, find similar companies, website analysis |
| Person research | LinkedIn research, contact timezone |
| Quality checks | Data quality name check, data quality domain check, duplicate detection |
| CRM | CRM contact lookup (is this person already in your CRM?) |
| AI generation | Cold intro email, custom AI prompt, custom classification |
| AI agents | Research and Qualification (powered by AI Agents) |
| Targeting | ICP 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 type | Cost (credits/row) | What it does |
|---|---|---|
clean_first_name | 0.1 | Normalize a messy first name (capitalization, accents, formatting) |
format_phone | 0.1 | Convert a phone number to E.164 format |
email_validation | 0.2 | Run an extra deliverability check (Emailable / ZeroBounce) |
enrich_company | 0.5 | Pull industry, headcount, founded year, location, LinkedIn, and more |
linkedin_research | 0.5 | Summarize a contact's LinkedIn profile (recent activity, role, tenure) |
find_competitors | 0.5 | Identify a company's top competitors |
find_similar_companies | 0.5 | Find lookalike companies |
website_analysis | 0.5 | Summarize a company website (positioning, products, ICP signals) |
icp_fit_analysis | 0.5 | Score a contact / company against a saved ICP profile |
data_quality_name_check | 0.5 | Detect malformed or low-quality names |
data_quality_domain_check | 0.5 | Detect personal / catch-all / disposable domains |
contact_timezone | 0.5 | Infer a contact's local timezone from location data |
crm_contact_lookup | 0.5 | Check whether a contact already exists in your connected CRM |
duplicate_detection | 0.5 | Flag duplicate rows within the list |
custom_classification | 1.0 | Classify rows into your own categories |
custom_ai | from 1.0 | Run a custom AI prompt over each row; larger prompts cost more |
cold_intro_email | 3.0 | Generate a personalized cold outreach email |
research | 3.0–5.0 | AI Agent: deep-research the company, contact, or both |
qualification | 5.0 | AI 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:
- You create the column (choosing a type and any per-column config)
- Cleanlist queues a background workflow
- Each row is processed in parallel
- As rows complete, the portal updates live (no refresh needed)
- 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
| Scenario | Use |
|---|---|
| You need email or phone for a fresh contact | Enrichment (partial, phone_only, full) |
| You already have a list and want to enrich the company of each row | enrich_company Smart Column |
| You want to score contacts against an ICP | icp_fit_analysis or qualification Smart Column |
| You want a personalized email per row | cold_intro_email Smart Column |
| You need deep research per lead | research Smart Column |
| You need to clean up a messy import | clean_first_name, format_phone, data_quality_* |
| You want to know who's already in your CRM | crm_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 runenrich_company(0.5) andlinkedin_research(0.5) — the AI has more context to draft with.
Related
- Credit Pricing — full credit pricing
- AI Agents — the Research and Qualification engines behind those columns
- ICP Profiles — used by
icp_fit_analysisandqualification - Company Enrichment — the
enrich_companycolumn as a bulk action - Action Columns — how Smart Columns differ from Action Columns
- Smart Columns recipes — copy-paste configurations for common use cases