Skip to content

Tool

ContactCTL for Codex CLI

Codex CLI executes shell commands; ContactCTL is a shell command. That is the whole integration — plus an AGENTS.md note so Codex knows when to reach for it and how to treat spend.

01 — The problem

Approval-mode automation needs predictable tools

Codex CLI is at its best when commands behave: terminate on their own, exit with meaningful codes, and never sit waiting for keyboard input. Most data tools fail all three — they are dashboards with an API bolted on.

ContactCTL was designed for exactly this harness. No command ever prompts. Exit codes are deterministic (0 found, 2 not found, 4 budget cap, 9 timeout with a resumable run-id). Output is stable JSON under --json. Rate limits are absorbed by automatic backoff, so Codex sees slow, not broken.

Cost control is structural: --estimate prices any action locally before Codex commits, and --max-cost is enforced server-side mid-run.

02 — The workflow

How it runs

A Codex task, end to end

“Enrich the new signups file and flag anything undeliverable.” Codex plans it as three shell calls.

codex — ~/growth
$ ctc whois signups.csv enriched.csv --max-cost 25
done: 21 of 24 resolved
charged: 21 credits · 3 misses free
$ ctc verify enriched.csv checked.csv
done: 24 rows verified
charged: 0.48 credits
$

Teach it in AGENTS.md

One section makes ContactCTL part of every Codex session in the repo.

AGENTS.md
## Contact data (contactctl)

`ctc` is installed for B2B contact work: find work emails,
verify deliverability, whois reverse lookup, scoped search,
lookalikes. It never prompts; safe to run unattended.

- Read `ctc instructions` before first use in a session.
- Use --json for parsing, --estimate before any spend,
  --max-cost on every batch.
- Exit codes: 0 found · 2 not found · 4 budget · 6 bad input.

03 — Commands and credits

What this workflow uses

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

CommandPurposeCredits
ctc instructionsFull tool guide for the sessionfree
ctc whois <in.csv> [out.csv]Batch person + company resolution1 credit per row found
ctc verify <in.csv> [out.csv]Batch deliverability0.02 credits per row

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