Import overwriting Owner

Regular Contributor

Hi.  Is it possible to (a) prevent HS from importing contacts that already exist, and/or (b) prevent HS from overwriting the contact owner?



5 Replies 5
Top Contributor | Platinum Partner

Hi @smk 


Are all of the contacts you're trying to import already existing contacts in your CRM? I'm assuming yes based on the information you are providing.


When importing a list of contacts that already exists in your CRM you're going to want to add a column to your list with the Contact ID. and check the box during import that prompts HubSpot to update contacts rather than create new records. Otherwise you'll end up with a bunch of duplicate contacts you'll have to merge later.


Screen Shot 2020-08-06 at 1.45.57 PM.png


There are two things that I'm thinking are causing the overwrite issue:

1. Is there a workflow that is working in the background that might be overwriting the contact owner?

2. When importing contacts do you have a column in your spreadsheet that doesn't match what exists in HubSpot?


More often than not a forgotten workflow is the culprit. 


Hope this helps!





Regular Contributor

Hi, Diana.  Thanks so much for your reply.  Allow me to clarify.  These are existing contacts, possibly with an owner.  We don't have the Contact ID.  When importing, we do *not* want HS to overwrite any existing owner - that's very bad.  Ideally, HS would report that as an error in the import error log.


Is this possible to do?


Thanks again.

Top Contributor | Platinum Partner

Got it @smk 


So I don't believe HubSpot would report that as an error because there isn't a way for the import to acknowledge that there is something already in the record and to skip. The import only knows that if something doesn't match the current record update it with the new information.


So two things you can do here:

1. import the contacts as you have been but uncheck the column for owner or remove it from your list all together

Screen Shot 2020-08-12 at 9.33.12 AM.pngScreen Shot 2020-08-12 at 9.34.25 AM.png

2. find the contact ID and leave owner off the list entirely or making sure the first and last name in the owner column matches what already exists in HS. (this will keep HS from overwriting information and stop it from making a duplicate contact record)


Every contact that exists in your database will have a contact ID. If you export a list of the contacts you want to update (create a list and export) the contact ID will be the first column of that CSV. Otherwise you can find the contact ID in the contact record. Start typing in contact ID in the search bar and it'll pull it up for you.


Screen Shot 2020-08-12 at 9.37.53 AM.png

This will be super manual if you decide to find it in the record - so I highly suggest exporting a list and updating what you want before importing it back into your HubSpot.


Hope this is helpful!





Regular Contributor

Diana, thank you very much for taking the time to respond.  This is helpful, but this is hardly the way that it should have been implemented by HS.  It's *so* normal to want to import contacts without overwriting the owner if there is one already.  The hoops you describe are, as you said, "super manual" - and it should be trivial.  After all, the import error log already exists and is the natural place to put such warnings/rejections.


Thanks again!


Hi @smk,

I have run into the same issue before. However, HubSpot leads come in unassigned. So I am assuming you have a contact owner field in the Import CSV?


You could create a few custom single checkbox properties: "Assign Sarah Jones", "Assign Tom Johnson", "Assign Phillip Smith", etc. One for each of the owners you would need to be assigned on an import. On the import, do not add a contact owner column and instead add a column: "Assign Sarah Jones" and mark all rows as yes. (this process takes 15 seconds per import).

Create a workflow: Enrollment Triggers: "Assign Sarah Jones" is any of yes OR "Assign Tom Johnson" is any of yes OR "Assign Phillip Smith" is any of yes, and so forth. 

Then create an If/Then branch for each of the users. IF "Assign Sarah Jones" is any of yes, set property value contact owner to Sarah Jones. etc. 

This will take anywhere from 30 min - 1.5 hours to set up ONE TIME, but it solves your issue and you only have to update when you get a new user you want to add (2 min tops). 


My workaround was creating a "mapping" workflow for each "lead source."

Mapping = filling in all important fields

Lead Source = How Did You Hear About Us? 

If we attend an event and they send us a CVS of their information, the lead source would be "XYZ Event". They are then enrolled into a workflow to fill in properties (new lead, not contacted, persona, etc.) This seems like a lot of manual work at first. However, you are able to just clone and slightly tweak most workflows. This also takes a lot of manual work out of adding it to each import. (Also best practice for many reasons, which I didn't realize till 2 years later). When I upload an import, it is just the columns of contact information and lead source. 

Workflow: Enrollment Trigger: Lead Source is any of XYZ Event

At the top of the workflow, I add an if/then branch: contact owner is unknown (continues to the "mapping" that includes the correct contact owner for the event or rotates leads).

If contact owner is known, it sends a re-inquiry task to the contact owner.

If a lead contacts us multiple times, I want to be able to track that and make sure the representatives are following up each time. 


Alternatively, if you do not see a huge advantage in this, I would suggest importing your leads with a custom single checkbox field "Import to Preserve Contact Owner". 

If you import with Import to Preserve Contact Owner = Yes, it enrolls them into a workflow. The workflow would essentially do that same as the one above but only for contact owners. 

Workflow enrollment trigger: Import to Preserve Contact Owner is any of Yes

If/then branch: contact owner is unknown - continues (rotates leads in this team, or between these people), if contact owner is known - unenrolls


If you want to go a different long route to set up (30 min - 1.5 hours one-time set-up)... You can do the following workflow and add an if/then branch for all the users you would have on that team/not want to be overridden.



If none of the above work for you, please send me some more details and information so I can help find a solution that works. 


Please note that the import tool by nature is meant to either import new information or override information that already exists. It is not natively meant to pick and choose what you want to override or not override. Imports are created to be very black and white. I am putting this information into your system, make it match what I am putting in. If you want to choose what to override or not, you would have to do it after the fact. It can be automated as I have shown a few examples above. You are HubSpot's User Interface, not custom coding, so the logic is added afterward through the UI.


However, this is a GREAT idea and I would use this on a regular basis. HubSpot has them for sync integrations like HubSpot-Salesforce. Someone submitted the idea to the HubSpot Community Ideas board, I have upvoted it. Go upvote it and subscribe to follow updates on this. (You can also encourage all your co-workers in HubSpot to upvote as well. The more upvotes, the better!