HubSpot Ideas


Copy contact properties to Deal?

I've created a custom source field for Contacts and mirrored it in Deals. The reason for this is because the Hubspot default options were too limiting and could not be edited. Now I want to map the fields so when a new deal is created from a Contact the source information is updated within the Deal. My ultimate goal is to map deals to sources.


Is this possible? If not, is there another way to approach this that will give me the same result?

HubSpot Updates
April 28, 2020 04:51 AM

Hi @Snowwhite  & @horeapiper Smiley Happy Thanks for your question and assistance!


Horea is correct, in a contact workflow you can copy a contact property value to a deal property, as part of the Create Deal action. 


Additionally, in a contact workflow you can also copy a contact property value to a deal property, on all of the contact's associated deals, via the Copy Property Value action.

February 21, 2020 09:23 AM

Hi @TarynR The functionality that has been rolled out is the ability to use a contact workflow to copy a contact property value to all of the contact's associated deals, into a certain deal property. From a deal workflow, the functionality is the reverse, you can copy a deal property value to a contact property on all of the contacts associated with the deal.


It sounds like you're looking for something a bit different, perhaps this:

This other idea is the concept of copying a value inward. So for example, using a deal workflow to enroll specific deals, and then copying an associated contact's property inward to that deal, thereby only updating some of the contact's associated deals with that value. If that's the case, please add your support to that idea! Or if any further clarification is needed please feel free to reach out to me directly Smiley Happy

February 20, 2020 12:56 PM

Hi @jamiemcrobb It sounds like you might be interested in checking out this other idea about syncing properties between objects:


The product team recently posted on that ideas post with a survey seeking to learn more, if you have feedback please share!

February 14, 2020 07:52 AM

February 14, 2020 07:52 AM

Hi @srpetit & @SalesTeamSix This is now live to all customers! I'll update the post accordingly Smiley Happy

January 09, 2020 12:18 PM

Hi @SalesTeamSix Existing workflows will be upgraded to render in the new UI, without disruption. We elaborate on the process a bit more in this blog post:


Note that while we're still collecting requests for customers who specifically want to upgrade immediately, we've also started the general roll to all customers. Customers who take no action, will see their contact workflows upgraded to the new tools soon. Please let me know if any questions remain!

January 09, 2020 04:30 AM

Hi @SalesTeamSix Any customer who would like access to this feature can request it by filling out the linked form: You can expect access in your account 24-48 hours after submitting the form. Please send me a direct message with your hub Id if you have any further questions or issues getting access for your account!

December 17, 2019 12:32 PM

Hi @AnaGut ! Thanks for reaching out, but no, that functionality is not part of this change. It's not currently possible to use contact/company tokens in an internal email in a deal workflow. I would recommend continuing to follow and add support to the other ideas post you shared, to communicate interest in that feature Smiley Happy


On the other hand, you could leverage the expanded property copy capabilities this change does bring, to copy key contact property values from the contact to the contact's associated deal, and then add those deal properties as tokens in an internal email in a deal workflow. 

In Beta
November 07, 2019 09:34 AM

This feature is currently in private beta: Copy contact properties to deal, quote, and ticket properties. As a part of the update, you can also set and clear deal, quote, and ticket properties with contact workflows. This feature will be available as part of a broader under-the-hood renovation: moving contact workflows to our new workflows system.


Fill out this form to request earliest available access for your account, which will happen when we begin public beta, over the course of the next few weeks:


When access is given, your most recent contact workflows (those created after August 5th) will be moved to the new workflows system, which gives access to this feature and more. To move an older contact workflow to the new system, you can do so by cloning it: every newly created workflow in your account will then live in the new system.


Please note that once you are opted into the new system, you cannot be opted back out. Read about all of the changes the new workflows system will bring, here: A New Engine for your Workflows 

September 12, 2019 05:17 AM

Hi @anthonylin & all - Thanks for following up! I assure you we're aware of our customers' pressing need for this functionality. We're going to deliver this feature, and this is part of the team's highest priority project at the moment - we're actively working on it. We hope to deliver this soon. I will update this post as more specific information becomes available.


To follow up to @bmccluskey's observation, this feature will be delivered as part of an overall/ongoing effort to create parity between company/deal/ticket/quote workflows and contact workflows. Contact workflows were built on our original workflows system, and the others have been built on a new, more performant workflows system. We're actively working on moving contact workflows to that same new system, and as we make progress on this project you'll see many positive benefits, such as this feature of copying deal/contact properties in both directions. Stay tuned for more details!

In Planning
September 05, 2019 08:58 AM

Thanks to everyone for their comments and support of this idea! The team is now actively working on bringing the feature of copying contact properties to deal properties, to workflows. We'll update again, when there's more information to share.

77 Replies
Contributor | Elite Partner

Anna, I have setup Zaps to do just this, and it works fairly straightforward if it is not overly complex.  Zap has limitations on what you can do with 'triggers', and if you have needs within those limits, you could probably do this yourself.   If not you might be able to do it in Zapier with Python or Java coding skills like is shown above.


Hey James,

We've had this super annoying problem as well for so long...

So we decided to build a simple app to solve it. We call it 👉 Hubspot Property Mapper 👈

In just a few seconds you can enable syncing between any combination of Hubspot properties (Contacts, Companies, Deals, even all 3).

The app is currently in limited beta -> you can sign up here: 

Here's how the app looks like 👇
Screenshot 2018-09-05 12.26.02.png
Let me know if you have any questions - happy to answer!

Might be interesting for you as well: @Leonardo @Tiina @alyssacarter @annay @Maxwell @Finnspin @ivorykeys87 @BernardoV @cfleishman @hansenhunt


Most of us are still waiting for a Hubspot built solution in order to update a Deal property from a contact property in either a Deal workflow or a Contact workflow. For my purposes,  the Deal property - Amount can be estimated when the Deal is created but needs to be updated based on the actual transaction amount. Zapier provides an easy solution to update a Contact Property with that information from our CC processor but the Zapier integration does not allow us to update a Deal property. Therefore, we need a workflow to copy that transaction amount into the deal at the time the deal is won, not when it is created. Is there a solution? 

Thought Leader

 >>Is there a solution?


Yes @JasonMM. As @jmarovt pointed out above, Property Mapper will copy Deal Properties to Contact Properties (and vice versa) on an ongoing and continuous basis.


We've been running Property Mapper for a few weeks on both Enterprise and Sales Pro accounts and will publish what we've learned here within the next week or so.
- see Property Mapper Integration


Remote  B2B Digital Marketing Manager

hubspot-solutions-signature-mfrankjohnson-v05.png | Connect on LinkedIn

Find posts quickly ... accept this solution now.


@MFrankJohnson - I have a question for you.


My Hubspot contacts have multiple deals. Once the deal is won, I would not want a change in a contact property to change the deal property. This is why I am uncertain if Property Mapper would work. Within a Hubspot workflow, I can constrain the actions to happen within deal closing timeframes or base the workflow on Deal amounts. A single contact can have many deals while my Zapier integration, which updates the contact properties with transaction amounts and transaction dates, is mapped to specific fields showing most recent data. Do you believe Property Mapper has a solution for this?

Thought Leader

>>My Hubspot contacts have multiple deals. Once the deal is won, I would not want a change in a contact property to change the deal property. This is why I am uncertain if Property Mapper would work. Within a Hubspot workflow, I can constrain the actions to happen within deal closing timeframes or base the workflow on Deal amounts. A single contact can have many deals while my Zapier integration, which updates the contact properties with transaction amounts and transaction dates, is mapped to specific fields showing most recent data. Do you believe Property Mapper has a solution for this?


I know that Property Mapper will map the fields in either direction (your choice which), but the details of constraining how that works is more a question for their lead developer, @jmarovt. He's a great person to ask ... very responsive, and ... wait for it ...

he's right here on the HubSpot Community! haha



@JasonMM @MFrankJohnson 

Property mapper currently doesn't support an option to filter out mapping based on some condition (eg. when the deal is won). 

We might add this option at some point, but currently, the mapping will always work.


Since my contacts have multiple deals and the values change from deal to deal, Property Mapper will not be a solution for me. 


I have figured out a solution using Zapier and Webhooks. I'll post the solution in the following post. 


11-13-2018 SOLUTION: This solution allows for contact properties to be copied to deal properties immediately as it is powered by webhooks and does not rely on Zapier's 5-15 minute polling window.


Use Hubspot Contact Workflows to control when contact properties are copied to deal properties by posting webhooks to Zapier and using the Hubspot CRM integration in Zapier. If you had not noticed, there are two Hubspot Zapier integrations and only the Hubspot CRM integration allows you to update a deal.


This process requires that deal names be unique. I decided to use the email address of the associated contact since it is always unique. You could also use an opportunity number or some other unique identifier when creating deal names to avoid errors. I also chose to change the name of the deal (and resolve the deal) using a Deal workflow to make sure that once a deal is won, it will no longer be updated.


1. When you create the deal, be sure to copy the Deal Name into a custom contact property. This copy process can be automated with a Deal workflow.

2. When you resolve the deal and no longer want the deal properties to be changed, change the name of the deal. This can also be automated with a Deal workflow.

3. In Zapier, create a Zap to catch a webhook.

4. Send the webhook from a Contact workflow in Hubspot.

5. Create the Zapier Action using Hubspot CRM and select Update Deal.

6. Select Add a Search Step under Deal and click OK. This will create a search step before you continue creating the Action.

7. In the search step, input the 'Deal Name' field from the drop-down. The drop-down has a source called Catch Hook that contains the data package sent from the contacts workflow webhook. The drop-down has a search field. Go ahead and search for the custom contact property used when you copied the name of the deal. Select that property.

8. Continue on with creating the Update Deal Action. You will notice that the required field 'Deal' has been filled with 'Use a Custom Value (advanced)' and the 'Custom Value for Deal Deal ID' has been populated automatically with your search step contact property selection. From here, you can map any of the optional deal properties to any of the contact properties. Doing so will copy those contact properties to the deal properties. Remember that the contact properties are in the Catch Hook source.


Please note: the data package from the webhook is a snapshot of the values for the contact properties at the time the webhook is sent. Any changes made to those contact properties after the webhook is sent will not be captured and will not update deal properties unless you automate the process to occur again.


Hi Brett,


Is the copying from contacts to deals with workflows already in the works?




Not applicable

Hi @Juuso,


The introduction of deal and company workflows allow a bit more customization around this. While you cannot directly copy a contact property to a deal property, you can copy a contact property to a company property through a contact based workflow, and then copy a company property to a deal property through a company workflow. 


I haven't tested this but I think it could work! 


Is there a way to do this without using Zapier or some other third party app?   It seems extremely basic that when you create a deal from a contact, that the source or any other  contact property should copy to the deal...?

Contributor | Diamond Partner

You can't just say something is solved when it clearly isn't... 



I have found a work around that might help you. I am using a Deal workflow to copy the contact owner and apply it to the deal. If your source options are predefined and there are not too many of them you could try this:


Create a deal workflow

Use a series of if/then branches: if Contact source field = x then set Deal source field to x

If Contact source field = y, then set Deal source field to be y


I get this to work becuse we have a very small sales team. And also we only have 1 Contact associated to a Deal. The downside is that every time a salesperson leaves / arrives we have to update the workflow. 


Hubspot: why don't you fix this issue?

Love your software! plz help us out with this.


@ Hubspot,


Any update on this? This topic has been going for a while, and as it's possible to copy deal>contact now, it should be easy to turn it around and include contact>deal right?


I'm using the aforementioned Zapier solution now, but that shouldn't be needed...




We need better integration between deals and contacts... I can't see easily where my deals came from


I have a custom field Total Customer Revenue that comes from a Netsuite integration - that I would like to map to a Hubs revenue field in order to calculate influenced revenue of campaigns. Is this possible? Could you please make it possible?


@JasonMM Thank you for your solution, I tried it, but unfortunatelly it did not work for our company due to large amount of deals in our system, more than 10k. 

Zapier replied to us "Unfortunately, this is an issue that has been reported by other users, and it is stemming from the number of Deals in a HubSpot account. Their API currently doesn't allow us to search deals with parameters to limit the number of deals returned, so the Timeout is caused by having to search through every deal in your HubSpot account."

Hope they could fix it soon.