Generate a free splitforms key
Sign in at splitforms.com — your access key is created instantly. No credit card, no setup wizard, no SDK to install.
Booking / Appointment · Framer
Time-slot booking with service selection — for salons, advisors, doctors. Free for 200 submissions total — no backend, no SDK, no plugin.

Copy-paste code
Replace YOUR_ACCESS_KEY with your splitforms key, paste into a Framer page, and ship. No build-time integration required.
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
<input type="hidden" name="subject" value="New booking request">
<label for="name">Full name *</label>
<input id="name" type="text" name="name" placeholder="Jane Builder" required>
<label for="email">Email *</label>
<input id="email" type="email" name="email" placeholder="[email protected]" required>
<label for="phone">Phone *</label>
<input id="phone" type="tel" name="phone" placeholder="+1 555 555 5555" required>
<label for="service">Service *</label>
<select id="service" name="service" required>
<option value="">Choose…</option>
<option>Consultation</option>
<option>Standard appointment</option>
<option>Premium / extended</option>
</select>
<label for="preferred_date">Preferred date *</label>
<input id="preferred_date" type="date" name="preferred_date" required>
<label for="notes">Notes</label>
<textarea id="notes" name="notes" placeholder="Anything we should know in advance?"></textarea>
<!-- honeypot — bots fill every field -->
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
<button type="submit">Send</button>
</form>Framer + Booking / Appointment
Framer's code component feature lets you drop custom HTML directly into your design, which is where this booking / appointment fits. Framer's built-in form actions are limited — they forward to a Framer webhook that lacks email delivery, spam filtering, and a dashboard. The booking / appointment on this page bypasses Framer's form system entirely: paste it into a code component, and submissions go straight to splitforms for email, webhooks, spam filtering, and dashboard storage. Framer handles the design; splitforms handles the delivery.

Booking / Appointment fields
The posted payload contains full name, email, phone, service, preferred date, notes. Required fields are full name, email, phone, service and preferred date. Rename, remove, or add your own — splitforms accepts any name you POST.

Framer production notes
Framer's built-in form widget delivers submissions to a single email address (configured per form) with no dashboard for managing submissions, no webhooks below the Pro plan, and no spam filtering beyond Framer's basic bot detection. CMS-driven Framer forms inherit the same constraints. The native flow works for a portfolio's contact form; it falls apart for any setup that needs Slack/Discord notifications, multiple recipients, CSV export, or tagged form-name routing. Replacing it means writing a Code Component — Framer's mechanism for embedding custom React. That's the pattern splitforms uses: a Code Component with the access key as a property control, dropped onto the canvas like a native widget.

Setup
Three actions stand between you and your first booking / appointment submission — no backend, no database, no CAPTCHA library.
Sign in at splitforms.com — your access key is created instantly. No credit card, no setup wizard, no SDK to install.
Drop the form snippet into a Framer page, component, or layout. Replace YOUR_ACCESS_KEY with the key from your dashboard. The form action is a hard-coded URL — no env vars or build-time wiring needed.
Dashboard updates live on Free. Free includes owner email delivery; Starter adds signed webhooks, CSV export, Slack/Discord forwarding, and BCC to your team.
How SplitForms works
Connect your form, collect every submission, and send data where it needs to go — without building backend infrastructure.

Point your form to your unique SplitForms endpoint. That's it.

We instantly capture and organize every submission in your inbox.

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
SplitForms works with the destinations you route to and the platforms you build on — from Slack and Sheets to WordPress, Shopify, and Next.js. And with Stripe connected, your forms can take payments too.

Trusted by indie teams and agencies shipping forms worldwide
Testimonials
40 quotes on record — from indie hacks to agency migrations.
“Email notifications on every plan, including free, was the deciding factor. I was about to pay a competitor purely to get an email when a lead came in.”
“The dashboard is genuinely usable. I can read, filter, and export submissions without exporting to a spreadsheet first. That alone saves me an hour a week.”
“We added file uploads to a job-application form and the attachments just showed up, retained and downloadable. No S3 bucket policy nightmare.”
“Honest pricing is rare. The $59 three-year plan meant I paid once and stopped thinking about it. No surprise renewal, no per-seat creep.”
“I shipped a React contact form in a Vite app in one sitting. The docs answered every question before I had to ask it.”
“Our WordPress site dropped its plugin-heavy form for a plain HTML one pointed at splitforms. The site got faster and the spam stopped.”
Common questions
Yes. The form is plain HTML with a single POST endpoint, so it runs on any Framer site without server-side code, plugins, or SDKs. Drop the snippet into a Framer page or component and submissions land in your splitforms dashboard.
Free for 200 submissions total — no credit card, no trial. Pro is $5/mo for 5,000 submissions, and there's a one-time $59 3-year plan (15,000 submissions/mo for 36 months). The same pricing applies regardless of which framework hosts the form.
Yes. The template ships with sensible defaults (full name, email, phone, service…) — add, remove, or rename any of them. Splitforms accepts whatever fields you POST.
A hidden honeypot field catches dumb bots, and a tuned classifier scores the rest. You only see real submissions in your dashboard. No CAPTCHA, no friction for human users — and it works the same on Framer as on any other framework.
Yes. Webhooks are available on paid plans, with auto-formatted payloads for Slack, Discord, and WhatsApp (via CallMeBot). Or send raw signed JSON to any URL — Zapier, n8n, your own server. Configure in the splitforms dashboard.
Yes — the form posts directly to splitforms from the browser, so no server is involved. Works on Vercel, Netlify, GitHub Pages, Cloudflare Pages, S3, or any plain Apache host.
Simple pricing
Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, Stripe payments, and higher submission limits.
For side projects and indie devs.
For agencies and growing products.
Pay $59. 3 years sorted.
No credit card required on Free • Cancel anytime