Building a modern website often means more than just design. You need features that make life easier for both you and your visitors. One of the most useful tools is Calendly a scheduling platform that saves time and avoids the messy back-and-forth emails.
But what if your site is built with Next.js? Good news integrating Calendly (or even “calendrly” as some people search by mistake) into your Next.js website is simple once you know the right steps.
In this guide, I’ll walk you through everything: why Calendly is important, different ways to add it to your Next.js app, and some insider tips to make it work smoothly.
Why Use Calendly with Next.js?
Calendly is trusted by over 20 million users worldwide for scheduling meetings, demos, consultations, or even online classes. If your site runs on Next.js (one of the most popular React frameworks), adding Calendly:
- Makes booking appointments effortless.
- Improves user experience.
- Increases conversions (less friction = more bookings).
- Works 24/7 even when you’re offline.
Imagine a client landing on your Next.js portfolio site. Instead of emailing you, they just click a button, check your availability, and book a call instantly. That’s the power of Calendly.
If you’re building a site for clients, understanding costs is just as important as functionality. For instance, here’s a detailed breakdown of website design costs.

Methods to Add Calendly to a Next.js Website
There are multiple ways to add Calendly, and the “best” way depends on your use case. Let’s explore them step by step.
1. Add Calendly Inline Embed
This method directly shows your scheduling calendar on a page.
Steps:
- Sign in to Calendly.
- Choose the event type you want to share.
- Click Share → Add to Website → Inline Embed.
- Copy the iframe code.
- Create a new component in your Next.js app, e.g.,
CalendlyEmbed.js
.
const CalendlyEmbed = () => {
return (
<div style={{ height: "800px" }}>
<iframe
src="https://calendly.com/your-username/meeting"
width="100%"
height="100%"
frameBorder="0"
></iframe>
</div>
);
};
export default CalendlyEmbed;
- Import this component in your page (e.g.,
/pages/contact.js
).
This shows Calendly directly inside your page.
2. Add Calendly Popup Widget
Sometimes you don’t want Calendly always visible. A popup widget works well.
Steps:
- From Calendly, choose Share → Add to Website → Popup Widget.
- Copy the code snippet.
- In your Next.js
pages/_document.js
, add the script:
<Head>
<script
type="text/javascript"
src="https://assets.calendly.com/assets/external/widget.js"
async
></script>
</Head>
- Add a button anywhere in your site:
<button
onClick={() =>
window.Calendly.initPopupWidget({
url: "https://calendly.com/your-username/meeting",
})
}
>
Book a Meeting
</button>
When a visitor clicks the button, Calendly opens in a modal popup.
ince Next.js is React-based, you’ll need to structure your components properly. The Next.js documentation is a great resource if you’re new to it.
3. Use Calendly React Component
If you prefer a React-friendly approach, install the official package:
npm install react-calendly
Then in your Next.js component:
import { InlineWidget } from "react-calendly";
const Meeting = () => {
return <InlineWidget url="https://calendly.com/your-username/meeting" />;
};
export default Meeting;
This method is cleaner and recommended for developers already using React.
Handling Next.js Challenges
Many tutorials miss this part. Calendly scripts sometimes throw errors in Next.js because of server-side rendering (SSR). You may see window is not defined
.
Solution:
Load Calendly only on the client side:
import dynamic from "next/dynamic";
const CalendlyWidget = dynamic(() => import("../components/CalendlyEmbed"), {
ssr: false,
});
This ensures your page loads without breaking.

Best Practices for Embedding Calendly in Next.js
- Lazy Load Calendly – Don’t load Calendly on every page if you only need it on Contact page.
- Prefill Data – Calendly lets you prefill name/email in the URL. Example:
https://calendly.com/your-username/meeting?name=John&email=john@example.com
- Track Conversions – Add Google Analytics or Meta Pixel to track bookings.
- Mobile Optimization – Ensure iframe or popup works well on mobile.
Alternatives to Calendly
While Calendly is popular, some developers prefer:
- Acuity Scheduling (Squarespace-owned).
- Book Like A Boss (good for entrepreneurs).
- SimplyBook.me.
But for simplicity and integrations, Calendly is usually the winner.
People Also Ask (FAQs)
How to integrate Calendly with NextJS?
You can embed Calendly in Next.js using iframe, popup widget, or the react-calendly
package. The easiest method is using the inline embed code inside a component.
How do I embed Calendly into my website?
Calendly provides three options: inline embed, popup widget, and text link. Just copy the code from your Calendly dashboard and paste it into your site’s code.
How do I integrate Calendly with my app?
Calendly has an API that allows deeper integration. You can sync availability, create events, and fetch booking data directly into your app.
Is Calendly free to use?
Yes, Calendly offers a free plan with 1 calendar + 1 event type. Paid plans start around $10/month and unlock features like multiple event types, team scheduling, and integrations.
Can I add scheduling to my Wix website?
Yes, Wix allows you to embed Calendly using an iframe. Just paste the embed code in a Wix HTML widget.
Example Use Case
Let’s say you’re a freelance web developer. You add Calendly to your Next.js portfolio site.
Instead of emails like:
“Are you free Tuesday at 4?”
“No, how about Wednesday at 2?”
Your client just clicks Book a Call, sees your availability, and schedules. That’s at least 70% less email clutter and faster project starts.
Conclusion
Adding Calendly to a Next.js website is not complicated, but it can transform how you connect with clients and users. Whether you embed it inline, add a popup, or use a React component, Calendly makes scheduling frictionless.
Don’t forget:
- Use dynamic imports in Next.js to avoid SSR issues.
- Optimize loading speed.
- Track your bookings with analytics.
Whether people search for Calendly or even mistype it as calendrly, your site will still offer them a seamless booking experience.
👉 If you haven’t already, try embedding Calendly today. You’ll notice more meetings booked, less time wasted, and happier clients.
If you’d like help setting up Calendly on your own site, feel free to contact us we’d be happy to guide you.