Typeform + MailOdds
Validate email submissions from Typeform automatically. Catch fake emails before they enter your CRM or mailing list.
Prerequisites
- MailOdds account with API key
- Typeform with email question
- Zapier or Make account
How to Connect
Example Workflow
Trigger: New Typeform Response
Fires when someone submits your form.
Validate: Check Email
MailOdds verifies the email with full SMTP check.
Filter: Route by Quality
Only pass valid emails to your CRM. Flag or discard invalid ones.
Action: Add to CRM/List
Send verified contacts to HubSpot, Mailchimp, Google Sheets, etc.
Zapier: Validate Typeform Email
JAVASCRIPT// Zapier Code Step - Validate Typeform Email Submission
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 Typeform email field
})
});
const result = await response.json();
return {
email: result.email,
status: result.status,
action: result.action,
is_valid: result.action === 'accept',
reason: result.sub_status || null
}; Zapier: Filter Invalid Emails
JAVASCRIPT// Zapier Filter Step - Only continue if email is valid
// Add a "Filter by Zapier" step after validation:
//
// Field: is_valid (from Code step)
// Condition: (Boolean) Is true
//
// This stops the Zap for invalid emails,
// so only verified contacts reach your CRM or mailing list. Lead Scoring from Validation
Map validation results to lead quality tiers. Use the action field to assign scores and the delivery_confidence field for finer-grained routing.
Zapier: Lead Scoring from Validation Result
JAVASCRIPT// Zapier Code Step - Lead Scoring from Validation Result
const action = inputData.action;
let quality_tier, score;
if (action === 'accept') {
quality_tier = 'high';
score = 100;
} else if (action === 'accept_with_caution') {
quality_tier = 'medium';
score = 50;
} else {
quality_tier = 'low';
score = 0;
}
return {
email: inputData.email,
quality_tier,
score,
delivery_confidence: inputData.delivery_confidence,
tag: quality_tier + '_quality_lead'
}; Depth Optimization
Use standard depth for general intake forms (fast, syntax and domain checks only) and enhanced for high-value forms like demo requests (full SMTP verification). Route by Typeform form ID to apply the right depth automatically.
Zapier: Tiered Validation by Form Type
JAVASCRIPT// Zapier Code Step - Tiered Validation for Typeform
const isHighValue = inputData.form_id === 'YOUR_DEMO_FORM_ID';
const depth = isHighValue ? 'enhanced' : 'standard';
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, depth })
});
const result = await response.json();
return {
email: result.email,
action: result.action,
depth_used: depth,
delivery_confidence: result.delivery_confidence
}; Frequently Asked Questions
Troubleshooting
Need more help?
Can't find what you're looking for? We're here to help you get Typeform working.
Stop Fake Emails From Typeform
Get 1,000 free validations and start verifying form submissions today.