The problem this solves
A 1,400-row CSV comes back from a conference with names in capitals, company fields that read Acme, ACME Inc. and acme.io for the same account, emails with trailing spaces, and a hundred people who are already in Pipedrive under a slightly different spelling. Import it as it is and Pipedrive gains a few hundred duplicate organizations, persons nobody can match to their deals, and a batch of bounces the moment the first sequence goes out.
Cleaning by hand is possible and never finished. Casing and whitespace are easy; resolving which of two company strings is the real one, finding the domain, and checking whether a person already exists under another email is slow enough that the file sits in a shared folder until the event is a memory, and the value of the list decays while it waits.
The fix is a pipeline that treats the CSV as untrusted input: normalize, resolve, verify, compare against the CRM, and only then propose an import, with every change written down so the person who owns Pipedrive can see what is about to happen and why.
How the mission runs
- Parse the CSV and map the columns. The Lead Verification Agent reads the attached file, detects the header row and proposes a column mapping to Pipedrive persons and organizations: name, email, phone, company, title, notes. Unmapped columns are kept as notes rather than lost, and the row count is reported before any work starts.
- Normalize names and company fields. Person names are recased and split into first and last, company strings are trimmed of legal suffixes and casing noise so Acme, ACME Inc. and acme.io collapse to one canonical name, and phone numbers are put into one international format. Every change is recorded as a before-and-after pair for the change log.
- Resolve every company to a domain. Company names are resolved to domains through company search, with the person's email domain as the first clue where there is one. When two candidates are plausible the agent records both and picks the one matching the email domain; a company it cannot resolve stays flagged rather than guessed.
- Verify every email. Each address is checked and marked deliverable, risky, catch-all or invalid, with the reason on the row. Invalid rows are excluded from the import; risky and catch-all rows stay in the file but flagged, so you decide whether they are imported with a note or held back.
- Dedupe against what Pipedrive already has. Persons are matched to existing Pipedrive persons by email, then by name plus organization; organizations are matched by domain and normalized name. Each row is classified as existing (skip), existing with new information (propose an update) or new (propose a create), and each class has a count.
- Deliver the change log and stage the import. A change log CSV lists every row with its classification, the fields that were normalized, the verification status and the Pipedrive record it matched. The import of clean additions and proposed updates is staged in Pipedrive and waits for your approval, and nothing is created until you give it.
The prompt
This is the exact objective the agent receives. Swap the obvious placeholders for your own domain, segment or channel and run it as-is from the console, Slack, or the API.
What comes back
A change log CSV covering every row of the original file: what was normalized, the resolved domain, the verification status with reason, and whether the row is a skip, an update or a new record, with the matching Pipedrive ID where one exists. A staged import in Pipedrive of only the clean new persons and organizations plus the proposed updates to existing ones, executed after your approval. Counts by outcome so the totals reconcile with the file you attached, and the audit trail of every resolution and verification call.
Make it yours
- Import risky and catch-all rows too, labeled in Pipedrive so sequences skip them until a rep confirms the address another way.
- Add a fit score during the pass and write it to a custom field, so the imported rows arrive already prioritized.
- Point the same pipeline at HubSpot, Attio or Zoho CRM when the file is destined for a different system.
Frequently asked questions
What counts as a duplicate?
An exact email match always does. Beyond that, the agent matches on normalized name plus organization for persons and on domain for organizations, and it labels each match with the rule that triggered it so you can override any that look wrong in the change log.
Does the agent guess a domain when it cannot find one?
No. A company that cannot be resolved with confidence is flagged in the change log and imported without a domain only if you choose to include it. A free-mail address is never used as evidence of a company domain.
Can I edit the change log before the import runs?
Yes. Remove rows or change a classification in the CSV, hand it back to the mission, and the agent stages the import from your edited version.
What is metered here?
Domain resolution and email verification are charged per row that needs them, the Pipedrive comparison and the staged write are metered as mission steps, and the estimate is shown before anything starts. Every step appears in the audit trail.