You can add a booking calendar to a Squarespace site in about five minutes with two lines of HTML. This guide shows exactly where to paste them, what to do if the calendar looks clipped, and how to embed a routing form or a popup instead of a plain calendar.
The widget renders on the server, so the first available times are in the page HTML before any script runs. If a visitor has JavaScript blocked they still see a working link to book. Everything on every plan — there is no per-embed or per-seat charge.
The two lines you need
<script src="https://synqslot.com/embed.js" async></script>
<div data-synqslot="yourname/30min">
<a href="https://synqslot.com/yourname/30min">Book a time</a>
</div>Replace yourname/30min with the slug of your own booking link (it is in the link's share panel). The <a> inside the div is a fallback: the script replaces it with the calendar when it runs, and it stays visible if the script cannot load.
Steps in Squarespace
Site-wide install
If the calendar goes on several pages, put the script line once in Settings → Advanced → Code Injection → Footer, and paste just the div into each page's Code block.
Routing form or popup instead of a calendar
Swap data-synqslot for data-synqslot-form="your-form" to embed a routing form inline — it asks the visitor a few questions and sends them to the right person or team. To open the form from a button instead, use an <a> with data-synqslot-form and data-mode="popup". Both are on the embeds page with copy-ready snippets.
Prefill the visitor's details
The script forwards your page's own query string into the widget. Send a visitor to yoursite.com/book?name=Ada&email=ada@example.com&company=Acme and the booking form arrives prefilled. Handy when the visitor has already filled in a form on your site.
If the calendar looks cut off
Some builders render custom HTML inside a fixed-size frame and will not let the widget grow it. Give the embed element a starting height of about 750px on desktop. The widget auto-resizes inside its own iframe, so once the element is tall enough it stays correct as the month changes.