Preventing duplicate records across systems

When your agent or pipeline writes to multiple systems — HubSpot, Salesforce, Stripe, internal databases — duplicates are inevitable unless you resolve identity first. Anchord matches records across all connected sources to a single canonical AnchorID, so every system writes to the right record.

When to use this

How Anchord prevents duplicates

1. Cross-system identity graph

Every record ingested from any source — HubSpot companies, Salesforce accounts, Stripe customers, custom sources — is matched to a canonical AnchorID. Records that represent the same real-world entity share an AnchorID across all systems.

2. Deterministic scoring

Resolve uses domain, name, email, and other fields to compute confidence scores. Exact domain matches score highest. Fuzzy name matches surface ambiguity. Ambiguous matches route to human review instead of guessing.

3. Pre-write guard

Before any write, the guard endpoint checks whether the entity is canonical, has active links, and has no unresolved conflicts. Duplicates are caught before they're created.

4. Duplicate detection + merge

For records already in the system, Anchord clusters near-duplicates with confidence scores and surfaces them in the Duplicates Queue. Merge with dry-run preview via the API or console.

Endpoints to use

EndpointRole in duplicate prevention
POST /api/v1/ingest/batchIngest records from any source into the identity graph
POST /api/v1/resolve/companyFind the canonical AnchorID before writing
POST /api/v1/resolve/personSame for person/contact records
POST /api/v1/guard/writeFinal check — blocks writes with conflicts
POST /api/v1/entities/{id}/mergeMerge confirmed duplicates (dry-run supported)

Expected outcomes

resolved

Existing entity found. Write to the existing record instead of creating a new one.

not_found

No match across any connected system. Safe to create a new record.

needs_review

Near-duplicate detected across systems. Escalate to a human before writing.

Dive deeper