# 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.

- Workflow type: agent
- Services: Typeform, NeverBounce, HubSpot, Google Sheets
- Categories: Sales, Operations
- Published: 2026-05-20

## What it does

- 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 you'll need

- 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.

## Prompt

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.

## How to customize

- 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.

## FAQ

### 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.

Use this prompt in General Input: https://www.generalinput.com/prompts/verify-typeform-leads-with-neverbounce-before-they-hit-hubspot