Embed
Booking, on your own page.
An inline frame with real availability in it — not a button that throws someone to another site. On WordPress it is a Custom HTML block and no plugin, and it sizes itself as the content changes.
The whole thing.
This is the real snippet, generated by the same function that fills the copy button inside the product — so what you read here is what you would be handed. Swap the handle and slug for yours.
<!-- Neos Meet inline embed -->
<iframe src="https://meet.neos.network/embed/book/your-handle/intro-call" title="Schedule a meeting" loading="lazy" style="width:100%;height:700px;border:0"></iframe>
<script>
window.addEventListener("message", function (e) {
if (e.origin !== "https://meet.neos.network" || !e.data || e.data.source !== "neos-meet-embed" || typeof e.data.height !== "number") return;
var frames = document.getElementsByTagName("iframe");
for (var i = 0; i < frames.length; i++) {
if (frames[i].contentWindow === e.source) frames[i].style.height = Math.max(320, e.data.height) + "px";
}
});
</script>No build step, no framework, no script tag pulling a library off a CDN. The listener is origin-pinned and matches the sending window against the frames on your page, so a different third-party embed cannot post a message and resize itself.
Where it degrades, and how.
Any host that strips embedded scripts — WordPress.com free plans are the one people hit — keeps the iframe and drops the resize listener. The frame then stays at 700px and scrolls internally. Everything still works; it is just a fixed box. We have written up WordPress properly because it is what people ask about, and we are not going to publish a compatibility table for builders nobody here has actually tested. The step-by-step is in the help centre →
Before you paste it.
No. On WordPress the snippet goes into a Custom HTML block, or the Custom HTML widget for a sidebar or footer. There is nothing to install, nothing to keep updated, and no plugin to break when WordPress does. One caveat worth knowing before you build a page around it: WordPress.com free plans strip embedded scripts, so the frame stays at its fixed starting height and scrolls internally instead of growing.
Yes, where scripts are allowed. The frame starts at 700px and the booking page inside it posts its height as the content changes — picking a day is taller than picking a month — so the listener in the snippet resizes the frame to match and your page never shows a scrollbar inside a scrollbar. Where a host strips scripts it degrades to a fixed-height frame that scrolls internally, which is the same thing every embed does there.
It is written for that case. The listener checks the message's origin, checks a source field, and matches the sending window against the iframes actually on your page rather than trusting an id — so another third-party frame cannot post a message and grant itself arbitrary height. You can embed several event types on one page and each resizes independently, and pasting the snippet twice just installs a redundant listener rather than breaking anything.
No. The snippet points at your event type, not at a copy of your availability — change your hours, your notice period or your description and the embed reflects it on the next load. You only touch the markup again if you embed a different event type.
WordPress with a Custom HTML block is the one written up in detail because it is the one asked about most. The snippet is a plain iframe and a small inline script with no framework and no build step, so it works anywhere you can paste raw HTML — but any site builder that sanitises embedded markup will behave like WordPress.com's free tier and hold the frame at its starting height. We would rather name that than imply a compatibility matrix we have not walked.
Embedding is on every plan, including free. See the plans