On this page
Recipe: form submissions to CRM without duplicate contacts
An illustrative design for sending website form entries into a CRM while searching first, so repeat submissions update instead of duplicate.
Recipe by the Otomatzia editorial team · checked against official sources on

Status
This is an illustrative design, not a tested template. We have not executed it end to end. Build it in a test workspace with sample data and run the checks below before using real customer data.
Flow
Works with Make, n8n or Zapier as the runner, and HubSpot or another CRM as the destination.
- Trigger: form submission or webhook with name, email and message
- Normalize: trim spaces and lowercase the email
- Search the CRM for a contact with that email
- If found, update agreed fields and add a note with the new message
- If not found, create the contact and the note
- Log the outcome, including failures, somewhere a person checks
Checks before going live
- Submit the same email twice: one contact, two notes
- Submit with an uppercase email: still matched
- Disconnect the CRM credential: the run fails visibly and the entry is not lost
- Confirm the form shows a consent notice that matches how you use the data
Limitations
Email matching misses people who use a different address. Search and create are two separate calls, so two near-simultaneous submissions can still create a duplicate; the CRM duplicate tools remain a backstop.
Sources to check next
- HubSpot Knowledge Base: deduplication of records
- HubSpot developer usage guidelines and rate limits
- n8n documentation
- Make Help Center
Vendor features and prices change. Confirm details on the linked official pages before you rely on them.
What to read next
- HubSpot: CRM records, workflows and deduplication basics
- Avoiding duplicate records in automated workflows
- Lead follow-up automation for small teams