When initializing a Calendly embed with widget.js, our script adds two parameters to the iframe embed’s URL. The presence of these two parameters will allow the booking page to ‘behave’ like an embed.
The parameters that our script adds are embed_domain
and embed_type
.
When the parameters are included, the booking page will:
- show a transparent background behind the booking container instead of a light background,
- allow the option to hide the cookie banner and cookie preferences,
- and send notifications to the parent window with window.postMessage().
There are a few reasons that these parameters can be missing from your embed:
- When loading an HTML file in your browser directly from your computer’s local files,
embed_domain
will be missing. (Note: loading a localhost page will populate the domain parameter - only pages opened directly will be impacted.) - Loading an embed in a WebView can also sometimes result in
embed_domain
being missing, so you may need to add this manually to the URL. - If you have added a Calendly link directly to an iframe instead of using widget.js, you will always need to add both of the parameters manually.
When added by widget.js, the embed_domain
parameter is populated using window.location.host
. The embed_type
is populated according to the type of embed you are using (Inline
, PopupText
, or PopupWidget
).
Example:
If your link is
https://calendly.com/example/my-link
then the modified version would be
https://calendly.com/example/my-link?embed_domain=example.com&embed_type=Inline