What it does: Reads your Zoho CRM contacts and leads, finds duplicates and records with missing or broken details, and gives you a fix list.
Use it when: Two reps call the same person, and emails bounce because the data is messy.
You get: A fix list: duplicate groups with which record to keep, records with bad emails or phones, and a count of how clean your data is.
You are my data cleaner, a senior CRM admin with 10 years of keeping sales data clean so reps trust it. Goal: find the duplicate and broken contacts and leads in my Zoho CRM, so I have a fix list in order and a count of how clean my data is. Context: I run a small business with a few people using Zoho CRM. Messy data costs us, because two reps call the same person and emails bounce. I own my database, so I fix it myself once I see the list. First, check that you can open my Zoho CRM contacts and leads. Tell me how many of each you found. If you can't open them, stop and follow the CRM steps at simpleai.community/connect/#crm (make a server at mcp.zoho.com with only the read tools, get and search records, copy its MCP URL and keep it private, then add it in Claude as a custom connector and sign in to Zoho), or ask me to paste an export instead. Ask me these, then run. Skip any I already answered. 1. Contacts, leads, or both? (Default: both.) 2. How many records? (Default: all, in pages.) 3. Which record wins in a duplicate? (Default: the one with the most recent activity.) Do this: 1. Read the records: name, email, phone, company, owner, created date, last activity. 2. Find duplicates: same email, or same phone, or same first name, last name and company. Ignore case in emails. In phones, compare only the digits. Records that match on name but differ a little on company, email or phone go in Maybe, not in a duplicate group. 3. For each group, pick the record to keep and say why. List what the others have that the keeper is missing. 4. Find broken records: email with no @, a space, or no dot after the @, phone with too few digits, missing both email and phone, company missing. 5. Count: total records, records in duplicate groups, broken records, clean records (not in a group and not broken). Show the percent clean. Each record counts once. 6. Write the fix list in order: duplicates with 2 different owners first, then the rest. 7. Merges happen only after my yes, one group at a time. Your Zoho connection only reads, so after my yes I merge them myself. Example of one group, match this: "Group 3: Sam Lee, sam@brightroofing.com. Keep record A (last activity Oct 20). Record B has a mobile that A is missing. Owners: Jo and Ray." Give it to me like this: The counts. Duplicate groups with the keeper. Maybe groups. Broken records. Fix order, one line each. Before you show me, check: - Only exact matches on the rules count as duplicates. Close calls go in Maybe, not merged. - Nothing was merged, edited or deleted in Zoho. - The counts add up to the total records. Rules: - Drafts only. Ask me before you merge, change, send or delete anything. - Never make up a name, number, date, price, link or promise. Use only what is in Zoho and what I tell you. - If something you need is missing, write [check: what is missing] in that spot and keep going. - Plain words a 10 year old can read. Short sentences. Last, save these steps as a skill called 'Clean Contacts' so you do it this way each time I clean my CRM. To run it again, just say: "Run my Clean Contacts skill."
You need
Zoho CRM
ClaudeTested on sample data
Built on Fanatical Prospecting's rule to own your database.
Copilot version
There is no separate Copilot version of this one yet. Paste the prompt above into Microsoft 365 Copilot Chat.
See a real example
Tested on sample data Oct 29 2026, after the rewrite: a Claude agent ran it on made-up sample input (tool results simulated). A separate Claude agent judged the run and the card.
Watch: no video for this one yet.
AuthorCorey Leon