Keeping your CRM clean is key to running effective marketing, sales, and service teams. But when it comes to managing duplicate contacts in HubSpot, there’s one important thing to keep in mind:
👉 Merging contacts automatically unenrolls them from any active workflows.
If those contacts are mid-nurture or onboarding, an unexpected merge can interrupt communications, impact reporting, and negatively impact the customer experience.
Many teams relied on HubSpot’s “Currently in workflow” contact property to understand whether a contact was actively being automated.
As this property is being sunset, HubSpot recommends alternatives such as workflow-specific filters or lists. While these options work, they can become difficult to manage at scale, especially in portals with many workflows that are frequently updated.
In this guide, we’ll show how to recreate this signal using a custom property and how to use it in Koalify duplicate rules to avoid merging contacts that are enrolled in important workflows.
Rather than updating properties inside every workflow (which is fragile and hard to maintain), a more reliable approach is to:
Create a single checkbox contact property called:
Currently enrolled in important workflow
(True / False)
This property becomes your new single source of truth for determining whether a contact should be protected from deduplication with Koalify.
We need two lists as we'll need need re-enrollment for both lists in step 3.
Create one active contact list with criteria like:
Contact is currently active in ANY of your imporant workflows:
Email Nurture A
Customer Onboarding
Product Education
…
This list automatically:
Adds contacts when they enter any of these workflows
Removes them when they exit or complete all of them
Create a second active list that represents the inverse state:
Contact is NOT a member of List A (Contacts in important workflows)
This list is important because HubSpot supports re-enrollment for workflows triggered by list membership, but not by negative list conditions. Using two lists allows you to keep everything automated and reliable.
Next, create two simple HubSpot workflows to keep the property in sync.
Enrollment trigger
Is member of Contacts in important workflows = true
Action
Set Currently enrolled in important workflow → true
Re-enrollment
Enable re-enrollment when list membership changes
Enrollment trigger
Is member of Contacts not in important workflows = trueAction
Set Currently enrolled in important workflow → false
Re-enrollment
Enable re-enrollment when list membership changes
Re-enrollment ensures the property always reflects reality:
Contacts can enter, exit, and re-enter workflows
List membership updates automatically
The property is set and cleared reliably
No “stuck” TRUE values
No manual cleanup
This mirrors the old “Currently in Workflow” behavior, but with more control and transparency.
With this custom property in place, you can safely apply it across all your Koalify duplicate rules.
Exclude duplicates when:Currently enrolled in important workflow = true
What happens?
Contacts in active workflows are never flagged or merged
Once they exit all protected workflows:
The property flips to false
Koalify flags them as duplicates
You can merge manually or
Automatically merge using the Koalify workflow action
All without disrupting live automations.
This setup allows you to:
Replace a discontinued HubSpot feature with a scalable alternative
Fully automate deduplication without breaking workflows
Merge duplicates at the right moment, not too early
Keep your CRM clean while protecting revenue-critical nurtures
Koalify doesn’t just find duplicates, it helps you merge them safely and intelligently.