Auto-enrich new HubSpot companies with Similarweb traffic

The moment a new HubSpot contact lands, pull their company's monthly visits, top country, and top marketing channels from Similarweb and write it back to the company record.

Deterministic Code
HubSpotSimilarwebSalesMarketingLead EnrichmentData Sync
PromptCreate

Build a code workflow that auto-enriches HubSpot companies with Similarweb traffic data the moment a new contact is created. This mirrors the immediate-enrichment pattern Similarweb's official HubSpot CRM integration uses, rebuilt deterministically on our side.

Trigger: an incoming webhook from HubSpot on new contact creation. The HubSpot webhook payload gives us the new contact's ID.

Step 1. Call HubSpot Get Contact for the contact ID, requesting the companies association. Read the primary associated company ID off the response. If the contact has no associated company, end the run cleanly without an error.

Step 2. Call HubSpot Get Company on that company ID and read the company's domain property. If the domain is missing or empty, end the run cleanly.

Step 3. Normalize the domain before sending it to Similarweb. Lowercase it, strip any http:// or https:// prefix, strip a leading www., and drop anything after the first slash. Similarweb rejects domains that include casing, www, or paths.

Step 4. Pick the most recent complete month in YYYY-MM format (Similarweb data lags by about one month; if today is in May, use the previous month). Use country=world and granularity=monthly. Then make three Similarweb calls against the normalized domain for that month:

- Similarweb Visits (Total & Desktop): read the total visits for the month.

- Similarweb Geography (Traffic by Country): read the traffic share per country and pick the top country with its share.

- Similarweb Marketing Channel Visits (Desktop): read desktop visits broken down by channel (Search, Social, Direct, Display Ads, Email, Referrals) and pick the top three channels by share.

If any Similarweb call returns Data Not Found (HTTP 401 in their API) for the domain, end the run cleanly and write nothing. Never partial-write.

Step 5. Call HubSpot Update Company on the same company ID and write structured properties back. Use stable, snake_case property names so sales reps can build HubSpot list views and filters on top of them:

- similarweb_monthly_visits (number): total visits for the month.

- similarweb_top_country (string): 2-letter ISO country code of the top traffic country.

- similarweb_top_country_share (number): traffic share for the top country, as a percent (e.g. 42.3).

- similarweb_top_channel_1, similarweb_top_channel_2, similarweb_top_channel_3 (string): channel names in rank order.

- similarweb_top_channel_1_share, similarweb_top_channel_2_share, similarweb_top_channel_3_share (number): matching channel shares as percents.

- similarweb_enriched_at (datetime): ISO 8601 timestamp of this run, so we can tell when the data was last refreshed.

Keep the property names exactly as listed. Surface a one-time setup note in the workflow that lists the HubSpot company properties to create (with types) before the workflow is enabled.

Reference: Similarweb officially documents this CRM enrichment workflow for HubSpot at https://support.similarweb.com/hc/en-us/articles/23659518990877-Hubspot-Enrichment.

What does this prompt do?

  • Listens for new contacts created in HubSpot and instantly enriches the company they belong to.
  • Pulls last month's total visits, top traffic country, and the top three marketing channels from Similarweb.
  • Writes the numbers back to clean, named fields on the HubSpot company so reps can sort, filter, and route on them.
  • Quietly skips contacts with no company or no website, so your CRM stays tidy.

What do I need to use this?

  • A HubSpot account where you can create webhooks and add company properties.
  • A Similarweb account on a plan that includes API access (only an admin can generate the API key).
  • A website domain on each company record so Similarweb has something to look up.

How can I customize it?

  • Add more enriched fields like bounce rate, average visit duration, or top referring sites.
  • Skip enrichment for companies under a visit threshold, or for free-email-only contacts.
  • Re-enrich every quarter instead of every new contact, or only when the existing data is older than 30 days.

FAQs

Will this re-enrich a company every time a new contact comes in?
By default it refreshes with the latest month each time. You can ask Geni to skip the run if the company was already enriched in the last 30 days.
What if Similarweb has no data for the domain?
The workflow ends quietly and leaves the existing fields alone. It never writes blank values over good ones.
Do I need to create new HubSpot properties for this?
Yes. You'll add a handful of company fields like Monthly Visits, Top Country, and Top Channel. Geni can list the exact names for you to paste in.
Will this overwrite my existing CRM data?
Only the specific Similarweb fields are touched. Owners, lifecycle stages, notes, and your other properties are left alone.
Can I run this on companies I already have, not just new contacts?
Yes. Ask Geni to add a one-time backfill that walks every company with a domain and enriches them in batches.

Related templates

Client-by-client cold email pipeline review for agencies

Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.

Instantly
HubSpot
Slack Bot
App
Partner tier review board for quarterly promotion calls

Work every partner tier decision from one board, with the revenue and commission numbers, clear promotion thresholds, and AI review briefs.

Introw
HubSpot
Slack
App
Reconcile partner commissions between HubSpot and Introw

Open one board at month end to find every closed deal missing a commission, every commission with no deal behind it, and every amount that does not add up.

Introw
HubSpot
Slack
App
Hiring signal board for your customers and open pipeline

Open one board each morning to see which of your accounts are hiring, what they are building, and where your product fits the roles they just opened.

JobsPipe
HubSpot
App
Placement pricing desk for recruiting and staffing agencies

Open a live deal, see the market pay range for that role and city, set your markup, and write the agreed numbers straight back onto the deal.

Job Salary Data
HubSpot
App
Instagram comment and DM triage inbox for your team

Work every unanswered Instagram comment, Reel reply and Direct message from one queue, with claimed rows so two people never answer the same person.

Instagram
HubSpot
Slack Bot
App

Stop sizing up accounts by hand.

Connect HubSpot and Similarweb once, and every new contact lights up their company with real traffic data within seconds.