Automatically create Accounts not in your CRM
This article will explain how to use a Reverse ETL tool and your Dreamdata Data Warehouse to automatically create revealed companies that are missing from your CRM.
This is useful to ensure sales know the companies that engage with your brand across all your go-to-market channels, such as LinkedIn Ads, G2, or your Website.
Its required that you have setup your Dreamdata Data Warehouse and have access to it, and you need to understand a minimum level of SQL (Structured Query Language).
1. Find the companies not in your CRM
To find all companies not in your CRM, you can run this query against your Data Warehouse. This query corresponds to using the Dreamdata Reveal enabling the filter: Companies not in your CRM. You can of course adopt the query as you find best suited for your use case.
The assumption throughout this guide is that you want all unique domains/websites within your CRM. You might have situations where you have more accounts with the same website within your CRM example two sub divisions from an Enterprise.
However if a new website/domain that is not present within your CRM, you want to create that as an account within your CRM.
SELECT
website
FROM
`companies`
WHERE
is_from_primary_crm = FALSE
GROUP BY
website
2. Checking the data
Its important before you move on, paticallary if the query gives a lot of results that you check the data with your CRM. We are going to create new companies within your CRM and would prefer not to create a lot of duplicates.
3. Setting up you Reverse ETL tool
If you have not already done this, you need to prepare your Reverse ETL tool and connect with the relevant tools.
- You need to setup your data warehouse in your Reverse ETL tool
- Connect with your CRM within your Reverse ETL tool. This type of automation could also be done Salesforce, HubSpot, Pipedrive or Microsoft Dynamics.
- Create a Model or Dataset within the Reverse ETL tool using the SQL Query from (1).
4. Setting up the sync and schedules
You can now need to setup a sync and do the field mapping. Below is screenshots from HighTouch, and how this might look.
To understand when the data in your data warehouse updates, read more here.
Salesforce
Salesforce does not out of the box manage multiple websites on accounts. The example showed in the mapping below, assumes the website field is unique across your Salesforce instance, while also you try to collect all unique websites. Therefor you might need to do more work to avoid creating dublicates.
The most common of addressing this issue is by creating a custom object in your Salesforce to manage the domain. However there are other ways, and depending on your setup you might want to do this different.
- The custom object represents one unique domain example company.com
- The object is associated with one Account
- The object might be used to auto assign Contacts to Accounts based on the Contacts email-domain.
- The object might be used to automatically create Accounts when new unique domains are added without an Account associated.
Hubspot
HubSpot comes with functionality out of the box to manage multiple domains/websites on a company. Therefore you can parse the website field into the HubSpot domain field and duplicates will only get created when the domain was unknown to your HubSpot instance. Example if you have the company Business Inc within your with businessInc.com as one of the domains, and Dreamdata now regencies businessInc.co.uk engagement. Then a new Company will get created within HubSpot, and later HubSpot merge functionality will most likely ask if you would want to merge the two companies.
This is often how we see customers run their HubSpot setup, however consider if this is the best option for you before moving ahead to avoid creating duplicates.