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.
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.
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 😞
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.
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.
@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 --*/
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.
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.
I have the same issue generally in the form of auto-data sync (API's), Forms don't have the option to merge data, and when creating a list of contacts to update properties via multi-select this is also only an override.
The only work around I have found is to create duplicated versions of all data we want as 'add-to'/merged data and set up a workflow for these properties.
It is very time consuming, creates a headache to manage double properties as for multi-select merges to work via workflow the properties have to match exactly, which can break the workflow too.
Generally this is not very useful where we want to retain previous data
Remember folks, in Marketo you can build an easy solution for this in about 3 minutes.
You simply create two fields and one workflow that simply appends field #2 to the master field #1 after every update. That easy. The key reason you can do this in Marketo, and not in Hubspot, is that this requires the ability to reference field tokens in workflows, but Hubspot only built field tokens to be available in email writing, and never made them referenceable in workflows (e.g. imagine a workflow that says when field Company is changed, update text field Job Title to equal "{{Job Title}} - {{Company}}". Hubspot will allow you to type in a value here, but not to reference another system field).
Edit: Nice detail added by the user below me. Field references in workflows are available in Hubspot (as long as you reference the same object only), which allows us to append data to fields, by building the workflow described below. Thank you.
@MoreLeadsPlz, HubSpot does let you append two fields using tokens within a workflow, but the tokens offered will only be of the object type that the workflow is based on. A contact-based workflow provides only contact tokens, a company-based
workflow only company ones.
See the 2 company properties appended within a workflow, separated by a semi colonexample here.
Therefore, you can append a contact's "Company Name" to their "Job Title" property.
This would not be so pretty in a situation that the contact changes company more than once (even it seems within your example,) because when the CEO at Company 1 moves to be a CEO at Company 2, the workflow would update the Job Title property to be "CEO - Company 1 - Company 2".
This could easily be worked around by having a separate property for the appended properties, eg a new property called "Job details" which would always be updated in the workflow to have a concatenation of the other 2 properties in any situation where one of the other 2 properties is changed.
We'd like to add source/medium/campaign information to each conversion by pulling url parameter values into hidden form fields and list all that lead to conversions for each contact - seems like such an obvious thing to have.
Going on since Jan 2017 and so many upvotes and unhappy users, yet nothing has been done about it! I thought we should delight our customers into promoters!
I saw the latest update from HS team and I'm not sure why this isn't being considered as a functionality. Its native to so many other competitors that you would think this would be on the plate sooner rather than later. Very disappointed to learn its not in the roadmap.
Sounds like what I'm looking for. Fairly new and currently installing our flows in HS.
From a form that's on multiple pages I'd like to 'select' the field 'event_name" and get an overview for which events the customer subscribed.
No I need to start working with a temp-property, a workflow with 18 (number of events) branches.. feels way too complex and expected to have this is marketing professional package...