Sync HubSpot Sales Activities to ConnectWise

HubSpot has two types of Activities that show up under a contact's timeline in their system - Marketing and Sales Activities. From a technical standpoint, there are two different APIs fueling these two timelines. For the Marketing Activities the API endpoint is called Timeline API and for Sales Activities it is called the Engagement API.

NOTE: Due to a limitation of the HubSpot Timeline API, it is not possible to read marketing activities and therefore sync over to your other system at this time. Only Sales Activities via the Engagements API can be read at this time.

So when we are talking about syncing Sales Activities from HubSpot to ConnectWise we are also referring to mapping HubSpot Engagements. The types of activities that show up here in HubSpot are the following:

  • Note
  • Task
  • Call
  • Email (individual sales rep email and not your bulk marketing emails)
  • Meeting

When syncing these over to ConnectWise, they will appear in the Activities section of a given record:


To sync Sales Activities from HubSpot to ConnectWise, follow these steps in your Formstack Sync portal:

Step 1: Purchase Activity-Add On 

All Activity objects must be purchased as a separate add-on to all other objects included with each Connector. This is due to the high volume nature of activity records. Contact our sales team here to add this to your plan today

Step 2: Work with Support to Prepare Portal to Start Syncing Activity Records

After you have added the Activity Add-On to your plan, a support ticket will be created to help initiate the setup of the Activity object for your account. The support team will work with you to ensure the appropriate object gating has been setup for your plan. Note that you can setup the Activity Mappings as outlined below before the Activity objects have been configured to start syncing. 

Step 3: Add an Activity Mapping for each type of activity from HubSpot you want to sync "HubSpot Sales Calls"; "HubSpot Sales Emails" , etc. 


If you have a need to sync all 5 types, you will end up with 5 different Activity Mappings. 

Step 4: Set Conditions for Each Mapping 

For each activity mapping you setup in Step 1, you will need to set the conditions so that the right activities sync through each respective mapping. 


Note if you plan to sync activities from ConnectWise to HubSpot, you can add conditions for ConnectWise as well. It's important to note that in ConnectWise the Types of Activities can be quite extensive as they let you customize the Type options unlike with HubSpot where the Types are hard coded and can't be changed. So in some cases you may have a number of different "Call" or "Email" types in CW and you therefore just need to list all of these within the respective mapping conditions. 


Step 5: Auto-Generate Mappings and Pair Back Unnecessary Fields

Since there are a lot of different activity-types in HubSpot, when you auto-generate fields you are going to get a lot of unnecessary fields showing up in the mapping. You only care about the Engagement fields in HubSpot and the Activity fields in ConnectWise. You should be left with just the following field mappings:

  1. Activity Title (fields used in each system must be unaltered for this mapping)
  2. Occurred At (fields used in each system must be unaltered for this mapping)
  3. Status
  4. Type 

Step 6: Mapping CW Status 

This is a required field to create an Activity in CW and as there is no equivalent in HubSpot, it has to be mapped on its own and set with a default value. Since the activities coming over from HubSpot in theory happened already, we would recommend setting the default to "Closed" as such: 


Step 7: Mapping Type for both Systems

For Type, you need to have the field setup on its own for each system and a default value must be used to set the type of Activity you want to have created in each respective system. 



We also recommend mapping the Body Text field in HubSpot to the Notes field in ConnectWise as this will be the meat of what the activity was all about:

NOTE: Don't worry about the Warning messages about required fields that will remain at the top of the mapping. Since we are not addressing the mapping of these other activity-types in HubSpot, they are not required to map for syncing sales activities.

Step 8: Add Relationships

Click on the Relationships tab at the top of the mapping and click on Auto-Generate Relationships. Similar to mappings, you'll want to pair back any unnecessary relationships. You will be left with a Contact, Company, Opportunity and Owner Relationships.

You only want to see the Engagement in the relationships for HubSpot and all of the other Objects must be removed. 

Step 9: Owner Relationship Requirement 

When creating Activities in ConnectWise, it's important to note that the Owner is a requirement for creating Activities in their system. So the Owner Relationship is therefore very important to this mapping. How this works is Formstack Sync will look at the Owner of the Activity coming out of HubSpot and will then look for this Owner in ConnectWise, which in their system is called a Member. Formstack Sync will use the email address associated to the owners in each system to find a match. If it can't find a matching owner / member in ConnectWise, then the activity won't be allowed to sync. So it is very important that you setup your owners to be in both systems and their email addresses match exactly. 

Step 10: Add Workflow Rules 

In most cases the rule can be left open ended in that you bring over any and all Activities. However, some options you could consider using would be the Type of Activity (Note, Email, Call, Task, Meeting) or the Occurred At date field if you only care to sync over Activities that have taken place on or after a specific date.

Once you have this Workflow enabled, these types of activities will no sync on a go forward basis. If you wish to bring over all historical sales activities from HubSpot to ConnectWise, run a Full Sync from your Dashboard.


Was this article helpful?
0 out of 0 found this helpful



Article is closed for comments.