Prevent Sync of Duplicates and Bad Data from HubSpot to Salesforce


How to Configure HubSpot to Ensure Data Quality when Syncing to Salesforce

You're using HubSpot and Salesforce together and want to transfer data between them, but you don't want to replicate bad data across CRMs. You need to make certain that the data is clean, standardized, and duplicate and spam-free.

With Insycle templates, you can create pre-defined processes for fixing common data issues with HubSpot records. Templates can be added to Recipes that can be inserted directly into HubSpot workflows. Then, by setting up a HubSpot inclusion list to be populated by the workflow, you can control what records are synced to Salesforce.

This article lays out the HubSpot steps so you can include Insycle Recipes in workflows and ensure that only deduplicated and cleansed contacts are being synced to Salesforce. 

Process Summary

  1. Create a new property in HubSpot that will indicate what records have gone through the cleanup process.
  2. Set up a HubSpot workflow that includes Insycle cleanup Recipes and add action to set property value.
  3. Create a list.
  4. Set the inclusion list so only records on the list will be sent from HubSpot to Salesforce.


Step-by-Step Instructions

Create a New HubSpot Property

To let HubSpot know which contacts are ready for sync, you'll need to create a field in HubSpot that indicates when the cleanup process has been completed on a record.

In HubSpot, navigate to Settings > Data Management > Properties.

Select the Contacts object from the dropdown, then click Create property.

On the Basic Info step of the Create Property flow, give the field a Label like "Cleanse Completed." On the next step, select the Single Checkbox field type. When creating the workflow, this will be set to Yes as the last step.

When finished, Create the property.


Learn more from HubSpot's Create and Edit Properties article.

Create a HubSpot Contact Workflow

In HubSpot, create a contact-based workflow and set up the trigger. Make sure it isn't too broad; a filter like "Create Date is known" would run the workflow on the whole database.

Click the + on the workflow to add a new action.

In the Actions panel, search for "Insycle," then select "Insycle - Run Contact Recipe."

Select a Recipe from the list.

Add a workflow step for each Insycle Recipe you want to run, such as Cleanse Contacts, Deduplicate Contacts, and Associate Contacts to Companies. Put them in an order that makes sense; you wouldn't want to associate junk or duplicate contacts that may later change or be removed.

After the Recipe actions, add a CRM action to 'Set property value'. Select the "Cleanse Completed" property you created and select the value "Yes."


When you Review, don’t enroll existing contacts. See the Best Practice below for more details. 


Learn more about integrating Insycle Recipes into HubSpot workflows.

Create a List

Now you need to create the list for contacts that are ready to sync to Salesforce.

In HubSpot, navigate to Contacts > Lists, and click Create list. Create a contact-based list, leaving the kind as Active.

Add a filter for the property created earlier with a value of Yes. In this example, the property, Cleanse Completed “is any of,” "Yes."


When finished, click Save list.

Specify the Inclusion List

In HubSpot, navigate to Settings > Account Setup > Integrations > Connected Apps, and select Salesforce.

On the Salesforce integration page, click the Contacts tab. Scroll down to the Limiting What Syncs section, and in the Select an inclusion list dropdown, choose the list created in the previous step.


Now, HubSpot will only sync contacts that have been added to this list.

Learn more about creating a Salesforce inclusion list.

HubSpot Company Sync

HubSpot advises against enabling automatic association while the HubSpot–Salesforce sync is active. To sync new HubSpot companies to Salesforce and create an account, companies must be associated with contacts added to the inclusion list. You'll need to include this association step in your workflow. Once the company is associated with a contact that has gone through the cleanse workflow and been added to the inclusion list, it will sync with Salesforce.

Best Practice: Don't Enroll Existing Contacts

When your workflow is set, and you click Review and Publish on the Review page under Enrollment, you'll be asked if you want to enroll the contacts when the workflow is turned on. It's best practice to select "No" here because you don’t want to process every contact that is already in your CRM. Workflows are meant for incoming streams of data, not large batch updates. To make bulk changes to existing data, run templates or recipes in Insycle.


Frequently Asked Questions

Does HubSpot wait for Insycle to complete processing the action before moving to the next action/step?

Yes. HubSpot waits for Insycle to complete the Recipe. In the example below, Insycle will finish cleansing the contact data before the welcome email is sent.


How long does it take for Insycle to process an event?

Insycle processes events in batches every 5 minutes.

How can I test my workflow with just one contact?

Use HubSpot's Enroll button to manually enroll a specific contact. Learn more in HubSpot's Manually enroll records in workflows article.

How can I stop an Insycle Recipe running in a HubSpot workflow?

In HubSpot workflows, simply remove the Recipe action from the workflow and re-publish it.

Where can I see if a Recipe ran on a particular record?

In HubSpot, open the History tab and look for when this action was initiated. Within a few minutes of that event, the tab should also show a "Successfully executed" event.

In Insycle, you can review the audit trail in the Activity Tracker.

My Recipe ran successfully. Why was the data not updated in HubSpot?

There are a couple of possible causes:

  1. The Recipe was not saved to run in Update mode. To check this, in Insycle open the relevant Recipe, click Review, and make sure it is set to run in Update mode.
  2. The data sync to HubSpot may not have finished processing yet. Give it a few more minutes to complete the batch, then check again.

Additional Resources

Related Help Articles

Related Blog Posts