Verify Typeform leads with NeverBounce before they hit HubSpot

Every 15 minutes during business hours, new form responses get email-checked. Clean leads go to HubSpot. Risky ones get logged to a sheet for review.

Agentic Task
TypeformNeverBounceHubSpotGoogle SheetsSalesOperationsLead EnrichmentData Sync
PromptCreate

Build an agent workflow that runs on a cron every 15 minutes during business hours (weekdays, 9am to 6pm local time) and processes new lead-capture responses from a single Typeform form.

On each run, call Typeform Retrieve Responses for the configured form using a since cursor that covers the most recent window (the time of the last successful run, with a small safety overlap). Keep track of which Typeform response IDs have already been processed so the same submission is never written downstream twice within a run or across runs.

For every new response that has an email address, call NeverBounce Verify Single Email to check deliverability. The result code will be one of valid, invalid, disposable, catchall, or unknown, optionally with a typo suggestion.

For valid and catchall results: first call HubSpot Search Contacts to check whether a contact with that email already exists. If it does, skip the create step. If it does not, call HubSpot Create Contact with the form fields mapped onto standard contact properties (email, first name, last name, company, phone, etc.) plus a custom nb_status property set to the NeverBounce result code so the RevOps team can see why the contact was admitted.

For invalid, disposable, and unknown results: do not push the lead into HubSpot. Instead call Google Sheets Append Values to write the row to a Form Rejections tab in the configured spreadsheet. Each row should include the email, response timestamp, NeverBounce result code, any typo suggestion NeverBounce returned, and the original form field values, so marketing or RevOps can later eyeball borderline cases without polluting the CRM.

De-duplicate within the run (and across runs) by tracking the Typeform response IDs already handled. If the same response is encountered twice in the same sweep, process it only once. Surface a short per-run summary noting how many responses were verified, how many landed in HubSpot, and how many were logged as rejections.

What does this prompt do?

  • Pulls fresh Typeform responses on a 15-minute sweep during business hours so new leads do not pile up waiting for review.
  • Checks every respondent's email for deliverability so typos, fake addresses, and burner inboxes never make it into your CRM.
  • Adds clean leads to HubSpot as new contacts with the email verification result stamped on the record.
  • Sends invalid, disposable, and uncertain addresses to a Google Sheet so your team can eyeball borderline cases without polluting HubSpot.

What do I need to use this?

  • A Typeform account with the lead-capture form you want to monitor.
  • A NeverBounce account with credits available to run the email checks.
  • A HubSpot account where clean leads should land as new contacts.
  • A Google Sheet with a Form Rejections tab to collect the addresses that fail verification.

How can I customize it?

  • Change how often the sweep runs and which hours count as business hours.
  • Decide which verification results are good enough for HubSpot, and which get sent to the rejection sheet for human review.
  • Add or remove form fields that get copied onto the HubSpot contact and the rejection log.

FAQs

What happens to catchall email addresses?
By default, catchall results are treated as good enough for HubSpot since most of them deliver. You can flip that during setup and send catchalls to the rejection sheet instead.
Will this create duplicate contacts in HubSpot?
No. Before creating a contact, the workflow checks HubSpot for the email and skips the create step if a contact already exists.
Can the same Typeform response get processed twice?
No. The workflow tracks which responses it has already handled, so even if two runs overlap, each submission is only written downstream once.
Do I need a paid NeverBounce plan?
NeverBounce charges per verification, so you will need credits on your account. The workflow only spends one credit per new respondent.
Can I swap HubSpot for a different CRM?
Yes. During setup you can point the clean-lead step at another CRM, and you can send the rejection log somewhere other than Google Sheets if you prefer.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Local listing health board for every location you manage

See every Google Maps listing you manage on one screen, ranked worst first, with an audit button that writes the fix list for you.

Local Business Data
Google Sheets
App
Let support send one-off Loops emails without an engineer

Your team picks a template, finds the customer, checks they are safe to email, then sends it, with every send logged where the whole team can see it.

Loops.so
Stripe
Google Sheets
App
Turn Mailjet email clicks into ranked HubSpot follow-ups

Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.

Mailjet
HubSpot
Slack Bot
Agentic Task
Stop cold emails to anyone with a live deal in Pipedrive

Every night at 2am, pull the contacts on your open and won deals and block them from your cold outreach before the next send goes out.

Mailshake
Pipedrive
Google Sheets
Deterministic Code
iMessage campaign console with pre-flight checks and delivery board

Build every text campaign in one screen: check who is actually reachable, see a realistic send plan, then watch delivery land row by row.

LoopMessage
Google Sheets
HubSpot
App

Stop letting bad emails into your CRM.

Connect Typeform, NeverBounce, HubSpot, and Google Sheets once, and Geni sweeps for fresh leads every 15 minutes.