Auto-fill missing emails on new HubSpot contacts

By General Input

When a new HubSpot contact is missing a real email, find it with Snov.io, verify it is deliverable, write it back, and queue them for outreach.

Integrations

  • HubSpot
  • Snov.io
  • Slack

Type

Agentic Task

Categories

  • Sales
  • Operations

Build me an agent workflow that auto-enriches new HubSpot contacts with a verified business email from Snov.io, writes it back to HubSpot, and notifies my SDR team in Slack.

Trigger: a HubSpot outgoing webhook for the contact.creation event. The webhook payload includes the new contact's HubSpot ID and the properties that were set at creation time.

When the webhook fires, the agent should:

1. Read the contact's first name, last name, company domain, and email from the webhook payload (re-fetch the HubSpot contact if any of these are missing from the payload).

2. Decide whether the email is missing or looks like a placeholder. Treat the email as missing if it is empty, or if it matches obvious junk patterns such as role-based addresses (info@, sales@, noreply@, admin@, hello@, contact@), addresses that contain the word test/example/placeholder, addresses where the local part equals the company domain, or addresses on disposable domains. Otherwise treat the email as real and stop.

3. If first name, last name, and company domain are all present, call Snov.io Find Emails by Name and Domain to discover the best business email. This is an asynchronous Snov.io operation, so wait for the task to complete before reading the result.

4. Take the top candidate email returned by Snov.io and run it through Snov.io Verify Emails (also asynchronous) to confirm deliverability. Capture the verification status, SMTP result, and any confidence or score field Snov.io returns.

5. Only treat the email as a write-back candidate if Snov.io marks it as deliverable / valid (not catch-all, not risky, not invalid, not unknown). Make this threshold easy to adjust in the workflow instructions.

6. On a confirmed-good email: call HubSpot Update Contact to set the email property on the originating contact ID. Then send a Slack message via Send a Message to a configurable SDR channel that says something like "Enriched {First Last} at {company domain} → {email} (confidence: {score/label})." Then call Snov.io Add Prospect to List to add the prospect (name, email, company domain, HubSpot contact link) to a designated Snov.io list so they get picked up by the matching outbound campaign.

7. If no email is returned, or the verification result is risky/invalid/catch-all/unknown, do NOT update the HubSpot contact. Instead send a Slack message via Send a Message to the same SDR channel (or a separate manual-review channel if configured) that says something like "Could not auto-enrich {First Last} at {company domain} — needs manual review" with a link back to the HubSpot contact.

Configuration the workflow should expose: the Slack channel for enrichment notes, an optional separate Slack channel for manual-review flags, the Snov.io prospect list to add winners to, the verification statuses that count as "good enough" to write back, and the list of placeholder email patterns to treat as missing.

Important behavior: never overwrite an email that already looks real, always leave the contact untouched when the enrichment fails, and post exactly one Slack message per contact (either the enriched note or the manual-review note, never both). Operations to use: snov-io Find Emails by Name and Domain, snov-io Verify Emails, snov-io Add Prospect to List, hubspot Update Contact, slack Send a Message.

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