{"product_id":"n8n-webhook-contact-deduplication-csv-export-workflow","title":"n8n Webhook Contact Deduplication \u0026 CSV Export Workflow","description":"\u003ch3\u003eClean, deduplicate, and audit your contact lists—then download a ready-to-review CSV\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow accepts a contact list (via a manual demo or a \u003cstrong\u003ePOST webhook\u003c\/strong\u003e), normalizes and validates key fields, detects duplicates and same-email conflicts, and returns an \u003cstrong\u003eUTF-8 CSV audit report\u003c\/strong\u003e with per-row status and a totals summary.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTriggers via Webhook or Manual Demo:\u003c\/strong\u003e Run a built-in sample dataset or send a webhook payload shaped like \u003ccode\u003e{\"contacts\": [...]}\u003c\/code\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNormalizes and validates contacts:\u003c\/strong\u003e Trims whitespace, standardizes casing, cleans phone formatting, and validates required fields such as \u003cstrong\u003ename\u003c\/strong\u003e and \u003cstrong\u003eemail\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFlags invalid records:\u003c\/strong\u003e Records missing required data are marked as \u003cstrong\u003eneeds_review\u003c\/strong\u003e; valid records move to the deduplication stage.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eDetects duplicates by email:\u003c\/strong\u003e Pending records are grouped by email to mark identical entries as ready\/duplicate or flag \u003cstrong\u003esame-email conflicts\u003c\/strong\u003e for review.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eBuilds an audit-friendly CSV:\u003c\/strong\u003e Produces a spreadsheet-safe dataset for \u003cem\u003eall\u003c\/em\u003e rows, including reasons, duplicate references, and a totals summary. It also \u003cstrong\u003eescapes spreadsheet-formula strings\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReturns the file:\u003c\/strong\u003e Converts the audit dataset into a UTF-8 CSV and returns it as the workflow output (or directly as the webhook response).\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eBefore importing contacts into a CRM, deduplicate by email and export only \u003cstrong\u003estatus = ready\u003c\/strong\u003e rows.\u003c\/li\u003e\n  \u003cli\u003eMonitor data quality by routing malformed records to \u003cstrong\u003eneeds_review\u003c\/strong\u003e for correction.\u003c\/li\u003e\n  \u003cli\u003eDetect conflicting records where the same email appears with different details, then review them safely via CSV.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNodes used:\u003c\/strong\u003e Webhook, Code, Sticky Note, Convert to File, Manual Trigger\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eWebhook input:\u003c\/strong\u003e \u003ccode\u003eapplication\/json\u003c\/code\u003e with a \u003ccode\u003econtacts\u003c\/code\u003e array\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eBatch guidance:\u003c\/strong\u003e Keep requests to \u003cstrong\u003e1,000 contacts or fewer\u003c\/strong\u003e per call\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46228888912051,"sku":"N8N-20974","price":76.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/9hbzAAytdHJnhvH8hgZCB_atnpt19h.png?v=1792055496","url":"https:\/\/buyflowscripts.com\/products\/n8n-webhook-contact-deduplication-csv-export-workflow","provider":"N8N Commerce","version":"1.0","type":"link"}