Embedding Overview
Add meetergo scheduling to your website with inline embeds, popups, sidebars, and video widgets
Embed your meetergo booking page directly on your website so visitors can schedule without leaving your site. meetergo offers five different embedding methods to fit your design needs.
Quick Start
Add this script before </body> on your website:
<script src="https://liv-showcase.s3.eu-central-1.amazonaws.com/browser-v3.js"></script>
Then configure your embed using one of the methods below.
Embedding Methods
| Method | Description | Best For |
|---|---|---|
| Inline Iframe | Booking page embedded in your page | Dedicated booking pages |
| Modal Button | Any element opens a booking modal | Custom buttons, links |
| Floating Button | Corner widget that opens modal | Always-visible CTA |
| Sidebar | Collapsible side panel | Professional sites |
| Video Widget | Video player with booking CTA | Sales pages |
1. Auto-Resize Iframe (Inline)
Display your booking page directly within your website content. The iframe automatically adjusts its height to fit the content.
Code
<div class="meetergo-iframe" link="https://cal.meetergo.com/your-booking-link"></div>
<script src="https://liv-showcase.s3.eu-central-1.amazonaws.com/browser-v3.js"></script>
Options
| Attribute | Description | Example |
|---|---|---|
link | Your booking page URL | https://cal.meetergo.com/yourname |
data-align | Horizontal alignment | center, left, right |
data-resize | Enable auto-resize | true (default), false |
Example with Options
<div
class="meetergo-iframe"
link="https://cal.meetergo.com/your-link"
data-align="center"
data-resize="true"
></div>
2. Modal Booking Buttons
Turn any HTML element into a booking trigger. Clicking opens your booking page in a modal overlay.
Code
<button class="meetergo-modal-button" link="https://cal.meetergo.com/your-booking-link">
Book Now
</button>
<script src="https://liv-showcase.s3.eu-central-1.amazonaws.com/browser-v3.js"></script>
Works with Any Element
<!-- Button -->
<button class="meetergo-modal-button" link="https://cal.meetergo.com/your-link">
Schedule a Call
</button>
<!-- Link -->
<a class="meetergo-modal-button" link="https://cal.meetergo.com/your-link">
Book a consultation
</a>
<!-- Div -->
<div class="meetergo-modal-button" link="https://cal.meetergo.com/your-link">
Click to schedule
</div>
3. Floating Action Button
A button that floats in a corner of your page. Supports animations and full customization.
Code
<script>
window.meetergoSettings = {
floatingButton: {
position: "bottom-right",
link: "https://cal.meetergo.com/your-booking-link",
text: "Book Appointment",
backgroundColor: "#4F46E5",
textColor: "#FFFFFF",
animation: "pulse"
}
};
</script>
<script src="https://liv-showcase.s3.eu-central-1.amazonaws.com/browser-v3.js"></script>
Options
| Option | Values | Description |
|---|---|---|
position | bottom-right, bottom-left, top-right, top-left | Button placement |
text | String | Button label |
link | URL | Your booking page |
backgroundColor | Hex color | Button background |
textColor | Hex color | Text color |
animation | pulse, bounce, slide-in, none | Button animation |
icon | Icon name | Lucide icon to display |
4. Collapsible Sidebar
A professional side panel that slides out when clicked. Supports left or right positioning.
Code
<script>
window.meetergoSettings = {
sidebar: {
position: "right",
link: "https://cal.meetergo.com/your-booking-link",
buttonText: "Book Meeting",
backgroundColor: "#4F46E5",
textColor: "#FFFFFF"
}
};
</script>
<script src="https://liv-showcase.s3.eu-central-1.amazonaws.com/browser-v3.js"></script>
Options
| Option | Values | Description |
|---|---|---|
position | left, right | Which edge of the screen |
link | URL | Your booking page |
buttonText | String | Text on the collapsed tab |
buttonIcon | Icon name | Lucide icon |
backgroundColor | Hex color | Tab background |
textColor | Hex color | Tab text color |
width | CSS value | Panel width (e.g., 400px) |
5. Video Widget
An interactive video player with booking call-to-action. Includes mute button and progress bar.
Code
<script>
window.meetergoSettings = {
videoEmbed: {
videoSrc: "https://example.com/your-video.mp4",
posterImage: "https://example.com/thumbnail.jpg",
bookingLink: "https://cal.meetergo.com/your-link",
bookingCta: "Book a Demo",
bookingCtaColor: "#4F46E5",
position: "bottom-right",
isRound: true
}
};
</script>
<script src="https://liv-showcase.s3.eu-central-1.amazonaws.com/browser-v3.js"></script>
Video widget requires a Teams plan or higher.
Global Configuration
Configure meetergo with the window.meetergoSettings object before loading the script:
<script>
window.meetergoSettings = {
company: "your-company",
enableAutoResize: true,
iframeAlignment: "center",
// Pre-fill form fields
prefill: {
firstname: "John",
lastname: "Smith",
email: "john@example.com"
},
// Callbacks
onSuccess: function(data) {
console.log("Booking created:", data);
},
onEvent: function(event) {
console.log("Event:", event);
}
};
</script>
<script src="https://liv-showcase.s3.eu-central-1.amazonaws.com/browser-v3.js"></script>
JavaScript API
Control the embed programmatically:
// Pre-fill form data
window.meetergo.setPrefill({
firstname: "Jane",
lastname: "Doe",
email: "jane@example.com"
});
// Open booking modal programmatically
window.meetergo.launchScheduler("https://cal.meetergo.com/your-link", prefillData);
// Open/close modal
window.meetergo.openModal();
window.meetergo.closeModal();
// Re-parse iframes after DOM updates
window.meetergo.parseIframes();
// Cleanup (memory management)
window.meetergo.destroy();
Pre-filling Form Fields
Pass attendee data to skip form fields:
Via URL Parameters
https://cal.meetergo.com/your-link?firstname=John&lastname=Smith&email=john@example.com
Via JavaScript
window.meetergoSettings = {
prefill: {
firstname: "John",
lastname: "Smith",
email: "john@example.com",
phone: "+1234567890"
}
};
See Prefill Forms with URL Parameters for all available fields.
Callbacks
Handle booking events in your code:
onSuccess
Called when a booking is completed:
window.meetergoSettings = {
onSuccess: function(data) {
// data contains booking details
console.log("Appointment ID:", data.appointmentId);
console.log("Meeting type:", data.meetingTypeName);
// Track conversion
analytics.track("booking_completed", data);
}
};
onEvent
Called for various embed events:
window.meetergoSettings = {
onEvent: function(event) {
console.log("Event type:", event.type);
}
};
Platform-Specific Guides
Troubleshooting
Embed Not Appearing
- Verify the script URL is correct
- Check that
window.meetergoSettingsis defined before the script loads - Ensure the booking link URL is valid
- Check browser console for errors
Modal Not Opening
- Confirm element has
class="meetergo-modal-button" - Verify
linkattribute is present - Check for JavaScript conflicts
Auto-Resize Not Working
- Ensure
data-resizeis not set tofalse - Check parent container doesn't have fixed height
- Call
window.meetergo.parseIframes()after dynamic DOM updates
Pre-fill Not Working
- Check field names match exactly (case-sensitive)
- Ensure prefill is set before script loads or use
setPrefill()API - URL-encode special characters in URL parameters
Full Documentation
For TypeScript types, advanced configuration, and more examples, see the meetergo-integration repository.
Was this article helpful?
Let us know if this article answered your questions.