Skip to content

How to avoid merging contacts that are still enrolled in HubSpot workflows

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.

Merging contacts automatically unenrolls them from any active workflows.

 

Why this got harder: the “Currently in Workflow” property is deprecated

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.

Currently in Workflow” property is being discontinued

 

 

The solution: a list-based “workflow protection” signal

Rather than updating properties inside every workflow (which is fragile and hard to maintain), a more reliable approach is to:

  1. Create a custom property that replaces the deprecated property
  2. Track workflow enrollment using active lists
  3. Update the custom property based these active lists
  4. Use the new custom property  in Koalify duplicate rules
This approach improves the discontinued native property by focusing only on the workflows that matter to your team.

 

Step 1: Create a custom property

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.

Create a custom property Currently Enrolled in Imporant Workflow


Step 2: Create two list to track important workflow enrollment

We need two lists as we'll need need re-enrollment for both lists in step 3.

List A: Contacts in important workflows

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

Contact - Is currently active in important workflow

 

List B: Contacts not in important workflows

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.

Contact - Is currently NOT active in important workflow

 

Step 3: Sync list membership → property (with re-enrollment)

Next, create two simple HubSpot workflows to keep the property in sync.

Workflow 1: Set property to TRUE

Enrollment trigger

  • Is member of Contacts in important workflows = true

Action

  • Set Currently enrolled in important workflowtrue

Re-enrollment

  • Enable re-enrollment when list membership changes

Workflow - Contact - Set Currently in important workflow to True

 

Workflow 2: Set property back to FALSE

Enrollment trigger

  • Is member of Contacts not in important workflows = true

Action

  • Set Currently enrolled in important workflowfalse

Re-enrollment

  • Enable re-enrollment when list membership changes

Workflow - Contact - Set Currently in important workflow to False

 

 

Why re-enrollment is critical

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.

Why re-enrollment is critical

 

 

Step 4: Use the property in Koalify duplicate rules

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

Koalify Duplicate Rules to Exclude Merging Contacts that Are Currently in an Important Workflow

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.

 

Why this works so well with Koalify

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.