HubSpot Lead Enrichment
Built for RetailBox to solve a specific problem: leads coming in from campaigns and landing as empty HubSpot contacts with nothing but an email address. Sales reps were burning the first part of every call on research they shouldn't have to do. This workflow handles that automatically, pulling company context, flagging priority, and updating the contact record before anyone picks up the phone.

The problem
RetailBox was running active campaigns and pulling in leads daily. Every one of them landed in HubSpot as a ghost contact. An email address, sometimes a name. Nothing else.
The sales team's first call was never really a sales call. It was a research session. Who is this person, what does their company do, are they even worth talking to. That work was happening manually, on every single contact, before a single word of selling had been said.
What it does
The moment a new contact is created in HubSpot, the workflow fires.
It pulls the contact record, extracts whatever information exists, and uses it to find the company. It scrapes the company website, sends the content to Gemini, and gets back a structured profile: company name, industry, what the business actually does, and a context brief the rep can read in 10 seconds before dialling.
Then it runs the prioritisation logic. If the contact's role suggests buying authority and their industry matches RetailBox's target sectors, the contact gets flagged as high priority. Everything else stays standard.
All of that gets written back to HubSpot automatically. The contact record that came in empty leaves enriched.

How it was built
A webhook triggers on new HubSpot contact creation. A code node extracts the relevant fields. The HubSpot node pulls the full contact record. An Edit Fields node formats the data for the next step. An HTTP node fetches the company website. An HTML node strips it to clean text. Gemini analyses the content and returns a structured company profile. A second code node parses the response and applies the prioritisation logic. A final HTTP node patches the HubSpot contact with all enriched fields.
Ten nodes from webhook to enriched HubSpot contact.The website scraping step is what makes the enrichment meaningful. Pulling data from the company's own site gives Gemini accurate, current context rather than guessing from an email domain alone.
See it running
Result
Sales reps open HubSpot and the work is already done. Company name, industry, what the business does, and whether the lead is worth prioritising are all there before the first call. The research session at the top of every call is gone.
More projects

Lead Qualification Pipeline
Catches form submissions, filters out personal and disposable emails, and logs only the contacts worth following up on to Google Sheets. Automatically.

AI CV Screener
Reads every CV in a Google Drive folder, scores each one against the job criteria, and outputs a ranked list to Google Sheets. No manual shortlisting.