Automate Company Data Enrichment with HubSpot, Sona, OpenAI & Google Sheets
Go to WorkflowDescription
Automatically identify ICP matches by enriching basic company records with Sona Enrich data—combining web scraping, AI analysis, and the structured attributes that define your ideal customer.
Import company domains from a Google Sheet, automatically analyze their websites with AI, enrich them with firmographic data via Sona Enrich, and sync the results to HubSpot—so you can quickly discover and target your ideal customers.
How it works
Step 1: Data Input & Web Scraping
Reads company domains from your Google Sheet
Scrapes each website's content via HTTP requests
Extracts and cleans HTML content
Removes navigation, footers, and noise
Step 2: AI Analysis
Sends cleaned content to OpenAI Chat Model
Extracts structured company intelligence (industry, positioning, features, personas)
Captures and analyzes pricing, pros/cons, and value propositions
Aggregates all AI results into standardized format
Advanced users: You can modify the data that's generated and then add custom fields to HubSpot
Step 3: HubSpot Preparation
Creates custom fields in HubSpot CRM
Prepares AI-extracted data for import
Splits aggregated data into individual company records
Ready for batch processing
Step 4: Enrich & Sync to HubSpot
Loops through each company one by one
Enriches with the Sona API (firmographics, revenue, employees, funding, and more)
Creates company record in HubSpot
Formats and populates all custom fields
Combines AI insights + Sona data in one complete profile
What you'll get
The workflow enriches each company record with:
Web-Scraped Intelligence**: Business descriptions, features, and positioning directly from their website
AI-Analyzed Insights**: Value propositions, target personas, pricing models, and competitive advantages interpreted by AI
Firmographic Data**: Company size, employee count, revenue estimates, headquarters location, and more via Sona Enrich
Technographic Data**: Technology stack, platforms, and tools the company uses
Industry Classification**: Precise industry categorization and market type (B2B/B2C)
Funding & Growth**: Investment rounds, funding status, and growth indicators
Custom HubSpot Properties**: All data automatically mapped and synced to your CRM for immediate use
Why use this
Complete intelligence gathering**: Combines three powerful data sources (web scraping, AI, and Sona enrichment) for maximum insight depth
Personalize at scale**: Leverage actual company intelligence to craft relevant, informed outreach that resonates
Intelligent segmentation**: Build precise account lists by industry, tech stack, business model, or company size
Accelerate research**: Eliminate hours of manual company investigation—save 15-30 minutes per prospect
Improve conversion**: Engage prospects with context-rich conversations that demonstrate deep understanding
Enhanced lead scoring**: Build sophisticated scoring models with comprehensive firmographic and technographic signals
Automated updates**: Keep HubSpot records current with scheduled enrichment runs (daily/weekly)
Setup instructions
Before you start, you'll need:
Google Sheet with company websites (column named "Website Domain")
OpenAI API key for AI analysis (sign up here)
Sona API credentials (get access here)
Get an app token from HubSpot by creating a legacy app:
Go to HubSpot Settings > Integrations > Legacy Apps
Click Create Legacy App
Select Private (for one account)
In the scopes section, enable the following permissions:
crm.schemas.companies.write
crm.objects.companies.write
crm.schemas.companies.read
Click Create
Copy the access token from the Auth tab
n8n cloud or self-hosted instance
Configuration steps:
Prepare your data: Create a Google Sheet with a "Website Domain" column and add 2-3 test companies (e.g., example.com)
Connect Google Sheets: In the "Get row(s) in sheet" node, authenticate and select your spreadsheet and sheet name
Configure web scraping: Update the HTTP Request node with your preferred scraping method or data source URL
Set up AI Agent: Add your OpenAI API key and customize the extraction prompt to define which company fields you want (industry, personas, features, etc.)
Create HubSpot custom fields: Review the "Create Custom HubSpot Fields" node and adjust property names to match your CRM structure
Add Sona credentials: In the "Sona Enrich" node within the loop, authenticate with your Sona API key
Connect HubSpot: Authenticate in both "Create a Company" nodes using your HubSpot API key or OAuth2
Map enriched data: In the "Format Custom Properties" node, configure how Sona and AI data maps to your HubSpot fields
Test with sample data: Run the workflow with 2-3 test companies and verify records appear correctly in HubSpot with all custom properties populated
Add error handling: Configure notifications for failed enrichments or API errors (optional but recommended)
Scale and automate: Process your full company list, then optionally add a Schedule Trigger for automatic daily or weekly enrichment