Feb 22, 20231:06 PM - last edited on Feb 23, 20232:15 PM by kvlschaefer
Contributor
How to integrate Salesforce and HubSpot using Person Accounts: Visualforce Display in Salesforce
HubSpots Visualforce window does not integrate easily when you are using Salesforce Person Accounts. This is due to Person Accounts being seen as both a Contact and a Company inside HubSpot.
Successfully displaying the Visualforce Window on all of our Person Accounts inside SalesForce required some creative problem solving and workflows. This article details how we went about making it work.
HubSpot VisualForce Window
UNDERSTAND THE BASIC RELATIONSHIP The key to a successful integration of Person Accounts is understanding the relationship between HubSpot Contacts/Companies and Salesforce Person Accounts. HubSpot sees SF Person Accounts as both HubSpot Contacts & Companies. For every Salesforce Person Account you have, HubSpot must have a Contact and a Company.
SalesForce Contact = HubSpot Contact
SalesForce Account = HubSpot Company
SalesForce Person Accounts = HubSpot Contact + HubSpot Company
THE CHALLENGE FOR VISUALFORCE WINDOW
Salesforce integration creates a HubSpot Contact for every Person Account, but not a HubSpot Company. You need both in order to see the Visualforce Window populate in Salesforce.
In order for the automation to work, contacts must have a unique email domain (not a gmail / hotmail or similar) OR it needs to have a unique website address.
As Person Accounts are usually people and not businesses with website addresses, most Person Accounts will have a generic email (hotmail.com, live.com etc) and will be missed in the Automation to "Create and associate companies with contacts".
You can check that the automation is working by looking at your Contacts total and your Companies total before and after turning it on and comparing numbers.
STEP 2: Since the automation only captures contacts with unique emails or web address, we need to capture the rest of the contacts that use a generic email (yahoo.com, aol.com etc).
The workaround is to use a workflow to populate fake website addresses for contacts with generic emails which will then trigger the Automation to "Create and associate companies with contacts" to automatically create Companies for these Contacts.
WORKFLOW OVERVIEW
Overview of the workflow used
Workflow Enrollment Triggers
Enroll contacts that do not have an associated company, a website URL and who do have a known email domain (to avoid contacts that do not have email addresses).
Overview of enrollment triggers
Create the "fake" URL: Below are the properties I used to create the "fake" URLs and why. You may have other criteria to consider.
Create a "fake" URL with the following properties:
"workflowpopulated-SFPAintegration" to easily let my Sales Team know that the web address is fake
FIRST NAME & LAST NAME to easily identify the associated contact
RECORD ID to ensure a unique web address and avoid any duplicate common names such as "john smith"
Overview of property values used
Add to Static List
This is a personal self discipline so that I can troubleshoot if there are any issues with contacts that get enrolled in this workflow. Now I will have one place to see all of the contacts who:
Have Workflow Populated Website Addresses or who
Had a Company manually created via this workflow or who
Simply went through this workflow
Checks & Balance
Make sure to run "Review the Workflow" and see if the "Exisiting Contacts" number is close to the number you are missing. Tweak the list or do some digging to find out why it may be off. For mu applications, the number was off due to contacts without email addresses.
As I did not want these "Workflow Populated" addresses to go into SalesForce, I stopped syncing between platforms for "Website URL" under Company Field Mappings and Contact FIeld Mappings.
Generic emails that HubSpot does not recognize for automatically creating a Company from a Contact
This is the list from my personal application of HubSpot, yours may not include all or may include others based on region and local providers. Not sure if this will be helpful to anyone, but here it is in case it is.
To pull an accurate domain list I created a Contact Lookup where Filters were: "Associated Company = Unknown" then added "Email Domain = known" to the columns and sorted alphabetically and manually scrolled through.
Feel free to reply and I'll get back to you if I can help at all! I plan to write up more articles on other creative solutions to Salesforce and HubSpots unique Person Account integration challenges so stay tuned!