Validate emails from Webflow form submissions. Verify leads before they reach your CRM and keep your marketing lists clean.
Set up a backend endpoint that receives Webflow form data and calls the MailOdds API
View guideAdd client-side JS in Webflow page settings to validate before submission
View guidePOST /v1/validate for single email validation, POST /v1/suppression for list management
View guideFires when a visitor submits a form on your Webflow site.
Verify the email address with SMTP and domain checks.
Valid emails go to your CRM. Invalid ones are logged for review.
Send verified leads to HubSpot, Mailchimp, Google Sheets, etc.
// Backend webhook handler (Node.js / Express)
// Webflow sends form submissions to this endpoint
app.post('/webhooks/webflow-form', async (req, res) => {
const formEmail = req.body.data?.email || req.body.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: formEmail })
});
const result = await response.json();
if (result.action === 'accept') {
// Valid lead: add to CRM, mailing list, etc.
console.log('Valid lead:', result.email);
} else {
// Invalid or risky: log for review
console.log('Rejected:', result.email, result.sub_status);
}
res.json({ status: 'processed' });
}); // Webflow custom code (Page Settings > Before </body> tag)
// Intercepts form submission and validates via your backend
const form = document.querySelector('#email-form');
form.addEventListener('submit', async (e) => {
e.preventDefault();
const formEmail = form.querySelector('[name="email"]').value;
const statusEl = document.querySelector('#validation-status');
statusEl.textContent = 'Validating...';
const res = await fetch('https://yoursite.com/api/validate-email', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email: formEmail })
});
const data = await res.json();
if (data.action === 'accept') {
statusEl.textContent = 'Email verified!';
form.submit(); // Allow the form to submit normally
} else {
statusEl.textContent = 'Please enter a valid email address.';
}
}); Map validation results to lead quality tiers. Use the action field to assign scores and the delivery_confidence field for finer-grained routing.
// Lead scoring based on MailOdds validation result
function scoreLead(validationResult) {
const { email, action, delivery_confidence } = validationResult;
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,
quality_tier,
score,
delivery_confidence,
tag: quality_tier + '_quality_lead'
};
} For Webflow e-commerce sites, use the mid parameter in email links to track which campaign drove a conversion. MailOdds appends a message ID to every tracked link.
https://store.example.com/products/item?mid=msg_abc123
Capture the mid parameter in Webflow custom code to attribute purchases back to specific email campaigns. Use new URLSearchParams(window.location.search).get('mid') in your Webflow page settings to extract it.
MailOdds is a full-cycle email platform. After validating your Webflow contacts, you can send campaigns, monitor deliverability, and track engagement from the same API.
Can't find what you're looking for? We're here to help you get Webflow working.
Get 1,000 free validations and start verifying form submissions today.