Who it is forA sales lead moving an existing prospect spreadsheet and do-not-contact list into an automated tool.
The problemTyping contacts in one by one is slow, and a missed opt-out list can send mail to people who asked not to hear from you.
The outcomeContacts imported and checked row by row, with suppressions loaded before any campaign runs.
What you need first
- Python 3.11 or newer
- Claude Code logged in on a Pro or Max plan, or an opt-in Codex runtime on a ChatGPT plan
- A mailbox to send from (Google Workspace recommended) and email verifier keys
- Chromium, installed with franco install, for LinkedIn and JavaScript-heavy sites
Steps
- Get a template with
franco import --template --kind contacts > contacts.csv - Validate with
franco import contacts.csv --kind contacts --dry-run; nothing is written - Import and verify emails with
franco import contacts.csv --kind contacts --verify - Load your do-not-contact list with
franco suppress import do_not_contact.csv - Or use the Import CSV panel on the dashboard's Contacts tab
Prompt for your agent
Import <contacts.csv> into GortexAI/franco as contacts with a dry run first, report every rejected row and its reason, then load <do_not_contact.csv> as suppressions before importing for real.
Caveat. --verify spends one verification credit per address that is not already marked verified.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for GortexAI/franco and "Import your contact and do-not-contact lists from CSV"
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer