HubSpot contact email validation with Hunter.io
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (8)
- HubSpot
n8n-nodes-base.hubspot - Manual Trigger
n8n-nodes-base.manualTrigger - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - No Operation, do nothing
n8n-nodes-base.noOp - Hunter
n8n-nodes-base.hunter - HTTP Request
n8n-nodes-base.httpRequest - Wait
n8n-nodes-base.wait - Send Email
n8n-nodes-base.emailSend
What it does
Workflow: HubSpot Contact Email Validation with Hunter.io Overall Goal This workflow retrieves contacts from HubSpot that have an email address but haven't yet had their email validated by Hunter. It then iterates through each of these contacts, uses Hunter.io to verify their email, updates the contact record in HubSpot with the validation status and date, and finally sends a summary email notification upon completion. How it Works (Step-by-Step Breakdown) Node: "When clicking ‘Test workflow’" (Manual Trigger) - Type: n8n-nodes-base.manualTrigger - Purpose: Start the workflow manually via the n8n interface. - Output: Triggers workflow execution. Node: "HubSpot" (HubSpot) - Type: n8n-nodes-base.hubspot - Purpose: Fetch contacts from HubSpot. - Configuration: - Authentication: App Token - Operation: Search for contacts - Return All: True - Filter Groups: - Contact HASPROPERTY email - Contact NOTHASPROPERTY hunteremailvalidationstatus - Output: List of contact objects. Node: "Loop Over Items" (SplitInBatches) - Type: n8n-nodes-base.splitInBatches - Purpose: Process each contact one-by-one. - Configuration: - Options > Reset: false - Output: - Output 1 to "Hunter" - Output 2 to "Send Email" Node: "Hunter" (Inside the loop) - Type: n8n-nodes-base.hunter - Purpose: Verify email with Hunter.io - Configuration: - Operation: Email Verifier - Email: {{ $json.properties.email }} Node: "Add Hunter Details (Contact)" (HTTP Request - Inside the loop) - Type: n8n-nodes-base.httpRequest - Purpose: Update HubSpot contact. - Configuration: - Method: PATCH - URL: https://api.hubapi.com/crm/v3/objects/contacts/{{ $('Loop Over Items').item.json.id }} - Headers: Content-Type: application/json - Body (JSON): json { "properties": { "hunteremailvalidationstatus": "{{ $json.status }}", "hunterverificationdate": "{{ $now.format('yyyy-MM-dd') }}" } } Node: "Wait" (Inside the loop) - Type: n8n-nodes-base.wait - Purpose: Avoid API rate limits. - Configuration: Wait for 1 second. Node: "Replace Me" (NoOp - Inside the loop) - Type: n8n-nodes-base.noOp - Purpose: Junction node to complete the loop. Node: "Send Email" (After the loop completes) - Type: n8n-nodes-base.emailSend - Purpose: Send summary notification. - Configuration: - From Email: [email protected] - To Email: [email protected] - Subject: "Email Verification Completed for Your HubSpot Contacts" - HTML: Formatted confirmation message Sticky Notes - "HubSpot": Create custom properties (hunteremailvalidationstatus, hunterverificationdate). - "Add Hunter Details": Ensure field names match HubSpot properties. - "Wait": Prevent API rate limits. How to Customize It Trigger - Replace Manual Trigger with Schedule Trigger (Cron) for automation. - Optionally use HubSpot Trigger for new contact events. HubSpot Node - Create matching custom properties. - Adjust filters and returned properties as needed. Hunter Node - Minimal customization needed. HTTP Request Node - Update JSON property names if renaming in HubSpot. - Customize date format as needed. Wait Node - Adjust wait time to balance speed and API safety. Email Node - Customize email addresses, subject, and body. - Add dynamic contact count with a Set or Function node. Error Handling - Add Error Trigger nodes. - Use If nodes inside loop to act on certain statuses. Use Cases - Clean your email list. - Enrich CRM data. - Prep verified lists for campaigns. - Automate contact hygiene on a schedule. Required Credentials HubSpot App Token - Used by: HubSpot node and HTTP Request node - Create a Private App in HubSpot with required scopes. Hunter API - Used by: Hunter node SMTP - Used by: Email Send node - Configure host, port, username, and password. --- Made with ❤️ using n8n by Akhil.