# Research every new HubSpot contact's company automatically

> Every new contact triggers a read of the company's own website, so reps open the first call already knowing what they sell and who they sell to.

- Workflow type: agent
- Services: Hyperbrowser, HubSpot, Slack
- Categories: Sales
- Published: 2026-08-04

## What it does

- Starts researching the moment a new contact is created, without anyone asking, and skips personal addresses like gmail.com or outlook.com so you do not waste research on them.
- Reads the company's own website, including the homepage, about page, pricing page and customer or case study pages, to work out what they sell, who they sell to, how big they are and which customers they name.
- Fills in the contact's industry, company size and description, then attaches a short research note with two talking points grounded in what was actually on the site.
- Messages your sales channel and tags the owning rep only when the company matches your ideal customer profile, so hot inbound gets picked up fast.

## What you'll need

- A HubSpot account you can connect, with permission to update contacts and add notes.
- A Hyperbrowser account for reading company websites. The free plan is enough to try it out.
- A Slack workspace and the channel where your sales team wants hot leads flagged.
- A short description of your ideal customer profile, so the workflow knows which leads are worth a ping.

## Prompt

When a new contact is created in HubSpot, research the company behind them automatically so my reps stop doing manual tab hopping before every first call. Trigger this on a HubSpot webhook for contact creation. Build it as an agent workflow, because which pages are worth reading and what conclusion to draw depends on what each site actually says.

Start from the contact's email address and take the domain from it. If the webhook payload carries only a contact ID, fetch the contact first with HubSpot Search Contacts so you have the email address and the contact owner. If there is no email address at all, stop.

Skip enrichment entirely for free mail domains. If the domain is a personal mail provider, stop immediately: no scraping, no CRM writes, no Slack message. Treat gmail.com, googlemail.com, outlook.com, hotmail.com, live.com, yahoo.com, icloud.com, me.com, aol.com, proton.me and protonmail.com as free mail, and keep that list somewhere I can edit.

If the domain clearly maps to the company's website, use it directly. If it is ambiguous, for example a parked domain, a redirect, a personal domain or a shared agency address, use Hyperbrowser Search Web with the domain plus the contact's company name to locate the official site. If no credible official site turns up, stop and write nothing.

Once the site is identified, use Hyperbrowser Start Scrape Job across the homepage, the about page, the pricing page, and the customers or case studies page. Discover those URLs from the homepage navigation and links rather than assuming fixed paths, and skip any page that does not exist. These are asynchronous jobs, so poll Get Scrape Job Result until each one completes before using the content.

Then use Hyperbrowser Start Extract Job over the collected page URLs to pull structured firmographics: what the company sells, who they sell to, employee count signals, pricing model, tech or industry category, and named customers. Poll Get Extract Job Result until it finishes. Leave any field blank when the pages do not support an answer.

Write the structured fields back with HubSpot Update Contact: industry, company size, and description. Only write a field when the site actually supports it, and do not overwrite an existing value with a weaker guess.

Then use HubSpot Create Note, associated with that contact, holding a short research summary plus exactly two suggested talking points. Both talking points must be grounded in something specific found on the site, such as a named customer, a pricing tier, a market they call out, or a positioning claim. Never invent details that were not on the pages you read. If the site did not say it, it does not go in the note, and it is better to write a shorter note than to pad it.

Finally, judge the company against my ideal customer profile. Only when it matches, post to my sales channel using Slack Send a Message, tagging the owning rep so hot inbound gets picked up fast. Take the owner from the contact's HubSpot owner field and map it to a Slack handle using a mapping I can edit. If there is no match for that owner, post the message without the tag rather than skipping it. When the company does not match the profile, keep the HubSpot enrichment and skip Slack entirely.

Put the ideal customer profile definition in an editable block at the top of the workflow so I can tune it without rewriting the logic. Keep the Slack message short: company name, what they sell, size signal, why they match the profile, and a link to the site.

## How to customize

- Adjust the ideal customer profile rules, such as company size, industry or the kind of buyer they sell to, to control how often your sales channel gets pinged.
- Add or remove the pages that get read. Careers or newsroom pages are worth adding if hiring or funding signals matter to you.
- Extend the personal email skip list, or switch it off entirely if you sell to sole traders and freelancers who use personal addresses.

## FAQ

### Will this work on HubSpot Free?

Yes. Reading a contact, updating its fields and attaching a note all work on standard HubSpot plans. You will need to be able to connect your HubSpot account and have new contact notifications turned on so the research can start automatically.

### What happens when someone signs up with a Gmail address?

Nothing at all. The workflow checks the email domain first, and if it is a personal provider like gmail.com, outlook.com or yahoo.com it stops before doing any research. No pages are read and nothing is written to the contact.

### Can it invent details about the company?

It is instructed not to. Everything recorded has to come from the pages it actually read on the company's own website, and it leaves a field blank rather than guessing. That is the main reason for reading the site directly instead of relying on a third party data provider.

### What if the email domain does not lead to a real company website?

When the domain is ambiguous, for example a parked domain or a shared agency address, it searches the web for the company's official site first. If it cannot find one it can trust, it stops instead of guessing.

### Does every new contact get posted to Slack?

No. Only contacts whose company matches your ideal customer profile trigger a Slack message, and that message tags the rep who owns the contact. Everyone else is still quietly enriched in HubSpot, so your records improve without adding noise to the channel.

Use this prompt in General Input: https://www.generalinput.com/prompts/research-every-new-hubspot-contacts-company-automatically