Customerlabs CDP Documentation
(A ‘Source’ platform is one where data can be brought in from any platform into CustomerLabs CDP)
HubSpot is an easy-to-use platform that helps companies capture new leads & convert them into paying customers, with marketing automation and CRM capabilities.
Marketing teams connect HubSpot with CustomerLabs CDP to send their Company, Contacts & Deals related information to create unified customer profiles in CustomerLabs CDP and sync the enriched customer data to all their favorite tools in their tech stack.
Here are some popular CRM growth tactics that marketers run with HubSpot data using CustomerLabs CDP.
Getting started
Rather than making an API call when an event happens in a connected account, HubSpot will send an HTTP request to CustomerLabs CDP via webhook. The below steps will help you integrate HubSpot as a Source with your CustomerLabs CDP account without writing any code.
1. Login to CustomerLabs CDP → Sources → Connect Source
2. Select HubSpot from the list of Sources
3. Click on Authenticate HubSpot
4. You will be redirected to your HubSpot account
5. Post login, Choose the HubSpot account that you want to link with CustomerLabs CDP
6. Grant CustomerLabs CDP to access HubSpot Contact & Account details.
7. You will now be prompted to select the CustomerLabs CDP account that you want to link HubSpot with. (in case you have multiple accounts choose one)
8. Voila! Your HubSpot account is now linked with CustomerLabs CDP
9. You can add the custom fields created in HubSpot using the Custom Field Configurations section. The standard fields will be notified by default but the custom fields should be added here. Note: Maximum of 10 custom fields can be added for each module.
HubSpot Webhook Subscriptions
Once you’ve finished the integration, HubSpot will begin sending all default event subscriptions to CustomerLabs CDP.
Webhook event subscriptions in HubSpot consist of
- Object type (Company, Contacts, Deals)
- Events (Created, Deleted, Property Changed, Deleted for Privacy) &
- Properties.
Learn more about HubSpot event subscriptions here.
Building Workflows in CustomerLabs CDP
Note: A Contact in HubSpot is referred to as a User in CustomerLabs CDP. A Company in HubSpot is referred to as an Account in CustomerLabs CDP.
Setting up a workflow in CustomerLabs CDP will allow you to receive notifications about changes that happen to your HubSpot data in real-time.
For example, you can set up a workflow that will trigger a notification to be pushed to CustomerLabs CDP every time a contact/company/deal has been updated in your HubSpot account.
Workflows help in filtering incoming data to suit business needs and map them to existing customer data in CustomerLabs CDP, thus achieving a unified customer view without writing any code.
CustomerLabs CDP aggregates multiple user & account identifiers such as Google Analytics Client ID, Facebook ID, website ID etc. over a period of time by integrating with other marketing tools.
Incoming user data from HubSpot will be mapped to existing user & account identifiers using advanced identity resolution.
All workflows below will be triggered for ‘property changes’ subscription.
- contact.propertyChange – To get notified if a specified property is changed for any contact in a customer’s account.
- company.propertyChange – To get notified if a specified property is changed for any company in a customer’s account.
- deal.propertyChange – To get notified if a specified property is changed for any deal in a customer’s account.
Workflow #1 – How to send data to CustomerLabs CDP when a new contact is created in HubSpot
The below steps explain how you can filter and map incoming contact information from HubSpot to Customerlabs CDP
1. Give a name to your workflow and before proceeding, Create a test contact in HubSpot to get related data samples. Once a new contact is created, click on Choose sample data.
2. Click on Fetch new data view relevant event samples in CustomerLabs CDP.
3. Click on View details to know more about incoming information. In the case of HubSpot, all incoming contact fields will be sent in different samples. You can find only the contact email in a sample as shown below
4. Likewise, contact first name, last name, lifecycle stage etc, will be sent as different events. But the common user ID parameter here will be the object ID
5. Now select any 1 contact related event sample by clicking on “Select this sample” and hit Filter
6. The filter screen acts as a roadblock to stop other non-related event data coming in from HubSpot & skew existing information.
7. Click on “Create filter criteria” to give your filter condition – this will allow only “contact.propertyChange” event from HubSpot to enter this workflow in the future.
8. Choose the Event type from the dropdown.
9. Add condition and make sure to give the Event name as it is shown in the sample data.
10. Here’s a detailed breakdown of the event configuration screen
11. Give a name to your incoming event. You can select a predefined event name as shown below or give a custom name based on your requirements.
12. User Identity mapping lets you combine all user-related events, since an incoming contact has an email address & is assigned a HubSpot Object ID we can select two identifiers (identify_by_email and hubspot_user_id) from the drop-down and assign relevant values.
13. Once the user mapping is done, you can categorically map other incoming information into different buckets as shown below,
14. Below is the list of Contact Subscriptions that will be sent to CustomerLabs CDP when a Contact is created in HubSpot. You can add them to relevant buckets with the help of the table below.
15. Additional custom properties created can be mapped under relevant CustomerLabs CDP attributes based on requirements
Object: Contact
Property | Events | CustomerLabs CDP Attributes |
ext_id | contact.propertyChanged | User External IDs |
salutation | contact.propertyChanged | User traits |
firstname | contact.propertyChanged | User traits |
lastname | contact.propertyChanged | User traits |
contact.propertyChanged | User traits | |
phone | contact.propertyChanged | User traits |
mobilephone | contact.propertyChanged | User traits |
fax | contact.propertyChanged | User traits |
usertoken | contact.propertyChanged | User traits |
address | contact.propertyChanged | User traits |
state | contact.propertyChanged | User traits |
city | contact.propertyChanged | User traits |
zip | contact.propertyChanged | User traits |
country | contact.propertyChanged | User traits |
lifecyclestage | contact.propertyChanged | User traits |
jobtitle | contact.propertyChanged | User traits |
hs_language | contact.propertyChanged | User traits |
message | contact.propertyChanged | User traits |
closedate | contact.propertyChanged | User traits |
website | contact.propertyChanged | User traits |
numemployees | contact.propertyChanged | User traits |
industry | contact.propertyChanged | User traits |
associatedcompanyid | contact.propertyChanged | User traits |
twitterhandle | contact.propertyChanged | User traits |
followercount | contact.propertyChanged | User traits |
twitterprofilephoto | contact.propertyChanged | User traits |
hs_persona | contact.propertyChanged | User traits |
hs_analyticssource | contact.propertyChanged | User traits |
hs_legal_basis | contact.propertyChanged | User traits |
Workflow #2 – How to send data to CustomerLabs CDP when a new company is created in HubSpot
The below steps explain how you can filter and map incoming company information from HubSpot to Customerlabs CDP
1. Give a name to your workflow and before proceeding, Create a test company in HubSpot to get related data samples. Once a new company is created, click on Choose sample data.
2. Click on Fetch new data view relevant event samples in CustomerLabs CDP.
3. Click on View details to know more about incoming information. In the case of HubSpot, all incoming company fields will be sent in different samples. You can find only the company name in a sample below
4. Likewise, company city, state, address etc. will be sent as different events. But the common Account ID parameter here will be the object ID
5. Now select any 1 contact related event sample by clicking on “Select this sample” and hit Filter
6. The filter stops other non-related event data coming in from HubSpot & skew existing information
7. Click on “Create filter criteria” to give your filter condition – this will allow only “company.propertyChange” event from HubSpot to enter this workflow in the future.
8. Choose the Event type from the dropdown.
9. Add condition and make sure to give the Event name as it is shown in the sample data.
10. Here’s a detailed breakdown of the event configuration screen.
11. Give a name to your incoming event. You can select a predefined event name as shown below or give a custom name based on your requirements.
12. Account Identity mapping lets you combine all company events, since an incoming company data has a company name & is assigned a HubSpot Object ID we can select two identifiers (identify_by_company and company_id) from the drop-down and assign relevant values.
13. Once the account mapping is done, you can categorically map other incoming information into different buckets as shown below
14. Below is the list of Company Subscriptions that will be sent to CustomerLabs CDP when a Company is created in HubSpot. You can add them to relevant buckets with the help of the table below
15. Any additional custom properties created can be mapped under relevant CustomerLabs CDP attributes based on your requirements.
Object: Company
Property | Events | CustomerLabs CDP attributes |
name | company.propertyChanged | Account traits |
phone | company.propertyChanged | Account traits |
address | company.propertyChanged | Account traits |
city | company.propertyChanged | Account traits |
state | company.propertyChanged | Account traits |
zip | company.propertyChanged | Account traits |
address2 | company.propertyChanged | Account traits |
industry | company.propertyChanged | Account traits |
lifecycle | company.propertyChanged | Account traits |
hs_lead_status | company.propertyChanged | Account traits |
website | company.propertyChanged | Account traits |
domain | company.propertyChanged | Account traits |
hs_additionaldomains | company.propertyChanged | Account traits |
numberofemployees | company.propertyChanged | Account traits |
annualrevenue | company.propertyChanged | Account traits |
type | company.propertyChanged | Account traits |
description | company.propertyChanged | Account traits |
closedate | company.propertyChanged | Account traits |
web_technologies | company.propertyChanged | Account traits |
twitterhandle | company.propertyChanged | Account traits |
twitterbio | company.propertyChanged | Account traits |
twitterfollowers | company.propertyChanged | Account traits |
facebook_company_page | company.propertyChanged | Account traits |
linkedin_company_page | company.propertyChanged | Account traits |
linkedinbio | company.propertyChanged | Account traits |
googleplus_page | company.propertyChanged | Account traits |
hs_analytics_source | company.propertyChanged | Account traits |
founded_year | company.propertyChanged | Account traits |
timezone | company.propertyChanged | Account traits |
facebookfans | company.propertyChanged | Account traits |
about_us | company.propertyChanged | Account traits |
total_money_raised | company.propertyChanged | Account traits |
hs_target_account | company.propertyChanged | Account traits |
Workflow #3 – How to send data to CustomerLabs CDP when a new deal is created/updated in HubSpot
Creating a deal in HubSpot involves assigning the deal to only a company, contacts or both company & contacts. The below steps explain how you can filter and map incoming deal information from HubSpot to Customerlabs CDP.
Scenario 1: Mapping incoming deal information when both company & contacts are assigned
1. Give a name to your workflow and before proceeding, create a test deal in HubSpot to get related data samples. Once a new deal is created, click on Choose sample data.
2. If you experience any delays in receiving data from HubSpot, you can always choose the default data to set up.
3. You can choose either deal create or deal update to set up the event if you have chosen default data or choose a relevant sample from the incoming data.
4. Once the data sample is chosen, proceed to filter incoming data.
5. The filter screen acts as a roadblock to stop other non-related event data coming in from HubSpot & skewing existing information.
6. For this scenario, you’ll have to create multiple filters.
7. The first one to bring in HubSpot data when the event name has “deal.creation” and has both company-related data (assoc_company__0_companyId) & contact-related data (assoc_contact__0_contactId).
8. Secondly, create an OR condition to bring in HubSpot data when the event name has “deal.updation” and has both company-related data (assoc_company__0_companyId) & contact-related data (assoc_contact__0_contactId).
9. These filter conditions will allow only event data to enter CustomerLabs CDP when the deal created or updated has both company & contact information
10. Lastly, configure the event with incoming customer data
11. Give a name to your event. Selecting “dynamic event” will let the CDP pick the name of the event based on the incoming information
12. Now choose how your contact can be identified by the CDP by selecting appropriate user identifiers. You can just choose to identify by email & select the assoc_contact_0__email as well as add another parameter like the HubSpot user object ID (assoc_contact_0__contactId)
13. In the same way, you can choose how your incoming company data can be identified by the CDP by selecting appropriate account identifiers. You can just choose to identify by website & select the assoc_company_0__website as well as add another parameter like the HubSpot account object ID (assoc_company_0__companyId)
14. Below is the list of deal-related data that will be sent to CustomerLabs CDP when a deal is created or updated in Hubspot. You can add them to relevant buckets with the help of the table below
Properties | Event name |
company | deal.creation/deal.updation |
dealname | deal.creation/deal.updation |
amount | deal.creation/deal.updation |
dealstage | deal.creation/deal.updation |
pipeline | deal.creation/deal.updation |
createdate | deal.creation/deal.updation |
closedate | deal.creation/deal.updation |
description | deal.creation/deal.updation |
dealtype | deal.creation/deal.updation |
closed_lost_reason | deal.creation/deal.updation |
closed_won_reason | deal.creation/deal.updation |
deal_currency_code | deal.creation/deal.updation |
hs_campaign | deal.creation/deal.updation |
hs_analytics_source | deal.creation/deal.updation |
hs_deal_amount_calculation_preference | deal.creation/deal.updation |
15. You can map all the incoming information under account traits as shown below,
16. Finally, add the Deal ID from HubSpot as an Account External ID as shown below,
17. This will enable the system to associate all deal-related information to a company as well as all their contacts.
Scenario 2: Mapping incoming deal information when only a company is assigned
1. Give a name to your workflow and before proceeding, create a test deal in HubSpot to get related data samples. Once a new deal is created, click on Choose sample data.
2. If you experience any delays in receiving data from HubSpot, you can always choose the default data to setup.
3. You can choose either deal create or deal update to set up the event if you have chosen default data or choose a relevant sample from the incoming data.
4. Once the data sample is chosen, proceed to filter incoming data.
5. The filter screen acts as a roadblock to stop other non-related event data coming in from HubSpot & skewing existing information.
6. For this scenario, you’ll have to create multiple filters.
7. The first one to bring in HubSpot data when the event name has “deal.creation”, has company-related data (assoc_company__0_companyId) & does not have contact-related data (assoc_contact__0_contactId).
8. Secondly, create an OR condition to bring in HubSpot data when the event name has “deal.updation”, has company-related data (assoc_company__0_companyId) & does not have contact-related data (assoc_contact__0_contactId).
9. Lastly, configure the event with incoming customer data
10. By choosing “create or update group” the system will remove user identification parameters so that you’ll have to configure only the account identification parameters as shown below,
11. Account identification parameters like the website (assoc_company__0_website) & HubSpot account object ID (assoc_company__0_companyId) will enable the CDP to identify incoming company data.
12. You can map all the incoming deal information under account traits as shown below,
13. Finally, add the Deal ID from HubSpot as an Account External ID as shown below,
14. This will enable the CDP to associate all deal-related information only to a company.
Scenario 3: Mapping incoming deal information when only contacts are assigned
1. Give a name to your workflow and before proceeding, create a test deal in HubSpot to get related data samples. Once a new deal is created, click on Choose sample data.
2. If you experience any delays in receiving data from HubSpot, you can always choose the default data to setup.
3. You can choose either deal create or deal update to set up the event if you have chosen default data or choose a relevant sample from the incoming data.
4. Once the data sample is chosen, proceed to filter incoming data.
5. The filter screen acts as a roadblock to stop other non-related event data coming in from HubSpot & skewing existing information.
6. For this scenario, you’ll have to create multiple filters.
7. The first one to bring in HubSpot data when the event name has “deal.creation”, does not have company-related data (assoc_company__0_companyId) & has contact-related data (assoc_contact__0_contactId).
8. Secondly, create an OR condition to bring in HubSpot data when the event name has “deal.updation”, does not have company-related data (assoc_company__0_companyId) & has contact-related data (assoc_contact__0_contactId).
9. Lastly, configure the event with incoming customer data. Give a custom name to your event as shown below,
10. Now choose how your contact can be identified by the CDP by selecting appropriate user identifiers. You can just choose to identify by email & select the assoc_contact__0_email as well as add another parameter like the HubSpot user object ID (assoc_contact__0_contactId)
11. Map all the incoming deal information under user traits as shown below,
12. Finally, add the Deal ID from HubSpot as User External ID as shown below,
13. This will enable the CDP to associate all deal-related information only contacts are assigned.
Destination
Send incoming data to third-party apps to boost marketing effectiveness. Learn more about the destination tools we support.
Need assistance?
Have questions or facing issues? We can help set it up for free.