Skip to content

How to add a booking link to your website

You already have a scheduling link. The real question is where it should live on your site, how it should appear, and what needs to sit around it so people actually click it.

Founder, Folio8 min read

To add Calendly to your website, copy the public booking URL from your Calendly event, paste it into your site's booking link field, and choose how it renders: a button that opens the scheduler in a new tab, an inline scheduler embedded in the page, or a popup overlay. On Folio there is no embed snippet and no script tag to install, because the same field also accepts a Cal.com, Google Appointments, or Microsoft Bookings URL and the block builds itself from whichever link you paste. Folio does not run the scheduler. Your provider still owns your availability, your reminders, and your calendar.

First things first

A booking link is a public web address that shows a stranger your open slots and lets them claim one. That is the whole idea. Your scheduler generates it, hosts it, and keeps it in sync with your calendar. Your website does not need to know anything about your availability, because the link carries all of it.

People search for how to find that link far more often than you would guess, so here is where each provider keeps it. Calendly gives every event type its own URL, usually shaped like calendly.com/yourname/intro-call, and you copy it from the event itself. Cal.com does the same on cal.com. Google Calendar appointment schedules produce a public booking page and hand you a link on calendar.app.google or calendar.google.com. Microsoft Bookings gives you a published booking page URL once the page itself is published.

Copy that link and stop. That single string is the entire integration. Everything below is about the destination question, which is the one almost nobody answers: now that you hold this URL, where on your site should it go, and what should be sitting next to it when someone finally clicks.

The how-to

How to add Calendly to your website in Folio

Four steps, and none of them involve code. The same steps work for Cal.com, Google Appointments, and Microsoft Bookings, because Folio reads the provider off the URL you paste.

  1. Copy the public booking URL from your scheduler

    Open the event you want people to book and copy its public link. Use the address a visitor would see, not an admin or edit view. It has to be an https link on the provider's own domain.

  2. Paste it into the Booking link field

    In your Folio admin, the profile has a Booking link field. Paste the URL there. Folio checks it against a fixed list of provider hosts and works out which scheduler it belongs to. If the host is not on the list, the field refuses the value and tells you, rather than saving a link that would silently fail to render later.

  3. Choose how it appears

    The Booking display setting gives you three views. Button opens the scheduler in a new tab. Inline embeds the scheduler directly in the page. Popup opens it in an overlay on top of your site. All three are available for every supported provider, and you can change your mind later without touching the link.

  4. Save, and the block appears on your public site

    A Schedule section headed "Book a meeting" now renders on your portfolio at the /#book anchor, styled with your own theme type and colour rather than the scheduler brand. In button view the label reads "Book a meeting on Calendly", or on Cal.com, Google Appointments, or Microsoft Bookings, depending on the link you gave it.

Calendly embed options

Button, inline, or popup: which one to pick

These are the three ways a booking link can appear on a page, and the choice matters more than people think. It decides whether a visitor commits before they see a calendar or after.

Button

Send them to the scheduler

A single "Book a meeting" button that opens your scheduler in a new tab. Your page stays fast and stays yours, because nothing third party is loaded until someone actually decides to book. This is the right default for most people, and the right choice for a busy homepage where the call is one option among several.

Inline

Put the calendar on the page

The scheduler is embedded in the page itself, so a visitor picks a slot without ever leaving your site. Use this on a dedicated page where booking is the only thing you want to happen. It costs you a frame that has to load, and Folio adds a plain fallback link underneath in case it does not, so the visitor is never stranded.

Popup

Keep them in place

The scheduler opens in an overlay above your page. It reads as a decision rather than a departure, which suits a long sales or services page where you have spent the whole scroll building up to the ask. In Folio the overlay is ours, wrapped around the provider's own page, so no widget script from the provider is ever loaded onto your site.

The trade

Pasting a URL versus pasting an embed snippet

Most scheduling how-tos end with a block of JavaScript you are told to drop into your page. That is a real cost, and it is worth naming.

Pasting a URL versus pasting an embed snippet
CapabilityFolioProvider embed snippetHand-coded iframe
What you actually pasteThe booking URL. Nothing else.A script tag plus a container div, copied from the provider's embed page.An iframe tag with a src, a height, and whatever attributes you remember.
Third-party code running on your siteNone. The provider page loads inside a sandboxed frame, and no provider script or stylesheet is added to your site.A provider script executes on every page it is placed on, whether or not anyone books.None, if you get the attributes right.
Switching from a button to an inline embedChange one dropdown. The link does not move.Go back to the provider, copy a different snippet, replace the old one.Rewrite the markup by hand.
What happens when the provider changes its widgetNothing. You are pointing at a page, not calling an API.Your embed can break, and you will usually find out from a visitor.Your embed can break, and nobody is maintaining it.
Where an untrusted link can send your visitorsNowhere. Only https URLs on an exact list of provider hosts are accepted, and the page will only frame those same origins.Wherever the snippet points, because a snippet is code and code is not checked.Wherever the src points.

Folio has no HTML or JavaScript editing surface at all, by design. The booking block is a field, not a code box.

The part nobody writes about

What should sit around the booking button

A calendar grid is an ask. Almost every "add a book a call button" guide stops at the button and leaves the hardest problem untouched: giving a stranger a reason to give you thirty minutes.

Say what the call is

Name the meeting, not the software

One line above the button, in plain language. Who it is for, how long it runs, and what the person walks away with. "A 20 minute call to scope your project, and you leave with a rough number" converts. A naked calendar does not.

Proof

Put the evidence directly above it

The testimonial, the case study, the client logo, the outcome you actually delivered. Proof loses most of its force if the reader has to scroll back up to remember it, so the last thing they read before the button should be the strongest thing you have.

Availability

Be honest about whether you are open

Folio has an availability status you can set to open to work, open to new projects, currently booked, or not available, with a short note beside it like "Booking Q3 2026". Setting it to booked and leaving the link up is more credible than an empty calendar, and it stops the reader from concluding you are quiet.

Your own address

Send people to your domain, not the scheduler's

A link straight to calendly.com in your bio hands the first impression to a scheduler. A link to your own site hands it to your work. Folio's custom domain is a Pro feature, so on the Free plan your site lives at portfolio.wrxstack.com/yourname with Folio branding shown, and even that beats a bare provider URL.

In person

Carry the same page as a QR code

Every Folio account has a digital business card page with a QR code and a downloadable vCard. At an event you point someone at the card, they land on your site, and the booking block is right there. The scheduler link itself never has to be typed out or spelled aloud.

Troubleshooting

Almost every rejected link fails for one of three reasons, and all three are deliberate. The link must use https, it must sit on a host Folio recognises, and the host must match exactly. Exactly is the one that catches people. Folio accepts calendly.com, cal.com and app.cal.com, calendar.google.com and calendar.app.google, and outlook.office365.com, outlook.office.com and bookings.microsoft.com. A custom subdomain such as team.calendly.com is not on that list and will be refused.

That strictness is not fussiness. The list of hosts Folio will accept and the list of origins the browser is permitted to frame on your public site are generated from the same source, so anything outside it would be stored, then silently blocked by the browser, and you would never see the block render. Refusing it at the field is the only honest option. It also means a stolen or mistyped link cannot quietly point your visitors somewhere you did not choose.

The other class of failure has nothing to do with your site. If the scheduler shows no available times, or the times are wrong, or a confirmation never arrives, that is between you and your provider, because your calendar connection and your availability rules live there. Booking links do not expire on their own, but they do stop working if you delete or unpublish the event they point at, so if a link broke without warning, check the event still exists first.

The honest limits

What Folio does not do here

Folio is not a scheduler and will not pretend to be one. It does not create your booking link, hold your availability, sync your calendar, send reminders, handle cancellations or reschedules, or take payment for a call. Every one of those belongs to Calendly, Cal.com, Google, or Microsoft, and stays there. What Folio owns is the destination: the page the link sits on, the theme it is styled in, the proof around it, the domain it lives at, and the analytics that tell you whether anyone clicked.

Two more things worth saying plainly. The button label is fixed. It reads "Book a meeting on" followed by your provider, and you cannot rename it to something else, so if a bespoke call to action is the whole point for you, the inline or popup view under your own heading is the better fit. And Folio only renders this block on a Folio site. If your site is on another platform, there is no plugin and nothing here to install, because Folio has no code-editing surface on any platform including its own.

On the Free plan you get the booking block, all three views, and every provider, along with the resume builder and its completely ungated PDF and DOCX export. What Free does not give you is a custom domain, which is zero on that plan, so your site is portfolio.wrxstack.com/yourname rather than yourname.com. Free also shows a Made with Folio mark, caps AI drafting at 10 generations a month, and limits you to the core designs rather than the full theme gallery.

Frequently asked questions

Where do I find my Calendly link?

Open the event type you want people to book and copy the public URL shown on it. It usually looks like calendly.com/yourname/30min, and every event type has its own. That address is the one to paste into your website. There is nothing else to copy, and you do not need to visit an embed or integrations screen at all.

Do I need Calendly's embed code to put it on my site?

Not on Folio. Searches for the embed code are so common because most website builders make you paste a script tag to get a scheduler on a page. Folio takes the plain booking URL instead and builds the button, the inline scheduler, or the popup for you, which is why there is no snippet, no container div, and no provider script executing on your visitors.

How do I create a booking link in Microsoft Bookings or Google Calendar?

In Microsoft Bookings you set up a booking page and publish it, and publishing is what produces the public URL. In Google Calendar you create an appointment schedule and it gives you a booking page link. Folio accepts either, along with Calendly and Cal.com, and it identifies the provider from the address itself, so you never pick one from a menu.

Why is my booking link not working?

The three usual causes are an http link where https is required, a host Folio does not recognise, and a custom subdomain like team.calendly.com, which is refused because only exact provider hosts are permitted. If the link saves but the scheduler shows no times, the problem sits in your provider account rather than your site, because that is where your calendar and your availability rules live.

Can I get a QR code for my booking page?

Folio generates a QR code for your digital business card, and your card points at your site, where the booking block sits. Sending people through your own page rather than straight into a scheduler is usually what you want at an event, because they arrive having seen your work and knowing why the meeting is worth their time.

What is a good alternative to Calendly?

Cal.com is the closest like-for-like and is open source. If your work already runs on Google Workspace or Microsoft 365, appointment schedules in Google Calendar and Microsoft Bookings are both free with the account you are paying for. Folio supports all four equally, so switching later means replacing one URL in one field and nothing else on your site changes.

Start free

Build the portfolio, resume, and site in one place.

A theme, an AI resume, a custom domain, and the SEO built in. No card required to start, and your work is yours to export any time.

Keep reading

How to Add Calendly to Your Website Without Embed Code