Duplicate companies

Hello,

I have an issue when someone fills out my Typeform. If the user has a company domain name, that contact is created with 2 companies:

One with the company name from the form

One with the company domain name from the email.

How can I make it so that only one company is created that has the company name from the form and the domain name from the email?

Hi @TheAki,

Duplicate companies in HubSpot usually happen due to imports, integrations, or records created without a matching company domain name.

You can resolve them in two ways:

  1. Manage duplicates (Operations Hub Pro/Enterprise)
  • Go to CRM → Companies
  • Click Actions → Manage duplicates
  • Review the suggested records and merge them.
  1. Manually merge company records
  • Open the company record you want to keep
  • Click Actions → Merge
  • Search for the duplicate company and confirm the merge.

Tip: Ensure the Company Domain Name property is populated, as HubSpot uses it to help prevent duplicate company records.

Hope this helps!

Hi @WebGuruz_Tech

This is a temporary fix. How can I make it so it doesn’t happen in the future?

Right now lead fills a typeform which has an integration with hubspot. If the lead put an email with a company domain, 2 companies are created, one with the company domain, and one with the company name from the form.

How can I make it so when a lead fills the typeform it creates 1 company, that has the company domain and name from the form but all in one company.

Hi @TheAki,

Thanks for bringing this to the Community!

I see that you’re having two company records created via form submission. I can’t be certain with the current context, but its possible that was is being auto-created via "

Create and associate Companies with Contacts" setting here and due to Company Domain being a company property. Otherwise, since this is an external form and not intentionally mapped, I’d check the original source properties of each Company to be sure.

I’d like to tag in some of our Top Contributors here to see if they have any insight on this!

@danmoyle, @EugeneAtKiwi, @SteveHTM -- Do you have any suggestions for @TheAki on this matter?
Thanks!

Sam, Community Manager

Hey @TheAki
First, I’d recommend checking how exactly those companies records are being created. Check out their Record Source properties (also, this article might help to understand the values in those properties).

Most likely it’s happening because of the reasons already mentioned in this thread, so you might see “Integration” for one of the records and “CRM Setting” for the other one. Based on your findings, you should either disable the automatic creation of Companies from Contacts or adjust integration configuration/field mapping to point Company domain on your form to a Contact property instead.

@TheAki Duplication of Company records is certainly a challenge. There are a number of points of attack I could suggest here.

- Turn off the automatic Company creation option in HubSpot defaults. That give you - or the 3rd party tools you are using - the option to create the Company from the email domain. Or not to do it if, for example, the email domain is gmail.com or other public provider.

- Adjust the Typeform integration to prevent Company record creation under these circulstances. I would guess that one of the Typeform fields is mapped to a Company record property Name or Domain name for example) which will often force submission to create the record in which to put that data.

- Adjust the form fields such that you require a business email address (with a non-public domain) and then use workflow logic after submission to create or populate the Company record property values. Usually the trick here is to detect that a Company already exists with that domain - HubSpot does not always catch that issue.

Hope this is helpful.

Steve

Hi @SteveHTM,

One company (domain name one) is created via the setting in hubspot and one (with company name) is created via typeform. My question is how can I prevent this? I want one company with both company name and company domain, and again I want to leave the setting to associate on, because if I turn it off I think it will not associate new contacts if they have the same domain.

Also, I don’t want to require a business email address, because we have gmail submissions that are qualified.

This is the integraiton in typeform:

@TheAki - as I previously mentioned, the mapping of the Company name field in the form to the Company name property on a Company record is likely the issue here. It is hard to tell in your screenshot. If you map that field to the Company name property on the Contact record, you will probably find things work as you expect.

I have had this issue myself this week (on a HubSpot form) - and its hard to tell the difference between two identically named properties when you do the mapping. I used to adjust the property name on the Contact record to make it easier - but HubSpot has seen fit to prevent that adjustment now.

Steve

Hi @SteveHTM ,

If I put on the contact record, won’t that mean that if the user puts a gmail, the company won’t even be created for that contact?

If you don’t have a Company domain, its unwise to create a new Company record IMHO

Hey @TheAki, I hope that you are well!
I understand that the auto-create setting creates a company by domain and dedupes by domain and the Typeform integration is also creating companies via API, and those aren’t deduped by domain, so you are getting get two companies.
HubSpot uses the domain property as the main unique identifier for companies. If Typeform creates a company based only on the name (without including the domain), HubSpot won’t match it with a company that was auto-created from a contact’s email domain, so you might see duplicates.

To help prevent duplicates, you have a few great options:

- Set up Typeform to send the domain when creating companies, so HubSpot can recognize and match them correctly.
- Use the Companies Search API (POST /crm/v3/objects/companies/search) to look up companies by domain before creating new ones, and update if they already exist.
- If duplicates already exist, you can merge them with the Merge API (POST /crm/v3/objects/companies/merge).
I hope this helps!
Bérangère
This post was created with the assistance of AI tools

This is a common issue with form integrations and HubSpot company auto-creation. What is happening: when HubSpot sees a new email domain, it automatically creates a company record from the domain. But Typeform is also sending its own company name field, which creates a second company record.

The cleanest fix depends on your Typeform integration setup:

Option 1 (if using native Typeform integration or Zapier): In your integration mapping, disable the Company Name field mapping. Let HubSpot create the company from domain auto-association only, then use a workflow to update the auto-created company name with the one from the form.

Option 2 (workflow-based): After contact creation, set up a workflow that: finds or creates the correct company by name, associates the contact with that company, then merges or deletes the domain-auto-created company if it is a duplicate.

Option 3 (pre-import dedup check for batch scenarios): If you are importing batches of Typeform responses, run a pre-import check that maps each company name to an existing HubSpot Record ID using VLOOKUP, then use the Record ID in your import to update existing companies rather than creating new ones. Emport (emport.io) has a built-in preview for this - shows you creates vs updates before anything hits HubSpot.

For ongoing form submissions, Option 1 or 2 is the right fix. The core issue is that HubSpot is treating the domain and the form company name as two different companies.

Hi @TheAki,

Based on what you and others have shared, it looks like the duplication is happening because two separate processes are creating companies, one via HubSpot’s automatic domain-based association, and another via the Typeform integration creating a company through the API.

Since HubSpot uses the Company Domain Name as the primary identifier, any company created without the domain won’t be matched, which results in duplicates.

In this case, the key is to control company creation at the integration level, rather than relying only on post-submission workflows. A few approaches you might consider:

  • Update your Typeform integration so it passes the company domain when creating or updating records, allowing HubSpot to match correctly.
  • If you’re using an API or middleware, implement a lookup step (search by domain) before creating a company, and update the existing record instead.
  • Alternatively, avoid creating companies directly from Typeform and instead let HubSpot handle creation via the domain, then use workflows to update the company name from the form submission.

This way, you can keep the automatic association setting enabled while ensuring only one company is created per domain.

Drafted with AI assistance, reviewed and validated for accuracy.