Sync 2 properties across objects

Hi there,

I’m having trouble following the documentation to set up a property sync. The goal is to showcase the ARR on a custom Customer Success card in the Overview tab of the Company Object.

I figured out how to set up the fields for manual entry. But ideally, i’d like it to be automated to automatically get populated when a deal is marked closed-won. We use “Amount” as the property in Closed-Won Deals to showcase the total contract value.

To take it a step further, it would be great if this field also totaled any upsells within that year. But I’m happy with this first step for now. The goal would be to only show case the totals from 1/1 - 12/31 of each year so always ensure an accurate reflection of Annual rev coming in for that customer, ultimately allowing us to report on all customers in a CS Dashboard for overall total ARR.

Thanks in advance!

Update: I think I’ve gotten 90% of the way there… I’m just stuck on how to properly formulate the conditional logic to ensure its only pulling in closed-won deals for the current year we are in.

@JNo you’ll need an assisting property and workflow here - for example a dropdown “Closed won year” with options 2025, 2026, 2027. In a deal-based workflow, you would enroll won deals and set this to the value that corresponds to the close date, using a branch and the Edit record workflow action. Once populated, you can use it as a condition in the roll up property.

Thank you, @karstenkoehler! Definitely a hard concept to understand as a newbie. Do i need to have the Format Data functionality to do this? I’ve tried to ask ChatGPT and Gemini on how to actually do this step by step and it’s guidance is inconsistent at best.

Hi @JNo,

No, let me specify:

  1. You’re currently enrolling based on deals associated to deals. I’d recommend removing your enrollment criteria again and filtering directly for “Is closed won” (deal property).
  2. The branch should be an AND/OR branch, where each path corresponds to a “Close date” year, not a branch by the new property.
  3. In each branch, you would set the value of the “Close date year” using the “Edit record” action

No format data needed :slightly_smiling_face:

Oh!! I had to read that a few times to understand it since I’m still learning, but I think I get it now… like this, @karstenkoehler?

@JNo could you click into the branch so I can see the criteria and confirm? :slightly_smiling_face:

Yes, @karstenkoehler!

@JNo almost! The branch filters should be for the property “Close date” (is between Jan 1 and Dec 31 of that year), not for the new drop-down property.

If the date falls within that range, then set the new property to the corresponding year. The workflow translates the date into something the calculation property will “understand”.

Got it - are the “branch filters” the “edit record” boxes?

@JNo the branch is the action numbered as 1, right after your enrollment.

@karstenkoehler - Will try the screenshots here, for some reason the thread isnt updating on community.hubspot.com for me and I’m only getting the emails now. Understood - I’ll set a reminder at the start of each year to update the property’s condition to say 2025.

@JNo looks good!

Wow!! I got that one right on the first try lol - thank you so much! Couldn’t have done this without you, @karstenkoehler

AH! okay… so hopefully this, @karstenkoehler? lol

@JNo perfect! Turn that on, enroll all records meeting the criteria already and use the new property as a condition in your calculation :slightly_smiling_face:

THANK YOU!! Wowzers lol
Is the “new property” the one I’m creating from scratch to host this data?
If so, this is what i’ve come up with:
[image: Screenshot 2025-03-06 at 2.01.48 PM.png]
[image: Screenshot 2025-03-06 at 2.03.30 PM.png]
If this is correct, my Question then becomes, how do I get this field to
automatically update at the turn of the year? Or do I have to manually
create a new property and update the card every year?
Thanks again, @karstenkoehler
<>!

@JNo I can’t see the screenshots unfortunately, weil not file names - but yes to the rest of your message :slightly_smiling_face:

@karstenkoehler - the saga continues… I just realized that this ARR is not netted. Example: A person signs on for a pilot at, let’s call it $1,000. If they move to contract, that money is “deducted” from their first bill. If they do not move to contract, then that money is not refunded.

But here’s the kicker… pilots are always marked as closed won - so it’s always going to fall into the FY ARR workflow and rollup I built with the contracted deals and other upsells throughout the year. So when the customer is moved to contract using a separate deal, HubSpot will show the total Amount (let’s say $5k) but we will only bill them for the $4k since the pilot was a “Deposit” towards contract. As the formula is built right now… it’s reading $5k contract deal + $1k pilot deal = $6k ARR when in actuality it should stay as a $5k deal in the FY ARR field (as they will only get billed $4k).

BUT if the customer does not move to contract, the pilot deal is nonrefundable. Is this possible to accomplish by editing the work flow logic I just built by adding a few pieces of criteria? Or do I have to start over or add another separate workflow to work simultaneously with this one? Or do i need to recreate the property as a formula instead of a rollup?

Essentially, I need it to say omit Pilot deals if there is a New Contract deal, and include pilots if the customer opts out. I can probably do without the latter, tbh, since the goal is ARR for current customers, but wasnt sure if both could happen.

While I’m builing formulas, I should probably also have it subtract downgrades too :flushed_face:

I hope that all makes sense lol :sweat_smile:

@JNo approaches to this could be the following:

  • Once a contract starts, someone removes the number from the new property you created, so that it’s not pulled into the calculation.
  • You start associating the deals, using association labels (pilot <> contract) and, if a contract is won, a workflow enrolls contract deals and clears the custom property on the associated pilot deal so it’s not pulled into the calculation.

Let me know if I should describe one of the points more in detail.