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

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.

Additional information

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.

Frequently asked questions

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.

Stop letting bad emails into your CRM.

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