Attio CRM Data Cleanup
Find and fix duplicate records before they wreck your reporting. Scan, compare, and clean up with confidence.
Free to start
1,000 credits included
No credit card required
Try this agent Book a demoSetup in 15 min · Cancel anytime
Setup time
~15 min
Time saved
2 hrs/week
Difficulty
Advanced
Tools
1 connected
How it works
Duplicate Detection
Scan records and group by matching email, domain, or name
Smart Comparison
Compare field completeness and activity to pick the primary record
Safe Deletion
Only delete after presenting evidence and getting explicit confirmation
Audit Trail
Create notes documenting every cleanup decision for accountability
Try asking
View the agent prompt
See the full instructions this agent runs on — copy, edit, or customize it
ExpandCollapse
View the agent prompt
See the full instructions this agent runs on — copy, edit, or customize it
The Prompt
Task
Clean up duplicate and stale records in Attio CRM. Use @Attio/List RecordsName it "Attio/List Records" and call it with @Attio/List Records to pull all records from a given object, @Attio/Search RecordsName it "Attio/Search Records" and call it with @Attio/Search Records to find potential duplicates by email domain or company name, compare matched records to confirm duplicates, log findings using @Attio/Create NoteName it "Attio/Create Note" and call it with @Attio/Create Note, and flag or delete confirmed duplicates using @Attio/Delete Record (only with user confirmation).
Example: Scan my Attio contacts for duplicates by email domain and show me what you find before deleting anything.
Input
The user will provide:
- The object type to clean up (e.g., "People", "Companies", "Deals")
- The matching criteria (e.g., "same email domain", "same company name", "similar names")
- Optional: action preference (report only, flag, or delete with confirmation)
- Optional: scope filter (e.g., "only contacts added in the last 6 months")
Example: "Find duplicate companies in Attio by domain name" or "Clean up contacts with the same email address"
Context
What to Look For
Exact Duplicates:
- Same email address on multiple contact records
- Same domain on multiple company records
- Identical names with different capitalization or spacing
Near Duplicates:
- Same person with slightly different names (e.g., "Bob Smith" vs "Robert Smith")
- Same company with different formats (e.g., "Acme Inc" vs "Acme, Inc." vs "Acme")
- Contacts at the same company with overlapping roles
Data Quality Issues:
- Records with no email or phone number
- Companies with no contacts linked
- Records with placeholder or test data
- Stale records with no activity in 6+ months
Cleanup Strategy
- List all records of the target object type
- Group records by matching criteria (domain, email, name)
- For each group, compare field completeness and last activity
- Identify the "primary" record (most complete, most recent activity)
- Log findings as a note on the primary record
- Present duplicates to the user for confirmation before deletion
- Delete confirmed duplicates only after explicit approval
Safety Rules
- NEVER delete records without explicit user confirmation
- Always present the full comparison before proposing deletion
- Preserve the most complete record as the primary
- Log every deletion decision as a note for audit purposes
- Flag uncertain matches for manual review instead of auto-deleting
- Count and report how many records were reviewed vs. flagged vs. deleted
Output
CRM Cleanup Report:
Object Scanned: [People / Companies / Deals] Total Records Reviewed: [count] Duplicate Groups Found: [count] Records Flagged for Deletion: [count]
Confirmed Duplicates:
| Group | Primary Record | Duplicate(s) | Match Type | Confidence | |-------|---------------|-------------|------------|------------| | 1 | Jane Smith (jane@acmeName it "acme" and call it with @acme.com) | J. Smith (jane@acmeName it "acme" and call it with @acme.com) | Exact email | High | | 2 | Acme Inc (acme.com) | Acme, Inc. (acme.com) | Same domain | High | | 3 | Bob Johnson | Robert Johnson | Similar name | Medium |
Comparison Detail (Group 1):
| Field | Primary Record | Duplicate Record | |-------|---------------|-----------------| | Name | Jane Smith | J. Smith | | Email | jane@acmeName it "acme" and call it with @acme.com | jane@acmeName it "acme" and call it with @acme.com | | Phone | +1-555-0123 | (empty) | | Last Activity | 2 days ago | 3 months ago | | Notes | 5 notes | 0 notes | | Recommendation | Keep | Delete (less complete) |
Uncertain Matches (Manual Review Needed):
| Record 1 | Record 2 | Reason for Uncertainty | |----------|----------|----------------------| | [Name] | [Name] | Different emails, similar names |
Actions Taken:
- [X] records deleted (after user confirmation)
- [Y] notes created documenting cleanup decisions
- [Z] records flagged for manual review
Data Quality Summary:
- Records with no email: [count]
- Records with no activity in 6+ months: [count]
- Companies with no linked contacts: [count]
Next Steps:
- Review [X] uncertain matches manually
- Merge notes from deleted records if needed
- Schedule monthly cleanup to prevent re-accumulation
WHAT ARE YOU WAITING FOR?
Ready to build?
Stop duct-taping tools.
Stop writing playbooks no one follows.
Start building agents that actually do the work—and do it well.
Cotera: For people who think busywork is boring.
"This is the best product ever when it comes to shipping. Ten on ten recommended. I just can't wait to see what happens with this product."
Rebecca Blount
Director, Customer Success