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 the functionality of the HubSpot Timeline API, it is not possible to read marketing activities and therefore sync over to your CRM 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 your CRM we are also referring to mapping HubSpot Engagements. The types of activities that show up here in HubSpot are the following:
- Email (individual sales rep email and not your bulk marketing emails)
When syncing these over to your CRM, they will appear based on the mapped object for that CRM. Mapped objects for CRM include Microsoft Dynamics (Tasks), ConnectWise (Activities), Pipedrive (Activities), Zoho CRM (Tasks) and Insightly (Tasks).
To sync Sales Activities from HubSpot to your CRM, follow these steps below:
IMPORTANT NOTE: Activity objects are not a standard object included in Bedrock Data plans. Even if you can see the mapping option in your portal, it doesn't necessarily mean that the Object is available for syncing. If you are unsure if you have access to this object, please reach out to our support team and they'll be able to help confirm.
Step 1: 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 2: 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 your CRM to HubSpot, you can add conditions for the CRM as well.
Step 3: 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/Task fields in the CRM. You should be left with just the following field mappings:
- Activity Title (fields used in each system must be unaltered for this mapping)
- Occurred At (fields used in each system must be unaltered for this mapping)
- Body Text (mapped to the CRM activity records Note / message field typically)
*HubSpot only has 5 values for the Type field can you can't customize these options. They are:
Because of this, it's common that your destination CRM doesn't have the exact same values in a related Type field. This is where you can use the Conditional Mapping step above to ensure that only specific types of HubSpot engagements will sync through a specific mapping and this then allows you to set a default value for the Type field within the destination system (i.e. if you are syncing Calls from HubSpot, set the default value for Type in the CRM to an option that relates to Call). See Step 5 below for more on how to map these fields.
Step 4: Mapping Required CRM Fields
Some CRMs have required fields for creating Activities. You could check with your CRM Admin to confirm, or check by adding an activity in your CRM web interface and seeing what fields are required.
For example in ConnectWise CRM, Status is a required field to create an Activity, 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 5: 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 create in each system.
We also recommend mapping the Body Text field in HubSpot to a relevant field in your CRM where you'd like to populate info on 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 6: 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 7: Owner Relationship Requirement
Some CRMs require the owner relationship to sync an activity, and even if not required this is a good best practice to ensure that the ownership is carried over to the CRM.
So the Owner Relationship is therefore important to this mapping. How this works in Bedrock is it will look at the Owner of the Activity coming out of HubSpot and will then look for this Owner in CRM (the exact name of of the object may vary by CRM). Bedrock 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 the CRM, then the activity won't be allowed to sync. So it is important that you setup your owners to be in both systems and their email addresses match exactly.
Step 8: 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 now sync on a go-forward basis. If you wish to bring over all historical sales activities from HubSpot to your CRM, run a Full Sync from your Dashboard.