MailOdds

HubSpot + MailOdds

Validate HubSpot contact emails to keep your CRM clean. Auto-validate new contacts, clean existing lists, and segment by email quality.

Setup time: 5-10 min
Difficulty: Beginner
1,000 free validations included

Prerequisites

  • MailOdds account with API key
  • HubSpot account (any tier)
  • Zapier or Make account

HubSpot Use Cases

New Contact Validation

Auto-validate emails when contacts are created. Write status to custom properties for segmentation.

Form Submission Filtering

Validate HubSpot form submissions before contacts enter nurture workflows. Block fake emails.

Bulk List Cleaning

Export HubSpot lists, bulk validate via MailOdds, import results back with validation status.

Pre-Campaign Hygiene

Clean email lists before major campaigns to reduce bounces and protect sender reputation.

Step-by-Step Setup (Zapier)

1

Create Custom Properties in HubSpot

Go to Settings > Properties > Create: "email_validation_status" (text), "email_quality_score" (number).

2

Create a Zap: Trigger on New Contact

Use HubSpot "New Contact" trigger. Map the email field to your Code step.

3

Add MailOdds Validation Code Step

Paste the validation code below. It returns status, action, and quality score.

4

Update Contact with Results

Use "Update Contact" action to write validation_status and quality_score back to the contact.

5

Build Segments on Validation Status

Create HubSpot active lists filtered by email_validation_status. Use for targeted campaigns.

Zapier: Validate HubSpot Contact

JAVASCRIPT
// Zapier Code Step - Validate HubSpot Contact Email
const response = await fetch('https://api.mailodds.com/v1/validate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    email: inputData.email // Mapped from HubSpot contact email
  })
});

const result = await response.json();

return {
  email: result.result.email,
  status: result.result.status,
  action: result.result.action,
  is_valid: result.result.action === 'accept',
  score: result.result.score
};

Make: HubSpot Validation Scenario

JAVASCRIPT
// Make Scenario - HubSpot Contact Validation
// 1. HubSpot: Watch New Contacts (trigger)
// 2. HTTP Module: POST to https://api.mailodds.com/v1/validate
//    Headers: Authorization: Bearer YOUR_API_KEY
//    Body: { "email": "{{1.properties.email}}" }
// 3. HubSpot: Update Contact
//    Property "email_validation_status" = {{2.result.status}}
//    Property "email_quality_score" = {{2.result.score}}
// 4. Router: Branch by action
//    - "reject" -> Add to "Invalid Emails" list
//    - "accept" -> Continue to enrollment workflows

Bulk Validate HubSpot Lists

JAVASCRIPT
// Zapier: Bulk Validate HubSpot List via CSV Export
// For large existing lists, use the bulk approach:
//
// 1. HubSpot: Export contact list as CSV
// 2. Upload CSV to MailOdds dashboard (/dashboard/jobs/new)
// 3. Download validated results CSV
// 4. Import back to HubSpot with validation status column
//
// Or automate with the API:
const response = await fetch('https://api.mailodds.com/v1/jobs', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    emails: inputData.emails, // Array of HubSpot contact emails
    callback_url: 'YOUR_WEBHOOK_URL'
  })
});

Frequently Asked Questions

Troubleshooting

Need more help?

Can't find what you're looking for? We're here to help you get HubSpot working.

Clean Your HubSpot CRM Data

Get 1,000 free validations and start verifying HubSpot contacts today.