Update/Overwrite/Append Data Options for Contact Property Fields

Basically for each property I want 3 options to choose from:
1) Update value if blank
2) Append to value
3) Overwrite value


Sample use case(s):
Append Option: Notes Field
I have a comments field on my contact form where someone sends us a query. If that contact later submits another query I don't want to lose the previous info from my records. I want to see the new information appended to that field.  (Can't keep creating new properties and using smart properties). 


Overwrite Option 
Standard as happens curently with most fields, if a contact enters a new phone number it overrides the previous data to keep it updated with the latest information.


Update if Blank option - Lead Source
When a lead comes in, I assign the Lead Source to it, but I only want that updated if there is no previous Lead Source assigned to it. I don't want subsequent forms to overwrite the value. Smart Field(s) works only partially because if I use the API to submit forms, smart fields do not stop it from being overwritten.



69 Replies
New Contributor

Any update to this issue? We are experiencing the same roadblock. 

Occasional Contributor

Why hasn't this been done already?  This was submitted in 2017?!


Wow - let's get this done ASAP




Thanks for the workarounds provided in this thread.  I honestly am surprised this is not solved yet -- it's going to throw kinks into attribution measurement for me and I'm only 6 weeks into using Hubspot 😞

HubSpot Moderator
HubSpot Moderator
updated to: Not Currently Planned

Hello HubSpot Community, 

Thank you as always for your continued feedback, it helps us build a great product.

We are constantly evaluating and re-evaluating our priorities and roadmap to deliver as much value to our customers as possible. It is currently possible to append data to a multiple checkbox property. Here is an article that describes that functionality. However, at this time, adding additional functionality to our import tool is not something our team is currently planning to build natively into HubSpot. This is certainly subject to change in the future and we will update this idea if that becomes the case. 

Regular Contributor

Disappointing that you're not planning to add this needed functionality that many have asked for. But thanks for the tip on the multiple checkbox property; we'll try to use as many of those as possible.

Regular Contributor

@Dylan This request is not related to your "import" tool. It is basic functionality for field behavior.


I've implemented a partial workaround which could be generalized to many different fields and forms. For us, the Notes field that syncs to a lead/contact record is very important to be able append data because while HubSpot can show you the field history earily, SFDC cannot.


So, I created this code that goes with my form implementation. You can adapt it in many ways to handle multiple fields and field types. I just happened to implement it for one particular multi-line text field.


When the form loads it will empty the pre-populated value of the field and store it in the browser so the user doesn't see the content in the field (we don't want to turn off pre-population for all fields of the form, just this one). Then, when the user is submitting the form, the code will merge whatever was typed into the textarea ABOVE the values that we had stored locally in step 1.  This way you get a field that is consistently updated with the most recent content at the top.



/*--created by spanishgringo aka michael freeman --*/
//I put all of my forms helper functions in an object I call hsForms
var hsForms = hsForms || {}

//Step 1 save what is pre-populated in notes field and empty it for new answer on form load
//Make a call to this function from within the onFormReady callback of hbsp.forms.create()
hsForms.storeFormNotes = function($form) { sessionStorage.setItem("formNotes", $("textarea[name='notes__c']", ".hs-form").val()); $("textarea[name='notes__c']", ".hs-form").val('').change(); }

//Step 2 - Combine new data in notes field with previously pre-loaded info on form submit
//Make a call to this function from within the onFormSubmit callback of hbsp.forms.create() aiForms.setFormNotes = function($form) { var today = new Date(); var dd = today.getDate(); var mm = today.getMonth() + 1; var yyyy = today.getFullYear(); if (dd < 10) { dd = '0' + dd; } if (mm < 10) { mm = '0' + mm; } var newText = "---Form submission notes: " + yyyy + '-' + mm + '-' + dd + "---\n"; newText = newText + $("textarea[name='notes__c']", ".hs-form").val() + "\n---End form submission notes---\n\n"; if (sessionStorage.getItem("formNotes") !== null) { newText = newText + sessionStorage.getItem("formNotes"); } $("textarea[name='notes__c']", ".hs-form").val(newText).change(); }
/*--created by spanishgringo aka michael freeman --*/




Regular Contributor | Platinum Partner
Regular Contributor | Platinum Partner

Wanting to add to the noise here that this functinoality is extremely important. Just got off the phone with a multi-billion dollar company who when I told them you couldn't do this, they couldn't believe it. I also felt dumb-struck by it. It seems so no-brainer for this to be a normal thing like every other marketing automation platform.


Please put this on the road map for next quarter.

Regular Contributor

I also need this! Please consider a form field option "do not overwrite existing data".


My issues:


Regular Contributor

This is the exact fucntionality that we need for imports. I can see some problems for forms arising with these options, but on the import tool it would be awesome. For each property we import we should be able to choose if we want to overwrite, append or skip if the property already has a value.