BookIt for Cal.com
BookIt for Cal.com is the easiest way to add Cal.com scheduling to your WordPress site. It provides three integration methods so you can use whichever fits your workflow:
- Gutenberg block — drag the Cal.com Booking block into any page or post.
- Elementor widget — find the Cal.com Booking widget in the BookIt widget panel.
- Shortcode — paste
[bookit event="username/slug"]anywhere.
Features
- Three display modes: popup button, popup text link, and inline calendar.
- Full theme support: light, dark, or auto (follows the visitor’s OS preference).
- Custom accent color per widget or globally.
- Smart loading — the Cal.com embed script is loaded only on pages that actually contain a booking widget, keeping all other pages fast.
- Pre-fill logged-in user name and email automatically.
- Cal.com API integration — connect your API key to pick event types from a dropdown instead of typing slugs manually. Results are cached for 1 hour.
- “Refresh event types” button in the admin with one click.
- Compatible with Elementor Free and Pro.
- Full i18n support — ships with a French (fr_FR) translation.
External services
This plugin connects to external services operated by Cal.com, Inc.:
- Cal.com API (
https://api.cal.comorhttps://api.cal.eufor the EU region) — used to fetch your event types when an API key is configured. Only called from the WordPress admin when you save settings or click “Refresh event types”. - Cal.com embed script (
https://app.cal.com/embed/embed.jsorhttps://app.cal.eu/embed/embed.jsfor the EU region) — loaded on the frontend to render booking widgets. Loaded only on pages that contain a booking widget (smart strategy) or on all pages (always strategy), depending on your settings.
The API base URL is configurable in Settings → BookIt. The default is the global Cal.com instance (api.cal.com / app.cal.com). Users on the Cal.com EU instance should set it to https://api.cal.eu.
By using this plugin you agree to Cal.com’s Terms of Service and Privacy Policy.
Shortcode reference
Basic usage: [bookit event=”username/slug”]
All attributes: [bookit event=”username/slug” type=”popup-button” label=”Book now” height=”600″ theme=”auto” accent=”#0070f3″ hide_details=”0″ prefill=”0″ btn_bg=”#000″ btn_text=”#fff” btn_radius=”4″]
Attribute Values Default
event
username/slug
(required)
type
popup-button | popup-text | inline
popup-button
label
any text
Book a meeting
height
number (px)
600
theme
global | auto | light | dark
global
accent
hex color
global setting
hide_details
0 | 1
0
prefill
0 | 1
0
btn_bg
hex color
(none)
btn_text
hex color
(none)
btn_radius
number (px)
4