Framer is the startup landing-page builder of choice right now. Gorgeous out of the box, blazing fast, and the form component ships as a first-class citizen. What Framer doesnot give you out of the box is control over how form submissions get delivered to your team's inbox.
The default Framer form routes submissions through Framer's own infrastructure to whatever email you configured. That email arrives — or doesn't — based on a mail pipe you don't own. For a 10-visitor-a-day side project, fine. For a funded startup where every demo request matters, you need to verify.
Framer prioritises authoring speed. That means the form mail path is hosted and opinionated. You don't choose the From envelope, don't sign DKIM on your domain, don't control bounces. Test first, then decide.
Framer's three form delivery paths
1. Built-in email notification
- Framer emails the submission to your configured address from Framer's infra.
- Shared sender pool. No DKIM on your domain. No Return-Path control.
- Works for casual sites; unreliable for lead gen at scale.
2. Webhook
- Framer fires an HTTPS POST to any URL you provide.
- You then route to your CRM, ESP, or Slack.
- Gives you complete control over the outbound mail side.
3. Native integrations
- HubSpot, Mailchimp, ConvertKit and similar via the integrations gallery.
- Submission flows straight into the CRM / list; the CRM handles notification.
A common mistake: "I connected HubSpot to Framer so I'm covered on authentication." HubSpot authentication only affects mail sent from HubSpot, e.g. workflow emails. The built-in Framer form notification stays on Framer's pipe regardless.
Seed test the built-in notification
Use the form's notification field to add multiple recipients, seeded across major providers:
- Configure the form's "send notifications to" with 15–20 seeds: Gmail, Workspace, Outlook.com, M365, Yahoo, Mail.ru, Yandex, ProtonMail, GMX.
- Submit twice from an incognito window with realistic filler.
- Log placement per provider.
- Re-test 2 days later — shared pool placement moves.
Webhook → your ESP → DKIM-signed notification
If the seed test is mixed, switch to webhooks. This is the path that gives you ownership of placement.
Framer Form
--> webhook POST
--> serverless function (Vercel / Workers)
--> ESP API (Resend / Postmark / SendGrid)
From: leads@yourdomain.com (DKIM-signed on your domain)
To: founders@yourdomain.com
Reply-To: {{ submitter email }}
Subject: New demo request from {{ company }}
--> InboxIn parallel you can fire a Slack webhook for real-time alerts. That way the email is a record, not the notification mechanism.
Verify your own domain authentication
The webhook fix only helps if your own domain is properly authenticated. Minimum:
SPF on yourdomain.com:
v=spf1 include:_spf.resend.com ~all
DKIM (ESP-provided):
resend._domainkey.yourdomain.com TXT "p=MIGf..."
DMARC starter policy:
_dmarc.yourdomain.com TXT "v=DMARC1; p=none;
rua=mailto:dmarc@yourdomain.com; pct=100"Run these through a DNS checker before switching the form over. A misconfigured SPF is the single most common reason a webhook-driven fix still lands in Spam.
Decide and move on
- Seed test clean: leave the built-in notification. Framer's default is fine for your volume. Re-test monthly.
- Seed test mixed: set up the webhook + ESP path. 30 minutes including DNS.
- You already use a real CRM: skip email entirely — native HubSpot or webhook to Pipedrive/Close + Slack alert. Email becomes a backup.