Embed a scheduling widget on your website with Cal.com

Embed a scheduling widget on your website with Cal.com

Add seamless scheduling to your site with the Cal.com embed widget. Cal.com currently supports four flexible embedding options: inline embed, floating pop-up button, pop-up via element click, and email embed.

Add seamless scheduling to your site with the Cal.com embed widget. Cal.com currently supports four flexible embedding options: inline embed, floating pop-up button, pop-up via element click, and email embed.

Trusted by fast-growing companies around the world

Trusted by fast-growing companies around the world

Trusted by fast-growing companies around the world

How to embed the Cal.com scheduling widget on your website

How to embed the Cal.com scheduling widget on your website

The Cal.com embed widget is simple to set up and highly flexible. It lets you embed the full scheduling experience into your website, landing page, app, or portal. Users can book directly without ever leaving your site.

The Cal.com embed widget is simple to set up and highly flexible. It lets you embed the full scheduling experience into your website, landing page, app, or portal. Users can book directly without ever leaving your site.

01

Make your event type

Set up your event in Cal.com with your preferred settings and availability.

02

Choose the embed type

Pick a format (inline, pop up, button, or email) and copy the generated code.

03

Adjust your embed and publish

Add the code to your website or app. Your scheduler will be live instantly!

All available embedding solutions to easily schedule meetings

All available embedding solutions to easily schedule meetings

Cal.com provides four powerful ways to embed scheduling into your user experience. Each format is designed for specific use cases, layout needs, and booking flows.

Cal.com provides four powerful ways to embed scheduling into your user experience. Each format is designed for specific use cases, layout needs, and booking flows.

01

Inline embed

Display the booking calendar directly in your page layout. This is the most popular and seamless option for real-time scheduling on your website.

02

Floating pop-up button

Use a persistent button that triggers a scheduling modal. Boosts conversion without disrupting your website page design.

03

Pop-up via element click

Link the embed to a custom element like a button or image. Control exactly how and when users start the booking process.

03

Email embed

Add personalized booking links in email campaigns that open a pre-filled booking form. Ideal for outreach and follow-ups.

White-label the scheduling widget by using our booker atom

White-label the scheduling widget by using our booker atom

For teams that need full control over the booking experience, Cal.com offers complete customization of the booker component using platform atoms. Developers can modify individual parts of the booking UI or rebuild the entire booking flow using modular, open components.

For teams that need full control over the booking experience, Cal.com offers complete customization of the booker component using platform atoms. Developers can modify individual parts of the booking UI or rebuild the entire booking flow using modular, open components.

1

// Style Atoms with Javascript

2

3

const appearance = {

4

theme : Custom ,

5

variables : {

6

fontFamily : ' Comic sans ' ,

7

colorPrimary : ' #101010 ' ,

8

colorBackground : ' #ffffff ' ,

9

colorText : ' #374151 ' ,

10

borderRadius : ' 6px ' ,

11

spacingUnit : ' 8px ' ,

12

}

13

} ;

14

const atoms = cal.atoms ( { clientSecret , appearance } ) ;

15

Cédric van Ravesteijn

Why Cal.com is better than Calendly

Ready to see why Cal.com outshines Calendly? Spoiler alert: it’s not even close!

15m

30m

45m

1h

Cal Video

Europe/Amsterdam

May

2025

SUN

MON

TUE

WED

THU

FRI

SAT

0

15

15

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

0

Cédric van Ravesteijn

Why Cal.com is better than Calendly

Ready to see why Cal.com outshines Calendly? Spoiler alert: it’s not even close!

15m

30m

45m

1h

Cal Video

Europe/Amsterdam

May

2025

SUN

MON

TUE

WED

THU

FRI

SAT

0

15

15

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

0

Key benefits to embed a scheduling widget with Cal.com

Key benefits to embed a scheduling widget with Cal.com

Embedding Cal.com directly into your site improves the user experience, increases conversion rates, and gives you more control over the booking journey.

Embedding Cal.com directly into your site improves the user experience, increases conversion rates, and gives you more control over the booking journey.

01

Increase website conversions with embedded scheduling

Keep users on your site and reduce booking drop off. Cal.com embeds offer a faster, more intuitive way to convert visitors into meetings.

02

Match your brand with customizable embed formats

Use inline embeds, pop ups, or buttons to align with your site layout and branding. Customize colors and styles to create a seamless experience.

03

Fast setup and complete control

Generate your embed code, paste it into your site, and go live. You manage the full booking flow from start to confirmation without sending users away.

Powerful scheduling embed features for developers and teams

Powerful scheduling embed features for developers and teams

The embed system includes advanced features for technical users and teams that need full customization and integration capabilities.

The embed system includes advanced features for technical users and teams that need full customization and integration capabilities.

Dynamic embed snippet generator

Generate code tailored to your Cal.com setup, including support for teams, self-hosted environments, and advanced routing.

Multiple embed formats

Choose between inline views, buttons, or modals based on how you want to trigger the booking flow.

Add or limit available time slots

Show only specific time slots in an embed based on the context or user type. Control availability without changing your core event settings.

Prefill booking form fields

Use query parameters to automatically prefill name, email, or custom fields for a faster and more personalized booking experience.

Track UTM parameters in embeds

Embed captures UTM source, medium, campaign and other values so you can attribute bookings to the right channels.

Mobile-optimized out of the box

Every embed is responsive and works across screen sizes. No additional setup is needed for mobile users.

See how to embed a booking widget on your website

See how to embed a booking widget on your website

See how fast it is to embed Cal.com on any website. This quick video walks through setup, configuration, and real examples.

See how fast it is to embed Cal.com on any website. This quick video walks through setup, configuration, and real examples.

See how fast it is to embed Cal.com on any website. This quick video walks through setup, configuration, and real examples.

All your key tools in-sync with your meetings

Cal.com works with all apps already in your flow ensuring everything works perfectly together.

All your key tools in-sync with your meetings

Cal.com works with all apps already in your flow ensuring everything works perfectly together.

All your key tools in-sync with your meetings

Cal.com works with all apps already in your flow ensuring everything works perfectly together.

Frequently asked questions about Cal.com embed

Frequently asked questions about Cal.com embed

These are some of our most frequently asked questions.

These are some of our most frequently asked questions.

What is Cal.com embed?

Cal.com Embed allows you to integrate a fully functional scheduling widget directly into your website or app, enabling users to book appointments without leaving your site. You can embed the widget as an inline calendar, a floating pop-up button, a pop-up triggered by a specific element click, or a link in your emails. This seamless integration enhances the user experience and improves booking conversion rates by keeping visitors engaged on your page.

How do I embed Cal.com on my site?

Embedding Cal.com on your website is simple. First, create your event type and configure its settings and availability in the Cal.com dashboard. Once your event is set up, go to the Embed Snippet Generator in your dashboard, select your preferred embed format (inline, floating button, click-triggered pop-up, or email embed), and copy the generated code. Then, paste the code directly into your HTML, CMS, or frontend framework. Your booking widget will be live and ready for use immediately, fully synced with your Cal.com account.

Can I track marketing campaigns with embedded bookings?

You can manually append UTM tracking parameters to the embed URLs. This allows you to track source, medium, campaign, and other key parameters when users interact with the booking widget. By passing UTM parameters via the link, you can attribute bookings to specific marketing efforts, campaigns, or traffic sources.

Can I prefill user info in the booking form?

Yes, you can prefill fields in the booking form using URL query parameters. This means you can automatically populate fields like the user's name, email, or any custom fields you've set up. For example, you can send a personalized booking link in an email that already has the user's name and email prefilled. This makes the booking process faster and more user-friendly, reducing friction and improving conversion rates. Learn more about pre-filling forms in our documentation.

What embed formats are supported?

Cal.com supports four key embed formats to suit various needs:

  1. Inline Embed: Display the calendar directly within your page layout for seamless user interaction.

  2. Floating Pop-up Button: Add a persistent button that triggers the booking modal without disrupting the page layout.

  3. Pop-up via Element Click: Trigger the scheduling modal from any custom element, like a button or image.

  4. Email Embed: Include a pre-filled booking form link within your emails for easy and personalized scheduling.

Each format is designed to provide flexibility in how you display and interact with your scheduling system, depending on your website design and user flow.

Can I control which time slots show in an embed?

Yes, you can fully customize the booker UI using Cal.com’s booker atom. The booker atom is an open-source, modular component that lets you build and style your own booking flow. You can adjust the layout, replace form fields, or completely redesign the booking experience to match your brand’s look and feel. By using individual booker atoms like DatePicker, TimeSelector, and ContactForm, you can have fine-grained control over each element of the booking process. This gives you the flexibility to create a tailored and branded experience within your app or website. For more details, visit our booker atom documentation.

Does embed work with self-hosted Cal.com?

Yes, the embed feature works with both cloud-hosted and self-hosted Cal.com setups. Whether you're using Cal.com’s hosted version or deploying it on your own infrastructure, the embed functionality remains fully operational. Snippet generation is dynamically scoped based on your setup, and you can configure it to work seamlessly within your self-hosted environment.

What is Cal.com embed?

Cal.com Embed allows you to integrate a fully functional scheduling widget directly into your website or app, enabling users to book appointments without leaving your site. You can embed the widget as an inline calendar, a floating pop-up button, a pop-up triggered by a specific element click, or a link in your emails. This seamless integration enhances the user experience and improves booking conversion rates by keeping visitors engaged on your page.

How do I embed Cal.com on my site?

Embedding Cal.com on your website is simple. First, create your event type and configure its settings and availability in the Cal.com dashboard. Once your event is set up, go to the Embed Snippet Generator in your dashboard, select your preferred embed format (inline, floating button, click-triggered pop-up, or email embed), and copy the generated code. Then, paste the code directly into your HTML, CMS, or frontend framework. Your booking widget will be live and ready for use immediately, fully synced with your Cal.com account.

Can I track marketing campaigns with embedded bookings?

You can manually append UTM tracking parameters to the embed URLs. This allows you to track source, medium, campaign, and other key parameters when users interact with the booking widget. By passing UTM parameters via the link, you can attribute bookings to specific marketing efforts, campaigns, or traffic sources.

Can I prefill user info in the booking form?

Yes, you can prefill fields in the booking form using URL query parameters. This means you can automatically populate fields like the user's name, email, or any custom fields you've set up. For example, you can send a personalized booking link in an email that already has the user's name and email prefilled. This makes the booking process faster and more user-friendly, reducing friction and improving conversion rates. Learn more about pre-filling forms in our documentation.

What embed formats are supported?

Cal.com supports four key embed formats to suit various needs:

  1. Inline Embed: Display the calendar directly within your page layout for seamless user interaction.

  2. Floating Pop-up Button: Add a persistent button that triggers the booking modal without disrupting the page layout.

  3. Pop-up via Element Click: Trigger the scheduling modal from any custom element, like a button or image.

  4. Email Embed: Include a pre-filled booking form link within your emails for easy and personalized scheduling.

Each format is designed to provide flexibility in how you display and interact with your scheduling system, depending on your website design and user flow.

Can I control which time slots show in an embed?

Yes, you can fully customize the booker UI using Cal.com’s booker atom. The booker atom is an open-source, modular component that lets you build and style your own booking flow. You can adjust the layout, replace form fields, or completely redesign the booking experience to match your brand’s look and feel. By using individual booker atoms like DatePicker, TimeSelector, and ContactForm, you can have fine-grained control over each element of the booking process. This gives you the flexibility to create a tailored and branded experience within your app or website. For more details, visit our booker atom documentation.

Does embed work with self-hosted Cal.com?

Yes, the embed feature works with both cloud-hosted and self-hosted Cal.com setups. Whether you're using Cal.com’s hosted version or deploying it on your own infrastructure, the embed functionality remains fully operational. Snippet generation is dynamically scoped based on your setup, and you can configure it to work seamlessly within your self-hosted environment.

Don’t just take our word for it

Our users are our best ambassadors. Discover why we're the top choice for scheduling meetings.

Don’t just take our word for it

Our users are our best ambassadors. Discover why we're the top choice for scheduling meetings.

Don’t just take our word for it

Our users are our best ambassadors. Discover why we're the top choice for scheduling meetings.

Trusted by fast-growing companies around the world

Trusted by fast-growing companies around the world

Trusted by fast-growing companies around the world

Embed an online booking widget into your website instantly with Cal.com

Start embedding scheduling into your site today. No plugins or redirects. Just clean, fast, high-converting booking.