Vet Typeform leads with ZeroBounce before they hit HubSpot

By General Input

Every new Typeform response gets its email checked. Verified leads sync to HubSpot, suspicious ones go to a Slack triage channel.

Integrations

  • Typeform
  • ZeroBounce
  • HubSpot
  • Slack

Type

Deterministic Code

Categories

  • Sales
  • Marketing

Build a code workflow that gates Typeform lead submissions through ZeroBounce email validation before they ever reach HubSpot. This is a deterministic pipeline with discrete nodes, so a code workflow is the right fit.

Trigger: an incoming webhook from Typeform. The form is our demo request form, and Typeform's outgoing webhook delivers the full form response payload. The submitter's email lives inside form_response.answers, alongside the other form fields and form_response.form_id.

Step 1. Parse the webhook payload. Pull out the submitter's email address, the other form answers (first name, last name, company, phone if present), and the form_id.

Step 2. Call ZeroBounce Validate Email on that address. The response returns a status field that will be one of valid, invalid, catch-all, unknown, spamtrap, abuse, or do_not_mail, plus a sub_status field with more detail.

Step 3. Branch on status. If status is valid, send the lead to HubSpot. If status is catch-all, make a second ZeroBounce call to AI Email Scoring on the same address; if the returned score is 8 or higher, send the lead to HubSpot, otherwise treat it as bounced. If status is invalid, spamtrap, abuse, do_not_mail, or unknown, treat it as bounced.

Good path. Call HubSpot Batch Upsert Contacts with email as the unique property. Map the form answers onto standard contact properties (firstname, lastname, company, phone) and set lead_source = "typeform" so we can attribute the contact later.

Bounced path. Call Slack Send a Message to a #leads-bounced channel with a short summary: the submitter's email, the ZeroBounce status, the sub_status, the AI score if one was fetched, and the Typeform form_id. Marketing ops will use this channel to investigate suspicious submissions.

Make the Slack channel name, the lead_source value, the catch-all score threshold, and the HubSpot property mapping easy to edit later, so I can reuse this same flow on other Typeform forms without rewriting nodes.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredTurn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe reveals