{"product_id":"hubspot-contact-deduplication-via-webhook-form-submissions","title":"HubSpot Contact Deduplication via Webhook Form Submissions","description":"\u003ch3\u003eDeduplicate HubSpot Contacts Automatically—From Your Website Form\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow receives website form submissions via a webhook, validates and normalizes the lead data, then searches HubSpot by email to \u003cstrong\u003eupdate an existing contact or create a new one\u003c\/strong\u003e. You’ll get a clear JSON response indicating whether the contact was created or updated.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReceives form submissions\u003c\/strong\u003e through a POST request to an n8n webhook endpoint (supports JSON or form-encoded payloads).\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eValidates and normalizes lead fields\u003c\/strong\u003e, including \u003cem\u003eemail, name, phone, and country code\u003c\/em\u003e. Optionally verifies an inbound \u003cstrong\u003eshared secret\u003c\/strong\u003e from a request header.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRejects invalid leads\u003c\/strong\u003e with an \u003cstrong\u003eHTTP 400\u003c\/strong\u003e response that includes \u003cstrong\u003evalidation errors\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSearches HubSpot CRM by email\u003c\/strong\u003e to find a matching contact.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates or updates\u003c\/strong\u003e the HubSpot contact using a properties payload. For new contacts, it sets \u003cstrong\u003elifecycle stage\u003c\/strong\u003e and \u003cstrong\u003elead status\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eReturns an HTTP 200 JSON response\u003c\/strong\u003e describing the outcome (created vs. updated).\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003ePrevent duplicate contacts when visitors submit the same email from landing pages, signup forms, or demo requests.\u003c\/li\u003e\n  \u003cli\u003eEnsure consistent lead data in HubSpot by normalizing phone numbers and country codes before writing to CRM.\u003c\/li\u003e\n  \u003cli\u003eRun a secure lead intake pipeline by requiring a shared secret header for webhook requests.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n nodes\/workflow components:\u003c\/strong\u003e \u003ccode\u003ewebhook\u003c\/code\u003e, \u003ccode\u003eif\u003c\/code\u003e, \u003ccode\u003ecode\u003c\/code\u003e, \u003ccode\u003ehttp request\u003c\/code\u003e, \u003ccode\u003erespond to webhook\u003c\/code\u003e, plus documentation via \u003ccode\u003esticky note\u003c\/code\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eHubSpot integration:\u003c\/strong\u003e Uses a HubSpot Private App token with \u003ccode\u003ecrm.objects.contacts.read\u003c\/code\u003e and \u003ccode\u003ecrm.objects.contacts.write\u003c\/code\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAuth:\u003c\/strong\u003e Configure an n8n HTTP Header Auth credential sending \u003ccode\u003eAuthorization: Bearer \u0026lt;YOUR_TOKEN\u0026gt;\u003c\/code\u003e for HubSpot HTTP Request steps.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSecurity (optional):\u003c\/strong\u003e Set \u003ccode\u003esharedSecret\u003c\/code\u003e in the Settings code step and require \u003ccode\u003ex-form-secret\u003c\/code\u003e from your form provider.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46190213857459,"sku":"N8N-20648","price":12.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/2mVyTlj5AQxHV1gorGX8C_YQQM40af.png?v=1791450356","url":"https:\/\/buyflowscripts.com\/products\/hubspot-contact-deduplication-via-webhook-form-submissions","provider":"N8N Commerce","version":"1.0","type":"link"}