contactctl Try ContactCTL

ContactCTL for CRM enrichment

Every CRM decays: people change jobs, titles drift, mailboxes die. ContactCTL refreshes the contact layer with a plain CSV round-trip — export, enrich, import — driven by your agent instead of a data team.

The system of record is quietly wrong

CRM data does not fail loudly. It fails as a bounced renewal notice, a deal routed to someone who left last year, a segment built on titles from two funding rounds ago. By the time anyone notices, the cleanup is a quarter-long project.

Native CRM enrichment add-ons are priced per seat and updated on their schedule, not yours. ContactCTL takes the other route: your CRM already exports CSV, and CSV is the interface. Verify every email, re-resolve the people behind the addresses, and fill the gaps — then import the same file back, columns intact.

Batch runs preserve row order and write output atomically, so writing back onto the input file is safe: a crash mid-run never corrupts the export.

One shell.
The whole workflow.

A quarterly hygiene pass

Export contacts with email, full_name, and domain columns. Verify everything first (0.02 credits per row), refresh the people behind the addresses with whois, and write the result in place.

agent — ~/crm
$ ctc verify contacts.csv contacts.csv
done: 1,860 rows verified
charged: 37.2 credits
 
$ ctc whois movers.csv movers.csv --max-cost 200
done: 188 of 203 resolved
charged: 188 credits · 15 misses free

Same input and output path means an in-place overwrite via write-temp-then-atomic-rename. Filter the undeliverable rows into movers.csv, whois them to see where people went, and find their new work emails before the renewal cycle.

Commands in,
credits out.

Every command reports its credit cost in the output. Preview any spend with --estimate at zero cost.

$ ctc verify <file.csv> [out.csv]

Flag dead and risky mailboxes

0.02 credits per row

$ ctc whois <file.csv> [out.csv]

Person + company behind each email

1 credit per row found

$ ctc find <file.csv> <out.csv>

Fill missing work emails

1 credit per row found

Full datasheet: credit costs in the docs · plan pricing on /pricing.