Most Framer sites ship a simple "Contact us" form that treats every submission the same.
That's fine when you're just starting — but once you get any real traffic, your inbox becomes a mix of spam, low-intent inquiries, and high-intent leads that deserve a fast reply.
This guide covers:
- Evidence-backed best practices for lead forms (so you don't accidentally tank conversion)
- A DIY Framer workflow to qualify + route leads to Slack/email without a backend
- An optional turnkey implementation with a Framer plugin if you want fewer moving parts
Part 1 — What "good" lead forms do
Keep the form short (then qualify later)
More fields = more friction. HubSpot research consistently shows certain fields (phone number, long free-text, etc.) hurt conversion. A good starting point is 3–5 fields, then qualify later via routing logic or a follow-up step.
Use progressive disclosure (multi-step) when you need more info
If you need more than a few inputs, split the form into steps. Multi-step forms often outperform long single-page forms because they reduce abandonment.
Optimize for speed-to-lead
If a lead fills out your form and you reply hours later, you're usually competing with whoever replied first. A widely cited study (InsideSales/MIT) found that contacting leads quickly dramatically increases qualification odds.
Practical takeaway: route high-intent leads to Slack so you see them immediately.
Part 2 — What we're building (DIY version)
A lead qualification form that:
- asks 3–5 qualifying questions
- uses a simple rule like "Budget = $20k+ AND Timeline = This month"
- routes high-intent to Slack
- routes everything else to a fallback email
No custom backend required.
Part 3 — DIY: implement this in Framer
Framer handles the form UI. The routing happens via email (simple) or webhooks + automation (recommended).
Option A — Email-first (simplest)
In Framer
- Insert a Form (Insert → Forms → Form).
- Add inputs and keep them tight: Name, Email, Budget (dropdown), Timeline (dropdown), 1-sentence project description.
- In the right sidebar → Send To → Add… → Email.
- Enter your email address.
- Publish and submit two tests.
In your email inbox
- Create a filter: if body contains Budget: $20k+ AND Timeline: This month → label "Hot Leads". Else → "General".
Option B — Slack + Email routing via webhooks (recommended)
Step 1 — Create a webhook trigger
Zapier: New Zap → Webhooks by Zapier → Catch Hook → copy the URL.
Make: New Scenario → Webhooks → Custom webhook → Add → copy the URL.
Step 2 — Connect your Framer form
- Select your Form on the Framer canvas.
- Right sidebar → Send To → Add… → Webhook.
- Paste the webhook URL.
- Publish and submit a test.
Step 3 — Add routing logic
Zapier
- Add Filter by Zapier: budget equals $20k+ AND timeline equals This month
- If passes → Slack → Send Message to #inbound-leads
- Fallback path → Email by Zapier → your inbox
Make
- After webhook, add a Router
- Route 1 filter: budget = $20k+ AND timeline = This month → Slack → Create a Message in #inbound-leads
- Route 2 (fallback) → Email/Gmail → your fallback inbox
Part 3b — Setting up Slack and Discord for routing
Once you have a webhook URL from Zapier or Make, you still need the destination webhook URLs. Here's how to get them.
How to set up a Slack incoming webhook
Slack incoming webhooks are per-channel URLs that accept a JSON POST and display a formatted message — no bot token required.
- Go to api.slack.com/apps and click Create New App → From scratch.
- Give it a name (e.g. "Lead Routing") and select your workspace.
- In the left sidebar under Features, click Incoming Webhooks.
- Toggle Activate Incoming Webhooks to On.
- Click Add New Webhook to Workspace at the bottom.
- Choose the channel you want to post to (e.g.
#inbound-leads) and click Allow. - Copy the generated Webhook URL — it looks like:
https://hooks.slack.com/services/T.../B.../xxx...
Paste this URL into:
- Zapier: the "Webhook URL" field in the Slack → Send Channel Message action (or use Zapier's native Slack integration)
-
Make: HTTP Request → URL field (method: POST, body: JSON with
textkey) - Lead Form plugin: the "Slack Webhook URL" property in Framer
Security: treat your Slack webhook URL like a password. It bypasses all login — anyone with the URL can post to your channel.
How to set up Discord channel notifications
Discord supports incoming webhooks per channel. The setup takes about 60 seconds.
- Open Discord and navigate to the channel you want notifications in (e.g.
#leads). - Click the Edit Channel (gear icon) next to the channel name.
- In the left sidebar, click Integrations → Webhooks.
- Click New Webhook, give it a name (e.g. "Lead Form"), and optionally set an avatar.
- Click Copy Webhook URL — it looks like:
https://discord.com/api/webhooks/{id}/{token}
Sending a message via Zapier or Make:
Discord webhooks accept a JSON POST with a content key for plain text, or embeds for rich cards.
Zapier:
- Add a Webhooks by Zapier action → POST.
- URL: your Discord webhook URL.
- Data: set Payload Type to JSON, add key
contentwith value like:New lead (score: {{score}}) — {{email}}
Make:
- Add an HTTP → Make a request module.
- Method: POST, URL: your Discord webhook URL.
- Body type: Raw, Content type: application/json.
- Body:
{
"embeds": [{
"title": "New Lead Submission",
"color": 6553855,
"fields": [
{ "name": "Score", "value": "{{score}}", "inline": true },
{ "name": "Email", "value": "{{answers[1].value}}", "inline": true }
]
}]
}
Lead Form plugin: once Discord delivery is added to the plugin (coming soon), paste the webhook URL into the "Discord Webhook URL" property in Framer.
Security notes (don't skip this)
- Treat webhook URLs like passwords. Anyone with the URL can post data into your automation.
- Use https:// webhooks only.
- Minimize PII — don't ask for phone numbers unless you truly need them.
- Framer supports signature verification with a secret so you can confirm requests are genuine: Framer webhook docs
- Add basic anti-spam measures (honeypot field, rate limiting) if you start getting abused.
Part 4 — The faster path (optional): Lead Form plugin
If you want the same result with fewer moving parts, Lead Form is a turnkey option:
- Multi-step form builder
- Conditional questions
- Routing rules
- Slack + Webhook delivery
Lead Form on Gumroad ($9/month)
Suggested qualification questions
- What best describes you? (Freelancer / Small agency / In-house team / Enterprise)
- Approx budget? (Under $5k / $5k–$20k / $20k+ / Not sure)
- Timeline? (This month / Next quarter / Just exploring)
- One sentence about the project
Before you publish
✅ 3–5 fields max on the first step
✅ One clear CTA (not "Submit" — be specific)
✅ Mobile-friendly spacing
✅ Slack routing for high-intent leads
✅ Email fallback for everything else





Top comments (0)