← Back to blog

How to add booking to your Webflow site without iframes

Every way to put scheduling on a Webflow site, ranked: external redirects, iframe embeds, custom forms, and native CMS booking. With the trade-offs nobody lists.

There are exactly four ways to put scheduling on a Webflow site, and most "how to add booking to Webflow" articles only mention the worst two. Here is the full menu, ranked, with the trade-offs nobody lists up front.

Option 1: External redirect

A button that sends visitors to calendly.com/you or acuityscheduling.com/you. Zero setup. It also throws your visitor off your site at the exact moment they decided to convert, onto a page that looks nothing like yours.

The cost Every redirect is a chance to lose someone. They tab away, get distracted, and the booking never happens. You also lose the analytics: the conversion fires on someone else's domain.

Option 2: Iframe embed

Paste an embed and the booking flow renders inside a frame on your page. Better than a redirect, the visitor stays put. But the frame can't read your CMS, can't inherit your design, adds its own load time, and shows a third-party domain in the confirmation. It's a rented rectangle.

Option 3: A custom form + a spreadsheet

Some teams build a Webflow form ("pick a date, we'll confirm") and manage the calendar by hand. It looks native because it is. But it's not real scheduling: no live availability, no timezone math, no double-booking protection, no reminders. It works until you get busy, which is precisely when it fails.

A form that can't see your calendar isn't booking. It's a wish list.

Option 4: A native booking app

A Webflow Marketplace app that installs via OAuth, reads your Collections, renders a real booking widget on your own domain, and writes bookings back into your CMS. This is the only option that is both native and real scheduling. It's also the only one that knows your services and staff already exist.

What "real scheduling" requires Live availability from staff hours minus existing bookings · buffers and minimum notice · timezone-correct slots through DST · two-way calendar sync · reminders · and protection against two people grabbing the same slot.

The ranking

  1. Native booking app — native and real. The right answer when booking matters.
  2. Iframe embed — real scheduling, not native. Fine for a quick "book a call" link.
  3. External redirect — real scheduling, actively un-native. Avoid for anything important.
  4. Form + spreadsheet — native, not real. A trap that scales badly.

The one that gets timezones right

Whatever you choose, test it across a daylight-saving change and a cross-timezone booking. It is the single most common place booking tools break, and the bugs are silent: a slot that shows 2:00 PM to the visitor and 1:00 PM to you. A tool that stores everything in UTC and renders in the visitor's timezone — and is tested across spring-forward and fall-back — is the difference between "booked" and "no-show."

Scheduling your Webflow site deserves.

Map a Collection, set your hours, take your first booking today.

Continue reading