Re: Copy contact properties to Deal?


Hi @ivorykeys87 , @appleboxx  and everyone else -


Happy to share what I've designed for my client in the hopes it helps you.


Objective: copy contact properties into newly created deal



  • Given that HubSpot does not natively support this feature, the below solution requires some minor custom code (which I've shared) and one external service provider (Zapier) to connect all the dots. You can technically integrate without Zapier, but that requires more engineering efforts and is outside the scope of what I'm summarizing below since I don't think that's what either of you is looking for.


  • I've identified two ways of successfully copying contact properties into deal properties. Depending on how important speed is for your application (ie. do you need the deal properties updated instantly when deal is created, or are you okay waiting upwards of 5 to 15 minutes) you can decide which approach is right for you.


Option 1 (not instant):


  • Within Zapier, click "Make a Zap!" and select HubSpot CRM as Trigger app


  • Next, select "New Deal" as the trigger (this will run either every 15 or 5 min depending on your Zapier account)


  • If it's not already, connect your correct HubSpot account on the next page by entering your username / password in the popup after selecting "Connect Account"


  • After connecting your HubSpot account, make sure you've created a recent deal before testing the connection in the next step within Zapier


  • Assuming you've created a new deal, Zapier will identify the deal. In the response object, you will see "associatedVids" property. Provided you have associated the proper contact with deal, this is the HubSpot contact ID. We will use it in next request.

  • We will now use this returned 'associatedVids' value to make a follow up call to HubSpot to retrieve the desired contact property values we want to copy into deal


  • In the "Action" step within Zapier, select "Code" option (note: do not select "HubSpot CRM" and "Find Contact" because it will force you to search by name or email address - neither of these values is included with Deal properties by default and would add complexity to your internal (human) system process when creating deals).


  • After selecting "Code" select "Run Python" (don't worry if you're not an engineer, I'll provide code below)



  • Be sure to update the above request with your own HubSpot API key. Once you've done so, run the test and you should see the test was successful provided your API key is entered correctly.


  • Now that we have our Contact Properties being returned, our final step is to setup a second Action within Zapier to update an existing deal with these property values.


  • On the left side of Zapier screen, select the "+" button underneath the first action we just created. Select "HubSpot CRM" as the App and "Update Deal" as the Action.


  • Next, select the HubSpot account that you recently added that has the deal. Next to the Deal parameter, select the downward arrow, scroll to the bottom and select "Use Custom Value"



  • A new field will appear directly below called "Custom Value for Deal Deal ID". Select the + arrow on the right of this field and select "Deal ID" which will be listed under the results from Step 1


  • Next, identify the Deal Properties you want to automatically update to include values from Contact Properties. Select the "+" icon on the right side of these input fields and locate the returned corresponding Contact Property values which will be listed underneath the "2: Run Python" header in dropdown. This simple process maps the returned values in our Python request to the Deal Property fields when we make the API call to HubSpot.


  • When you're done mapping the Deal Properties you'd like updated, scroll to the bottom and select "Continue"


  • On the next screen, Zapier will show you the sample values they will be using to make test call to HubSpot CRM. If everything looks correct and no errors are reported, run the test. If everything is setup properly, this test will update the Deal in HubSpot. Check HubSpot to confirm your deal properties are updated.


  • Last, turn on your Zap! By default, it will run every 15 minutes unless you upgrade your Zapier account and it will then run every 5 minutes.


Please let me know if updating Deal Properties instantly when Deal is created is important for your use cases and I will then document how you can make that happen. It will require slightly more work, on your end (and mine to document), but happy to help. And it won't require updating your Zapier account for just this purpose.





40 Replies 40

Hi @BernardoV 


I would love to learn more about your process here. Could you provide some more color on what exactly you did here to copy your deal properties to contact properties? I am looking to do the opposite (copy contact properties > deal properties), but would love to see if there is a way to move through your process in the opposite direction.




Contributor | Platinum Partner

Hi Rachel. 


Sadly the solution I mentioned wasn´t as great as I thought first. In my case I needed to create an email that told my client what product their sales reps sold and since the product field was filled through the deals pipeline and email work with contact properties this became a new challenge. 


First i thought I could do smart lists based on the deal property "product" and then set the contact properties based on which list the contacts were. After having done 5-10 lists i remembered deal properties can be set on workflow´s Yes-No branches. So i ended setting it manually following this logic: 


Is the deal property "product" Product X? If yes set contact property product as "Product X". 


As far as I´ve seen in the workflows tool, deal properties can be only used in Yes-No Branches wich I think would make even more complicated coping a property from contact to deals.  


Contributor | Platinum Partner

In my last answer you can read the results of the solution i claimed to find. 

Sadly i wasn´t right about it 😞 


Thanks @BernardoV for the response.


I'm sorry it didn't work out for you. Hopefully *fingers crossed* HubSpot will incorporate more capabilities with Deal properties on a workflow. It would save my company loads of manual work time.

Participant | Platinum Partner

We just saw that you can copy one or multiple Contact Properties via a workflow when you open a deal.
You have to create a Deal Property where the copied Contact Property will get 'mirrored', keep in mind that you also have to match the Property type (single line of text, dropdown select, etc.). 

Screen Shot 2018-07-25 at 2.22.32 PM.png


From here, you only have to pick the properties that you want to match.

Hope this helps!


Where did you see this at?


Great work!


Hi @ebog! Thanks for sharing. I was looking at creating soemthing similar - I think Zapier changed something in their intergration with Hubspot - the "associatedVids" doesn't seem to be available anymore. 

Hubspot does it natively onlyif you have the professional version of their sales package. We have the marketing profesional -  while workflows are enabled, deal based workflows are severly limited. This is definetly very dissapointing 



Hello.  I am wondering if you know of any way to export the "Notes" in a Deal from a free version of Hubspot to an Enterprise version?  We can move most of the other data.  Appreciate it in advance.


Thank you.


Community Manager

Hi @MLee5 


Welcome to the Community!


Currently, you cannot export notes added to your records. Notes are considered engagements and are not stored as properties for export.

If you have the resources, you may be able to work with a developer to export the notes data using our engagements API endpoint.





¿Sabías que la Comunidad está disponible en Español?
¡Participa hoy en conversaciones en el idioma de tu preferencia,cambiando el idioma en tus configuraciones!

Did you know that the Community is available in other languages?
Join regional conversations by changing your language settings !


Thank you - helpful.