Webflow is more developer-friendly than most drag-and-drop builders, which misleads people into assuming it also gives you full control over outbound email. It doesn't. The built-in form submission handler fires an email notification from Webflow's own mail servers, and you don't get to authenticate that mail on your domain.
For a marketing site where the main form is a contact request, this works. For a site where forms are revenue — lead gen, demo requests, consultation bookings — the notification email can drift into Spam and you'll blame everything except the one thing that's actually wrong.
You can point your domain at Webflow's hosting. You can use Webflow's Marketing Email (paid) on your domain with DKIM. You cannot DKIM-sign the form-submission notification email that goes to your team. That pipe is Webflow-controlled.
Two places Webflow email comes from
Webflow has two separate mail paths and it's worth not conflating them:
1. Form submission notifications (team-facing)
- Sent from Webflow's mail infra on a Webflow-owned envelope.
- Shared reputation with every other Webflow site.
- No DKIM on your domain, no Return-Path control.
2. Marketing email (customer-facing)
- Available via Webflow Marketing or via external ESP integration.
- On paid plans, proper DKIM on your domain via Webflow's DNS setup.
- Sender reputation isolated to your domain — this is fine for list sends.
The marketing pipe is fine. The notification pipe is the one that breaks silently.
Seed test the form notification
Webflow form settings let you send notifications to multiple email addresses:
- Site settings → Forms → add 20+ seed addresses in the notification recipient list.
- Use seed addresses that cover Gmail, Google Workspace, Outlook.com, Microsoft 365, Yahoo, Mail.ru, Yandex, ProtonMail, GMX, Fastmail.
- Submit the form three times with plausible filler from an incognito window.
- Record per-provider placement: Inbox, Promotions, Junk, missing.
- Repeat 48h later to catch reputation-pool drift.
Webflow's notification pool reputation moves with aggregate user behaviour. A single Webflow tenant running a spammy template can drag shared-pool placement down for hundreds of other tenants for a week. Monthly re-tests catch this.
The webhook fix
When seed results are poor, Webflow has a clean way out: webhooks. Every form submission can fire an HTTPS POST to a URL you control. From there you can authenticate on your own domain via any ESP.
// Simple Node handler (Next.js route, Vercel)
export async function POST(req) {
const form = await req.formData();
await fetch('https://api.postmarkapp.com/email', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
'X-Postmark-Server-Token': process.env.POSTMARK_TOKEN,
},
body: JSON.stringify({
From: 'leads@yourdomain.com',
To: 'sales@yourdomain.com',
ReplyTo: String(form.get('email') || ''),
Subject: 'New lead from ' + form.get('name'),
TextBody: Array.from(form.entries())
.map(([k, v]) => k + ': ' + v).join('\n'),
}),
});
return Response.json({ ok: true });
}Once that endpoint is receiving, point the Webflow form's "Form submission webhook" at it. Your team now receives notifications from leads@yourdomain.com signed with your DKIM, evaluated against your DMARC. Placement improves within a day.
Decide: stay, webhook, or CRM-only
- Seed test is green across major providers: Leave the native flow. Ship faster, re-test in 30 days.
- Seed test is mixed: Add the webhook. One afternoon of setup, permanent fix.
- Lead volume is high and CRM is mission-critical: Bypass email notifications entirely. Webhook straight to HubSpot / Pipedrive / Close, and fire a Slack message. Email becomes optional backup.