Skip to main content
PageTech Solutions Limited logo Turning Complex Problems Into Confident Technology
  • Consultancy (current section)
    • Consultancy overview
    • Services
    • Fixed-price reviews
    • Testimonials
    • Pricing
    • Working with your IT team
    • FAQ
    • Contact
  • Freelance
    • Freelance overview
    • What I fix
    • Testimonials
    • Pricing
    • Hiring through a platform
    • Availability
    • Tech stack
    • FAQ
    • Contact
  • Recruiters
    • Recruiters overview
    • Fit and experience
    • Testimonials
    • Rates
    • Availability
    • Tech stack
    • FAQ
    • Contact
  • About
  • Workshop
  • Search
  • Talk to Jamie
  1. Home
  2. Workshop
  3. Contact Identity Resolution & Enrichment

Case study

Contact Identity Resolution & Enrichment

Built to resolve duplicate enquiries into one canonical contact — matched, enriched, and synced to Microsoft 365.

C#Jaro-WinklerAzure SQLMicrosoft Graph

At a glance

  1. ChallengeThe same prospect gets in touch twice — from a different device, a different email address, a slightly different company name — and appears as two unrelated contacts.
  2. ApproachA five-stage pipeline, built for my own business’s enquiries.
  3. OutcomeDesigned to resolve duplicate submissions into one record automatically, across devices, addresses and company-name variants

Challenge

The same prospect gets in touch twice — from a different device, a different email address, a slightly different company name — and appears as two unrelated contacts. Manual de-duplication doesn't scale, attribution is lost, and follow-up either duplicates itself or misses the earlier conversation.

Approach

A five-stage pipeline, built for my own business’s enquiries. Ingest: enquiry and booking submissions are captured as a fire-and-forget step, so resolution never slows down the visitor's response. Match: exact identifiers first, then name blocking to discard implausible candidates, then a string-similarity score — a high score merges automatically, a middle band is queued for a human decision, and nothing ambiguous is ever merged or discarded silently. Write: confirmed matches merge into one canonical record with field-level audit on every change. Enrich: unresolved contacts are sent overnight to a people-enrichment provider, with retry and back-off. Sync: merged and enriched contacts flow both ways with Microsoft 365 contacts, with last-writer-wins conflict resolution. A dedicated database with versioned migrations holds contacts, identifiers, source links, events, enrichment jobs and the full merge history.

Outcome

  • Designed to resolve duplicate submissions into one record automatically, across devices, addresses and company-name variants
  • Built to surface ambiguous matches for review rather than guess
  • Every merge and field change traceable
  • Built to enrich records overnight and make them available in Outlook and Teams without manual research
  • No latency added to the contact form

Have a similar problem in your own systems? Book a free 20-minute call or describe it.

Where judgement mattered

  • A human-review band instead of a single threshold — precision matters more than automation rate for customer records
  • Resolve identity before anything downstream acts on a contact
  • Keep the user-facing path fast; do the clever work asynchronously

Technology stack

C# / .NET 10 · Azure Functions · Azure SQL with versioned migrations · Jaro-Winkler similarity · people-enrichment API with retry policies · Microsoft Graph (Exchange contacts)

Book a free 20-minute call More case studies

Calendar not loading, or no time suits? Call, WhatsApp or message me.

© 2026 PageTech Solutions Limited. All rights reserved.

Company no. 17014904

VAT no. 514295790

Based in Andover, Hampshire, working remotely with businesses across the UK.

Registered office (post only, no visitors): Belmont Suite, Paragon Business Park, Chorley New Road, Bolton, Lancashire, BL6 6HG

ICO registration no. ZC179729

I use Microsoft Clarity to improve this site's usability, only if you allow it. See my privacy policy for details.

Visa Mastercard American Express PayPal

Contact Hours

Monday 09:00–12:00, 13:00–17:00
Tuesday 09:00–12:00, 13:00–17:00
Wednesday 09:00–12:00, 13:00–17:00
Thursday 09:00–12:00, 13:00–17:00
Friday 09:00–12:00, 13:00–17:00
Saturday Closed
Sunday Closed
UK time (GMT/BST)

Phone: 01264 354354

ContactAboutTestimonialsWorkshopFAQPricingProductsNot a business?PrivacyTermsAccessibilitySearchSite mapBook a free 20-minute callLinkedInX (Twitter)Bluesky