log in sign up now
Attio Duplicate Record Tiebreaker back to library
~ / library / Data Quality / attio-duplicate-record-tiebreaker

Attio Duplicate Record Tiebreaker

When Attio flags possible duplicate person records with no shared email or domain, use MoltSets to confirm they're the same person before merging, so you don't collapse two different people into one record.
  • Check these possible duplicate records in Attio before I merge them
  • Confirm whether these two Attio person records are the same person

What this skill does

Reviews possible-duplicate person records in Attio and decides which ones are genuinely the same person before anyone merges them. Where the two records share no email or domain to go on, it resolves each one independently through MoltSets and compares the results, so a merge only happens when the underlying identity actually matches, not just the name.

Chain

Attio possible-duplicate person records
  to attio/get-record                   (both records: name, company, title, LinkedIn if present)
  to MoltSets, per record where identity is unclear:
      reverse_linkedin_lookup           (LinkedIn URL -> current company, title)
      search_business_profile_by_name   (name + company -> LinkedIn, title)
  to compare LinkedIn URL, current company, and title across the pair
  to classify: same person / different person / inconclusive
  to attio merge (same-person pairs only, after confirmation - see note below)

Inputs

  • Duplicate pairs - the set of possible-duplicate records flagged in Attio, or a manually supplied pair
  • Confidence threshold - how strong a match needs to be to auto-classify as same person versus flag for manual review
  • Merge action - auto-merge confirmed pairs, or return the classification only and let a person merge manually

How it works

  1. Pulls each record in the duplicate pair, including any LinkedIn URL, company, and title already on file
  2. For pairs with no shared email or domain, resolves each record independently: reverse_linkedin_lookup if a LinkedIn URL is present on either record, search_business_profile_by_name otherwise
  3. Compares the LinkedIn URL, current company, and title returned for each side of the pair
  4. Classifies the pair as same person (LinkedIn URL matches, or company and title align closely), different person (clear mismatch), or inconclusive (not enough to resolve either side)
  5. Only proceeds to merge on same-person pairs, and only after you confirm

Output

Record A Record B A: Company/Title B: Company/Title LinkedIn Match Classification Action
Pairs reviewed:              X
Same person confirmed:       X
Different person:            X
Inconclusive:                X
Merges completed:            X
MoltSets tokens used:        X

Tips

  • Requires the Attio MCP (mcp.attio.com) and the MoltSets MCP connected in the same client
  • A shared LinkedIn URL is the strongest single signal available, treat a match there as decisive and everything else as supporting evidence
  • Merging is irreversible in practice, so always confirm before merging, even on high-confidence pairs
  • Inconclusive pairs are worth leaving unmerged rather than guessing, a wrongful merge is more costly to unwind than a lingering duplicate
  • Confirm the Attio MCP actually exposes a merge action before wiring this end to end; if it does not, use this skill for classification only and merge manually in the Attio UI
01 Download the .moltsets skill file below
02 Open Claude and go to Settings to Skills
03 Click Add skill and select the downloaded file
04 Open a new chat in Claude
05 Prompt Claude using one of the example prompts or use your own
// difficultyIntermediate
// connectionAttio, Claude Chat
// got a skill of your own? Submit it to the library