Screen new HubSpot leads for fake emails and phone numbers

Every new contact is checked for disposable emails and fake phone numbers, tagged Clean, Suspicious or Fake, and only risky ones ping Slack.

Agentic Task
IPQualityScoreHubSpotSlackSalesOperationsLead EnrichmentNotifications & Alerts
PromptCreate

When a new contact is created in HubSpot, I want to know immediately whether the lead is real, before anyone in sales wastes time on it. Trigger this workflow from a HubSpot webhook on new contact creation, then use the HubSpot Get Contact operation to pull the full record so you have the email address, phone number, name, and company to work with.

Take the contact's email address and run it through IPQualityScore Email Validation. Pay attention to the fraud score, whether the address is disposable or temporary, whether it is a known spam trap, whether it is deliverable, and whether the mailbox actually exists.

Then take the contact's phone number and run it through IPQualityScore Phone Number Validation. Look at the fraud score, whether the number is valid and currently active, the line type, and whether it is VOIP or prepaid, since those are common abuse signals on fake signups. If the contact only has one of the two fields filled in, run the check that applies and base the verdict on that signal alone rather than failing the run.

Weigh both results together and settle on a single verdict of Clean, Suspicious, or Fake. Treat an IPQualityScore fraud score of 75 or above on either check as high risk. Treat a score of 90 or above, a disposable email domain, or an invalid phone number as strong evidence that the lead is fake. Define the 75 threshold as a single value near the top of the workflow so it is easy to tune later without rewriting the logic.

Write the verdict back onto the HubSpot record using Update Contact. Set a lead quality property to Clean, Suspicious, or Fake, and set a second short reason property that explains which signal failed, for example "Disposable email domain, fraud score 88" or "Phone inactive, VOIP line, fraud score 79". Keep the reason to one sentence so it stays readable in a HubSpot list view, and make sure clean leads get an explicit Clean verdict rather than being left blank.

If the combined risk is high, meaning a fraud score of 75 or above on either check, a disposable email address, or a clearly fake phone number, send a Slack message to the sales operations channel using Send a Message. Name the contact, include the email address and phone number that were checked, state both fraud scores, and call out the specific red flag that tripped, so a human can decide whether to purge the record. Include a link back to the contact in HubSpot.

Clean leads should pass through silently. Update the HubSpot record and post nothing to Slack, so the channel only ever contains leads that genuinely need a human to look at them.

Additional information

What does this prompt do?
  • Watches HubSpot and checks every brand new contact the moment it is created, before anyone in sales picks it up.
  • Runs the email address and the phone number through a fraud and validity check that catches throwaway inboxes, spam traps, dead mailboxes and made up numbers.
  • Writes a lead quality verdict of Clean, Suspicious or Fake straight back onto the contact record, along with a one line reason explaining what failed.
  • Posts a Slack message to your sales operations channel only when a lead looks high risk, naming the contact and the exact red flag. Clean leads stay silent.
What do I need to use this?
  • A HubSpot account where you can add a custom contact property to hold the lead quality verdict
  • An IPQualityScore account for the email and phone checks
  • A Slack workspace and a channel where your sales operations team wants the alerts
  • New contacts that arrive with an email address, a phone number, or both
How can I customize it?
  • Move the risk cutoff up or down. The default flags anything scoring 75 or higher out of 100, so raise it to 90 if you only want the very worst leads called out.
  • Change where alerts land. Send them to a different channel, or straight to the person who owns lead routing.
  • Tune what counts as a red flag. You can add your own rules, such as always flagging free webmail addresses or contacts with no phone number at all.

FAQs

What happens if a contact does not have a phone number?
The check still runs. It scores the email address on its own and bases the verdict on that, rather than skipping the lead entirely. The same applies in reverse for a contact with a phone number but no email.
Do I need to set anything up in HubSpot first?
Just one thing. Create a custom contact property to hold the verdict, and optionally a second one for the reason text. Once those exist, the results show up on every contact record and you can filter and build lists off them.
Will this flood my Slack channel?
No. Clean leads are updated quietly in HubSpot with no message at all. Slack only hears about a lead when it crosses the risk threshold, so the channel stays useful.
How quickly does a new lead get checked?
Within seconds of the contact being created in HubSpot. The goal is to have a verdict on the record before a salesperson ever opens it.
Does it delete fake leads automatically?
No, and that is deliberate. It labels the record and tells a human what looks wrong so they can decide. If you would rather auto archive the obvious fakes later on, that is an easy change to make.
Will this work on a free HubSpot plan?
You need to be able to create custom contact properties and receive notifications of new contacts, which is available on paid HubSpot tiers. On the free plan you can still run the same checks on a schedule instead of instantly.

Related templates

Turn website roof inspection requests into JobNimbus leads

New roof inspection requests from your website form land in JobNimbus within a minute, with no duplicate records and nothing retyped by your team.

JobNimbus
Google Forms
Slack
Agentic Task
Triage new Jira Service Management requests before anyone opens them

Every new customer request gets a priority, triage labels, a friendly reply with the right help article, and a Slack ping only when it is truly urgent.

Jira Service Management
Jira
Slack
Agentic Task
Risk-check every dependency upgrade pull request in GitHub

When a bot opens a version bump pull request, we read the real documentation for that exact version and tell you whether it is safe to merge.

Context7
GitHub
Slack
Agentic Task
Launch an Ironclad contract when a HubSpot deal is won

The moment a deal hits Closed Won, the right contract starts in Ironclad, the link lands on the deal, and your sales channel hears who owns the next step.

Ironclad
HubSpot
Slack
Agentic Task
Weekly Ironclad contract renewal digest in Slack and Asana

Every Monday, find contracts renewing or expiring in the next 90 days, post a ranked digest to Slack, and open Asana tasks for the ones that need a decision now.

Ironclad
Slack
Asana
Agentic Task
Turn repeat support tickets into draft help articles

Every Friday, spot the questions your team keeps answering by hand and get a ready-to-review help article drafted from real fixes.

Jira Service Management
Confluence
Slack
Agentic Task

Stop letting your sales team chase leads that were never real.

Every new contact gets scored and labelled the moment it arrives, so your reps only work the ones worth calling.