Count every time a contact property is set – even if the value doesn’t change
SOLVE
Hi all,
we’re trying to increment a counter every time a specific contact property is set — even if the value stays the same.
The property is called “Lead Source Reason” and is populated through a small number of HubSpot forms and a Zapier integration. We’ve created a number field called “Lead Source Counter” and set up a workflow to increase it.
However, HubSpot workflows only trigger if the property value changes. Re-submitting the same form with the same “Lead Source Reason” won’t re-trigger the workflow — and won’t increase the counter, which defeats the purpose.
We’ve tried using:
“was updated in the last X days”
“was updated after another property”
and combinations with date stamps
Nothing seems to allow reliable re-enrollment.
Is there a proven workaround to trigger a workflow every time this property is set — regardless of whether the value is new or already present?
If the value stays the same, HubSpot won't recognize the change. This can however be bypassed with a an additional field:
Create a property "Lead source reason (assisting property)"
Update this property via forms and Zapier, replacing your existing one
Use a workflow to copy the value from "Lead source reason (assisting property)" into "Lead source", then clear the property value in "Lead source reason (assisting property)"
Now that the property value is being cleared, when it's re-set to the same value, it'll be considered a change by HubSpot. Your "Lead source reason" property will remain unchanged. Your meeting both requirements of the value not changing (in "Lead source reason") and changing (in "Lead source reason (assisting property)") so you can count it.
You can of course also keep updating your existing property via forms and Zapier and create a new property "Lead source reason (main property)", and copy into this one, clearing the current "Lead source reason". It doesn't matter. You'll just need a second property, follow the above logic, and make sure it gets cleared.
Best regards
Karsten Köhler HubSpot Freelancer | RevOps & CRM Consultant | Community Hall of Famer
If the value stays the same, HubSpot won't recognize the change. This can however be bypassed with a an additional field:
Create a property "Lead source reason (assisting property)"
Update this property via forms and Zapier, replacing your existing one
Use a workflow to copy the value from "Lead source reason (assisting property)" into "Lead source", then clear the property value in "Lead source reason (assisting property)"
Now that the property value is being cleared, when it's re-set to the same value, it'll be considered a change by HubSpot. Your "Lead source reason" property will remain unchanged. Your meeting both requirements of the value not changing (in "Lead source reason") and changing (in "Lead source reason (assisting property)") so you can count it.
You can of course also keep updating your existing property via forms and Zapier and create a new property "Lead source reason (main property)", and copy into this one, clearing the current "Lead source reason". It doesn't matter. You'll just need a second property, follow the above logic, and make sure it gets cleared.
Best regards
Karsten Köhler HubSpot Freelancer | RevOps & CRM Consultant | Community Hall of Famer
Count every time a contact property is set – even if the value doesn’t change
SOLVE
I tested the setup with a helper property, and it’s now working exactly as intended.
The new workflow listens to the “Lead source reason (assisting property)”, using the trigger “is known”, which fires reliably in every case.
The workflow performs all required actions and clears the assisting property at the end. This ensures the field is empty for the next time, making the workflow re-enrollable even if the contact has gone through it before.
Count every time a contact property is set – even if the value doesn’t change
SOLVE
Thanks, Karsten. This seems to be a clever workaround. I will give it a try and report if it's working. It's still a shame that I can't use a simple built-in trigger release.