Auto-research new HubSpot companies by browsing their website
Every 30 minutes, an AI cloud browser reads the About, Pricing, and Careers pages of each new HubSpot company and files a research briefing back onto the record.
Every 30 minutes, enrich newly created HubSpot companies by actually visiting their website with a cloud browser and returning a structured summary back to the CRM.
Trigger: cron on a 30-minute cadence. Track the last successful run timestamp in workflow state; on each run, use HubSpot Search Companies with a filter on createdate greater than the stored cursor to fetch every company created in the last window. If no cursor exists yet, use "the last 30 minutes" as the initial window. After a successful run, save the current time back as the cursor.
For each returned company: pull the domain field. Skip and record an audit entry if the domain is empty, or if it matches a well-known free or personal email provider (at minimum gmail.com, googlemail.com, yahoo.com, ymail.com, hotmail.com, outlook.com, live.com, msn.com, aol.com, icloud.com, me.com, mac.com, proton.me, protonmail.com, gmx.com, gmx.net, mail.com, zoho.com, yandex.com, hey.com, fastmail.com, tutanota.com, duck.com).
For companies that pass the filter, call Anchor Browser Perform Web Task starting at https://<domain> with an instruction that tells the browser to (1) load the homepage, (2) look for and visit an About page, a Product or Pricing page, and a Careers or Jobs page if present, and (3) return a JSON object with fields: description (one sentence, plain English), likely_industry (a short label like "B2B SaaS analytics" or "industrial equipment"), headcount_signals (a short string like "Careers page shows 40+ open roles" or "team page lists 8 people", or "none visible"), pricing_model (e.g. "public per-seat pricing", "contact sales only", "freemium", or "none visible"), funding_or_customers (any funding round mentions or notable customer logos, or "none visible"), and pages_visited (list of URLs the agent actually loaded). Ask for the async response so the workflow can wait on the result.
Once the summary comes back, use HubSpot Update Company on that company id to fill in the description property with the returned one-sentence description and the industry property with the likely_industry value. Prefer not to overwrite existing non-empty descriptions unless the returned description is materially richer; overwrite industry if it is currently empty.
Then use HubSpot Create Note attached to the same company to file the full research summary. The note body should be human-readable Markdown-ish text: the one-sentence description, industry, headcount signals, pricing model, funding or customer mentions, and a "Pages visited" list at the bottom with the URLs the browser actually loaded. This gives the account executive a single place on the company record to review the automated research.
Skip logging: maintain a single HubSpot company named "Enrichment audit" (search for it by name via HubSpot Search Companies at the start of each run; if it does not exist, create it once via HubSpot Create Company with a placeholder domain like enrichment-audit.internal). For every skipped company in this run, append one line to a Create Note attached to that audit company: the skipped company name, the domain value (or "empty"), and the reason ("no domain" or "free-email provider: gmail.com"). One note per run is fine so the audit history stays scannable.
Guardrails: cap the number of companies enriched per run (e.g. 25) so a large HubSpot import does not blow through Anchor Browser credits in a single tick; unenriched companies will roll into the next run because the cursor only advances on success. If Anchor Browser returns an error or times out for a single company, log that as an audit line too rather than failing the whole run.
Additional information
What does this prompt do?
- Every 30 minutes, checks HubSpot for companies added since the last run.
- For each new company, sends an AI cloud browser to the homepage and asks it to also visit the About, Product or Pricing, and Careers pages if they exist.
- Fills in the company's description and industry, and attaches a note with a one-sentence description, likely industry, headcount signals, pricing model, and any funding or customer mentions — plus the pages the browser actually visited.
- Skips companies with a missing website or a personal-email domain (gmail, yahoo, and friends) and logs each skip on a shared "Enrichment audit" company so ops can see what got dropped and why.
What do I need to use this?
- A HubSpot account where you can read and update companies and add notes.
- An Anchor Browser account for the cloud browsing agent.
- A rough idea of your acceptable enrichment budget so you can set the per-run cap if 30-minute batches ever get large.
How can I customize it?
- Change the cadence to every 15 minutes, once an hour, or once a day.
- Adjust which pages the browser looks for — add News, Blog, Case Studies, or Security to the target list.
- Widen or narrow the personal-email domain skip list, or add company domains you specifically want to ignore.
- Cap the number of companies enriched per run to keep browser usage predictable.
Frequently asked questions
What happens if a new company has no website filled in?
Will it overwrite descriptions and industries my team already wrote?
Does this work on HubSpot Free?
Why does it use an AI browser instead of a scraping API?
Can I preview the research before it writes back?
Related templates
Stop copy-pasting from company home pages.
Let a browsing agent read the site and file the summary in HubSpot so your AEs walk into every call already briefed.