Cal.com integration

Cal.com is open-source scheduling with booking pages, routing forms and embeddable calendars. It is the booking tool we use on designme.agency. Framer has a built-in Cal.com component, on Webflow we paste the embed in a Code Embed, and on Astro or Next.js we load the embed only on click or when it scrolls into view, so it never slows the first load.

Updated

Official sources

  1. Adding an embed (opens in a new tab)Cal.com Help · cal.com
  2. Embed instructions (opens in a new tab)Cal.com Help · cal.com
  3. Routing overview (opens in a new tab)Cal.com Help · cal.com
  4. Webhooks (opens in a new tab)Cal.com Help · cal.com
  5. Cal.com component (opens in a new tab)Framer · framer.com
  6. Cal.com plugin (opens in a new tab)Framer Marketplace · framer.com
  7. Cal.com integration page (opens in a new tab)Webflow · webflow.com
  8. Cal.eu to Cal.com migration (opens in a new tab)Cal.com blog · cal.com

Checked against the official docs on. Tools change often; we re-check before every build.

Press Escape to close.

Cal.com integration at a glance
ComplexityLow
Method
  • Framer: Native
  • Webflow: Embed
  • Astro: Embed
  • Next.js: Embed or API
Typical setup2 to 6 hours
What we doWe add inline or popup booking that loads on demand, set up routing for sales calls and send bookings to your CRM or Slack.
CategoryScheduling

Setup by platform

How we set up Cal.com

  • Framer

    • Native

    Framer’s built-in Cal.com component, under Forms in the Insert panel, has several layouts and theming. Cal.com also publishes its own Framer plugin.

  • Webflow

    • Embed

    The output of Cal.com’s embed snippet generator goes in a Code Embed: inline, floating button or popup on click. We theme it to match the site.

  • Astro

    • Embed

    Cal.com’s loader snippet runs only on click (popup) or when the calendar scrolls into view (inline), with preload for instant popups. This is how designme.agency is built.

  • Next.js

    • Embed
    • API

    @calcom/embed-react with getCalApi for theme and events, loaded lazily. A signed webhook receives BOOKING_CREATED and sends it to the CRM.

Use cases

What teams use it for

  1. Book a call button

    A popup calendar from any CTA, prefilled with what the visitor already typed.

  2. Inline booking on contact pages

    The calendar on the page itself, so booking takes one step.

  3. Qualify, then route

    A routing form sends leads to the right rep or page, or to the Salesforce account owner.

Before you add it

What to watch out for

  • Performance

    Load the embed on demand

    The embed script and iframe are heavy for a first load. We load it on click or in view, and preload only where a popup is the main CTA.

  • Data layer

    Cal.eu closes on 1 November 2026

    Cal.com is moving Cal.eu users to Cal.com and documents no separate EU-hosted option after that date. Check this if EU hosting is a requirement.

  • Security

    Verify webhook signatures

    Booking webhooks are signed with HMAC-SHA256 in the X-Cal-Signature-256 header. We verify it before writing anything to your CRM.

FAQ

Questions about Cal.com

Adrian

Can't find your answer?

Book a call and let's talk.

Or email us hello@designme.agency

Is there an official Cal.com integration for Framer?

Yes. Framer has a built-in Cal.com component in the Insert panel, and Cal.com publishes a Framer plugin.

Is there a Cal.com app for Webflow?

We found no official app. Webflow’s integration page describes the embed snippet in a Code Embed, which supports inline, floating button and popup.

Can bookings go straight to our CRM?

Yes. Cal.com webhooks fire on new, cancelled and rescheduled bookings. We send them to HubSpot, Salesforce or Slack, directly or through Zapier.

You've reached the end, so now…

Tell us what you’re building.

We’ll help you map the right scope, team, timeline, and next steps.

Book a call