Identify website visitors with Clearbit Reveal and create HubSpot companies using n8n
Prerequisites
- n8n instance (cloud or self-hosted)
- Clearbit Reveal API key (legacy) or HubSpot account with Breeze Intelligence add-on
- HubSpot private app token with
crm.objects.companies.readandcrm.objects.companies.writescopes - A way to capture visitor IP addresses (server logs, analytics webhook, or middleware)
- n8n credential configured for HubSpot
Clearbit was acquired by HubSpot and rebranded as Breeze Intelligence. The standalone Reveal API is being sunset. If you're a new user, skip the legacy API approach and use Breeze Intelligence natively within HubSpot (see the Breeze alternative at the end). This guide covers both approaches.
Step 1: Set up a webhook to receive visitor IPs
Create a new workflow and add a Webhook node:
- HTTP Method: POST
- Path:
/visitor-identify - Response Mode: Immediately
Your website or analytics platform will POST visitor data to this webhook. The payload should include at minimum:
{
"ip": "203.0.113.42",
"page": "/pricing",
"timestamp": "2026-03-02T10:30:00Z"
}Most analytics tools don't expose raw IPs. Common approaches: (1) server-side middleware that logs IPs and forwards to the webhook, (2) a Cloudflare Worker or Vercel Edge Function that captures CF-Connecting-IP or x-forwarded-for, (3) a GTM server-side container.
Step 2: Call Clearbit Reveal API
Add an HTTP Request node:
- Method: GET
- URL:
https://reveal.clearbit.com/v1/companies/find?ip={{ $json.ip }} - Authentication: Header Auth
- Header Name:
Authorization - Header Value:
Bearer YOUR_CLEARBIT_API_KEY
The response includes company name, domain, industry, employee count, and more.
Step 3: Filter for ICP matches
Add an IF node to filter out noise — ISPs, universities, and companies outside your target market:
- Condition 1:
$json.company.typeequalscompany(filters out ISPs and education) - Condition 2:
$json.company.metrics.employeesgreater than 50 (adjust for your ICP) - Condition 3:
$json.company.category.sectoris one of your target sectors
Clearbit Reveal resolves roughly 20-30% of B2B traffic to a company. Consumer ISPs, VPNs, and mobile networks return null. Build your workflow to handle null responses gracefully.
Step 4: Check for existing companies in HubSpot
Add an HTTP Request node to search HubSpot by domain:
- Method: POST
- URL:
https://api.hubapi.com/crm/v3/objects/companies/search - Body:
{
"filterGroups": [{
"filters": [{
"propertyName": "domain",
"operator": "EQ",
"value": "{{ $json.company.domain }}"
}]
}]
}Add an IF node: if total equals 0, create a new company. Otherwise, optionally update the existing record with the latest visit data.
Step 5: Create company in HubSpot
Add an HTTP Request node:
- Method: POST
- URL:
https://api.hubapi.com/crm/v3/objects/companies - Body:
{
"properties": {
"domain": "{{ $json.company.domain }}",
"name": "{{ $json.company.name }}",
"industry": "{{ $json.company.category.industry }}",
"numberofemployees": "{{ $json.company.metrics.employees }}",
"city": "{{ $json.company.geo.city }}",
"state": "{{ $json.company.geo.state }}",
"country": "{{ $json.company.geo.country }}",
"description": "{{ $json.company.description }}",
"website_visitor_page": "{{ $('Webhook').item.json.page }}",
"website_visitor_date": "{{ $('Webhook').item.json.timestamp }}"
}
}Step 6: Activate and test
- Send a test POST to your webhook URL with a known corporate IP
- Verify the company record appears in HubSpot with correct data
- Toggle the workflow to Active
Breeze Intelligence alternative
If you're using HubSpot's Breeze Intelligence instead of the legacy Clearbit API, the visitor identification happens natively within HubSpot. No external API call is needed.
Setup in HubSpot:
- Enable Breeze Intelligence in Settings → Breeze Intelligence
- Install the HubSpot tracking code on your website
- Breeze automatically identifies visiting companies and creates/updates records
You can then use an n8n workflow that triggers on new HubSpot companies (created by Breeze) to enrich or route them — for example, assigning them to a sales rep or posting a notification to Slack.
Cost
- n8n Cloud Starter: $24/mo for 2,500 executions. Each visitor IP = 1 execution.
- Self-hosted n8n: Free.
- Clearbit Reveal (legacy): Pricing varies. Typically volume-based, starting around $99/mo for 2,500 API calls.
- Breeze Intelligence: Included with HubSpot Marketing Hub or Sales Hub Professional+. Priced per credit — check your HubSpot contract for details.
Need help implementing this?
We build and optimize automation systems for mid-market businesses. Let's discuss the right approach for your team.