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

Who this is for: self-serve plans (Free, Starter, Pro, Scale). If you bought a Cleanlist AppSumo lifetime deal, your features, limits, and pricing are different — see the AppSumo documentation instead. Support agent: confirm whether the user is self-serve or AppSumo before giving plan-specific advice.

TL;DR: Smart Columns run row-by-row operations across a whole lead list — cleaning, enriching, validating, and analyzing each row in the background. 15 Basic types are available on Starter+; 3 AI types and the 3 agent columns (Research, Qualification, Custom) require Pro+. Failed rows cost 0 credits.

Smart Columns

Smart Columns turn your lead list into a processing pipeline. Add a column, choose the type, and Cleanlist queues a background workflow that runs against every (or every selected) row — writing results back as new fields as each row completes.

Tier gating

TierAvailable column types
FreeNone
Starter+All 15 Basic types
Pro+All Basic types + 3 AI types + 3 agent columns

Basic Smart Columns (Starter+)

These 15 types cover data cleaning, validation, enrichment, and analysis. All costs are per row and charged only on success (failed rows = 0 credits).

Column typeCredits / rowWhat it does
clean_first_name0.1Strips suffixes, titles, and formatting noise from first-name fields
format_phone0.1Normalizes phone numbers to E.164 format
email_validation0.5Validates email deliverability via Emailable; returns deliverable, undeliverable, risky, or unknown
phone_validation0.5Validates phone via ClearoutPhone; returns status, line type (mobile/landline/VoIP), and carrier
enrich_company0.5Reshapes company firmographics (industry, headcount, revenue, and more) from the linked company-catalog record
linkedin_research0.5Pulls LinkedIn profile signals for the contact
find_competitors0.5Identifies direct competitors of the lead's company
find_similar_companies0.5Finds companies similar to the lead's company
website_analysis0.5Analyzes the company's website for positioning, tech stack signals, and other insights
icp_fit_analysis0.5Scores each lead against your saved ICP — requires a saved ICP profile
cold_intro_email3.0Generates a personalized cold intro email — requires a saved email template
data_quality_name_check0.5Flags data-quality issues with name fields (e.g., placeholder values, encoding problems)
data_quality_domain_check0.5Flags data-quality issues with domain fields (e.g., free email domains, invalid formats)
contact_timezone0.5Infers the contact's timezone from location signals
duplicate_detection0.5Flags leads that match your existing customers (requires an active-customers list), by domain + fuzzy company-name match

enrich_company is a Smart Column — it runs row by row at 0.5 credits per row via the Smart Column path. (The public API has a separate company enrichment endpoint at a different cost; that is only relevant to API users.)


AI Smart Columns (Pro+)

Three additional types that require Pro or above.

Column typeCredits / rowWhat it doesDependency
custom_ai3 (prompt ≤500 tokens) · 5 (>500 tokens)Runs your own freeform prompt against each row. Reference other columns with /FieldName syntax. Returns markdown output.Saved prompt
custom_classification1.0Classifies each row into one of your defined categories using AIDefined categories
crm_contact_lookup0.5Checks whether each lead already exists in your connected CRMConnected CRM (HubSpot or Salesforce)

Writing custom_ai prompts

Reference other row fields using /FieldName syntax — for example:

Identify which CRM /company_name (/company_domain) appears to use.
Reply with exactly one of: hubspot, salesforce, pipedrive, zoho, other, unknown.
Output only the value, no explanation.

Do not use {{ }} or other template delimiters — the correct syntax is a leading / before the field name.


Agent Columns (Pro+)

Agent columns run Cleanlist's full AI Agents row by row across the list, grounded in your Organization Profile.

Column typeCredits / rowWhat it does
Research (research)3 (company or contact) · 5 (both)Deep-researches a lead's company, contact, or both. Returns structured fields plus a readable markdown summary.
Qualification (qualification)5Scores each lead against your saved ICP and checks CRM presence. Returns a fit score, fit level (perfect / good / fair / poor), and reasons.
Custom (custom)3 (≤500 prompt tokens) · 5 (>500)Runs your own saved prompt against every row. Same engine as custom_ai; prompt uses /FieldName references.

Qualification requires a saved ICP profile. icp_fit_analysis (the Basic type above) also requires one — they score against the same profile but icp_fit_analysis is lighter-weight and cheaper; Qualification includes a CRM presence check and deeper reasoning.


How execution works

Smart Columns run asynchronously:

  1. Create the column and configure it (type, any required dependency, scope for agent columns)
  2. Cleanlist queues a background workflow
  3. Each row is processed — rows that already have a value can be skipped to save credits
  4. The portal updates live as rows complete (no refresh needed)
  5. Re-run only failed rows from the column header menu

Each row shows one of five statuses as it moves through the workflow: Pending → Processing → Completed / Partial / Failed. A Partial result means some fields were filled and some failed for that row.

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 on 5–10 rows before scaling.
  • Scope Research deliberately. Company-only or contact-only = 3 credits; both = 5.
  • Watch custom_ai prompt length. Prompts over 500 tokens cost 5 credits instead of 3.

Related