Background-check new HubSpot companies before you sign

Every new company in your CRM gets checked against the public register, with a dated copy of the listing filed as proof before anyone signs a contract.

Agentic Task
SteelHubSpotGoogle DriveSlackOperationsFinanceResearch & MonitoringNotifications & Alerts
PromptCreate

When a new company is created in HubSpot, I want a background check run on it before anyone gets far enough to sign a contract. Trigger this on the HubSpot webhook for company creation. This is judgement work rather than a fixed lookup, so build it as an agent workflow.

Start from the new record. Take the legal name and the website domain off it, along with the address the rep entered and the country if there is one. If the webhook only hands you an identifier, or the record otherwise needs resolving, use HubSpot Search Companies to find it first. If the record already carries a verification outcome and a recent verification date, stop and do nothing, because it has been checked before.

Look the entity up on the public company registry for its jurisdiction. I will give you the registry search URL for each of the countries we sell into. Use Steel Scrape Webpage to open the listing, because registry sites are javascript heavy and block plain scrapers, and a real cloud browser is what actually gets the page to render. Read back four things: the entity status, meaning active, dissolved, in liquidation or struck off, the incorporation date, the registered address, and the listed directors.

Matching the name is the hard part. What the rep typed into the CRM is usually a trading name while the registry holds a legal name, so set aside suffix noise such as Ltd, Limited, LLC, Inc, GmbH and Pty, and compare on the meaningful part. Do not take the first search result. Weigh the domain and the registered address against the record before accepting a candidate. If two entities score closely, or the only thing matching is the name, treat the check as unresolved rather than picking a winner, and say so plainly.

Then use Steel Scrape Webpage again, this time on the company's own website, to confirm it is a real trading business rather than a shell. Look for the signs of a parked domain or an untouched template: placeholder copy, a domain for sale page, a default theme with no real content, no products or services described, no contact or company details anywhere on the site. A thin site is not automatically a problem, but a parked or placeholder one is.

Capture the evidence while you are there. Use Steel Generate PDF on the registry listing so there is a dated copy of what the registry said on the day of the check, then file it in Google Drive with Upload File (Multipart) into our verification folder. Name the file with the company name and the date of the check so it can be found later without opening it.

Write the findings back to HubSpot. Use Create Note attached to the company record, covering the entity status, the incorporation date, the registered address, the directors, what the website check showed, and a link to the evidence file in Drive. State clearly anything you could not confirm. Then use Update Company to set the verification outcome and the date the check ran onto the record, so anyone opening it can see at a glance whether it has been cleared.

Only post to Slack when something is actually wrong. Use Send a Message to our channel when the entity is dissolved or anything other than active, when the registered address on the registry contradicts what the rep entered, when there is no registry record for the company at all, or when the website is parked or a placeholder. Say which company it is, what the problem is, and link both the HubSpot record and the evidence file. Companies that come back clean get verified silently, because the note and the filed evidence are enough and nobody needs pinging.

Use judgement on the address. Registries and reps format addresses differently, so a unit number written one way in the CRM and another way on the registry is not a red flag, whereas a different street, city or country is. Registry layouts also vary by jurisdiction, so read the page for what it means rather than expecting fixed fields, and where a jurisdiction genuinely does not publish something, record it as not available instead of guessing.

Example output

Verification check, 9 August 2026 Register status: Active Incorporated: 14 March 2019 Registered address: Unit 4, Bridgewater House, 58 Whitworth Street, Manchester M1 6LT Directors: A. Whitfield, R. Nkemdirim Website: live trading site, products and contact details present Evidence: register listing saved to Drive as Bridgewater-Logistics-registry-2026-08-09.pdf Outcome: Verified. The registered address matches the address on the record apart from how the unit number is written.

What does this prompt do?

  • Opens the public company register in a real browser, the way a person would, so listings that block ordinary automated tools still get read
  • Reads back whether the business is active, dissolved, in liquidation or struck off, along with its incorporation date, registered address and listed directors
  • Checks the company's own website is a real trading business rather than a parked domain or an untouched template
  • Files a dated copy of the register listing in your Google Drive as evidence, writes the findings onto the CRM record, and stays silent unless something is actually wrong

What do I need to use this?

  • A HubSpot account where you can add notes and edit company records
  • A Steel account, which provides the cloud browser that opens register pages and captures the evidence copy
  • A Google Drive folder to file the evidence documents in
  • A Slack workspace and a channel for the checks that come back with a problem
  • Two custom fields on your company records to hold the verification outcome and the date it was checked
  • The web address of the public register you want to check against, for each country you sell into

How can I customize it?

  • Point it at the register for whichever country you sell into, or use a different register per country
  • Change what counts as a red flag, for example whether a small difference in how an address is written is worth raising
  • Choose which Google Drive folder the evidence lands in and which Slack channel hears about problems
  • Decide how much of the finding is written onto the record itself versus left in the attached note

FAQs

Which country's company register does this work with?
Whichever one you point it at. Because it reads the page in a real browser rather than relying on the register publishing a data feed, it works with any public register that has a searchable web listing. You can set a different register for each country you sell into.
Will it message us about every new company?
No, and that is the point. Clean companies are verified quietly, with the findings noted on the record and the evidence filed. Your team only gets a message when the business is not active, the registered address contradicts what was entered, there is no register record at all, or the website turns out to be parked.
Why keep a copy of the register listing?
Because a register entry can change after you check it. A dated copy captured on the day is what finance and legal teams need to show the check was actually done, and it saves someone digging the same listing up again months later during an audit or a dispute.
What if our CRM has the trading name rather than the legal name?
That is the normal case and it is handled as judgement rather than an exact match. Common company endings are set aside, the domain and address are weighed against the candidate, and if two businesses look equally plausible it records the check as unresolved instead of guessing at one.
Will this work on HubSpot Free?
Yes, as long as you can add a couple of custom company fields to hold the verification outcome and the check date. The free plan allows a limited number of custom properties, which is normally enough for this.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Provision customer entitlements in DynamoDB when a deal is won

When a HubSpot deal hits Closed Won, the customer's plan, seats and renewal dates land in your DynamoDB accounts table, with a Slack note showing what changed.

HubSpot
Amazon DynamoDB
Slack Bot
Agentic Task

Know who you are signing with.

Let every new company arrive already checked against the public register, with dated evidence on file and your team pulled in only when something looks wrong.