Skip to templates
AI Craft Pad
Sales operations · ORIGINAL TEMPLATE

Deduplicate contact records

Clean a contact export before a person approves a CRM import.

Browser + n8n starterMIT · AI Craft PadUpdated 2026-11-02

What this template does

Normalize email casing, preserve the first name seen and count repeated addresses. Invalid email shapes enter a rejected list instead of becoming usable leads.

Prepare these inputs

A contact export from a form, CRM or spreadsheet. This uses a basic address-shape check, not mailbox verification. Two addresses belonging to one person remain separate.

Field map: email, name

TRY THE WORKING DATA STEP

From input to reviewable output.

Use the synthetic example or edit its JSON structure. This demo sends no input to an AI service or our server. Keep real personal data in your approved environment. Up to 1,000 records and 100 KB of JSON.

Ready. Run the sample to inspect the result.

Use the starter in n8n

  1. Download the JSON and import it using n8n’s import-from-file option. Keep it unpublished.
  2. Inspect the three nodes: Manual start → Sample input → Reviewable output. Run it manually with the synthetic example.
  3. Compare records, rejected and the counts with the demo here. The output is one item containing an envelope; split the records array if a later node expects individual items.
  4. Replace Sample input with an approved source only after mapping its data to the same single-item JSON structure shown above. Supply an explicit as_of where required.
  5. Add a separate review or approval step before any external write. Test credentials and permissions in your own environment, then decide whether a schedule is appropriate.

The download has no live connector, schedule, credential or external request. Connecting a mailbox, CRM, spreadsheet or notification destination is a separate setup and test.

Download n8n starter JSON

SHA-256: 399db41a367b486527a254bd2ddf755fbd011cb9ba57f97dae512a1e7ce75596

Limits and review points

Keep the first record deliberately: a later duplicate may have a newer name. Review conflicts before merging. Never treat this output as permission to email somebody.

Rejected rows are returned with their one-based input position and a reason. Review them before using the result; an empty output can be a valid outcome. Unknown or malformed top-level inputs produce an error instead of a guessed result. Keep an untouched input export for reconciliation.

Run costs and data handling

The browser step has no service fee, API call or account requirement. It uses no browser storage for your input. Ordinary website access logs still apply. Downloaded results are saved only when you request them. Your own n8n hosting, cloud plan and any later connected service may have charges; no paid AI model is required by this starter.

More useful data steps