Docs
Embed Meetisi on your site
For solopreneurs and indie developers who want people to book without leaving their website. Two options: a simple iframe, or a JavaScript embed when you need callbacks.
Copy snippets from Settings → Integrations.
Which should I use?
| Iframe | JavaScript | |
|---|---|---|
| Setup | ~2 minutes | ~5 minutes |
| Website builders | WordPress, Webflow, Squarespace, Framer | Same, if you can add custom JS |
| Know when they book | Manual via postMessage | Built-in callbacks |
| Best when | You just need booking on a page | Thank-you flow, analytics, next step |
Rule of thumb: start with the iframe. Switch to JavaScript only if you need a callback.
Best practices
- Put it on a dedicated page. `/book` or `/intro` beats a crowded homepage hero. Give the embed room to breathe.
- Size for phones. Use about 760px tall on desktop and 850px on mobile. Cap width around 960px so it doesn’t stretch forever on wide screens.
- Tag the source. Add
source=homepage(or newsletter, productbymark, etc.) so you know which page converted. - One clear CTA → book. Solopreneurs lose bookings when the path has three hops.
- Match your brand. Use the JavaScript embed and pass
accentColorandfontas discrete parameters onMeetisi.renderBooking— not as iframe URL query strings. - Use compact in sidebars. Add
compact=truewhen the column is narrow. - Test a real booking on your phone. Most guests book from mobile. Book yourself once after you ship the embed.
- Prefer path URLs for fixed meetings. Use
/embed/you/intro-callinstead of query params when the meeting never changes.
Iframe FAQ
Will this work on WordPress, Webflow, Squarespace, or Framer?
Yes. Paste the HTML where your builder allows custom code or an embed block. If you only get a URL field, use an HTML embed with the full iframe snippet when you can.
Do guests need a Meetisi account?
No. They pick a time, enter their details, and get a calendar invite. You get the event on Google Calendar.
Does the iframe hurt my SEO?
Search engines won’t treat the framed UI as your main content — that’s fine. Keep a clear headline and a short sentence on the page above the embed (“Book a 30‑minute intro call”).
Why does it need so much height?
Calendar + times need vertical space, especially on phones. Start at 760–850px. If you see a double scrollbar, bump the height.
Can I remove “Powered by Meetisi”?
Not in the current embed. The small footer stays — it keeps trust clear and the product sustainable.
How do I know which page brought the booking?
Add ?source=your-page (and optional ref=). That attribution is stored on the booking.
What if I change my booking slug later?
Update the embed snippet. Public profile links also live at meetisi.com/your-slug.
JavaScript FAQ
When do I need JavaScript instead of an iframe?
When you want your site to react after a booking — thank-you UI, analytics, unlock a download, or call your own backend.
Does the SDK rebuild the whole booking UI?
No. It drops in an iframe and listens for browser messages. Same booking experience, nicer hooks for you.
What does onBookingConfirmed give me?
Booking id, meeting title, start/end times (UTC), invitee name and email, plus optional source/ref. Notes are not included by default (privacy).
Can I use this from React or Next.js?
Yes. Render a container div, load embed.js once, then call Meetisi.renderBooking on the client after mount.
Is this a server webhook?
No — callbacks run in the browser. Server-to-server webhooks are a later option if you need backend automation.
What if an ad blocker breaks the script?
Uncommon. If it happens, show a plain link to meetisi.com/your-slug as a fallback.
Get your snippet
Open Settings, scroll to Integrations, pick iframe or JavaScript, copy the code.
Open SettingsFull reference also lives in the repo at docs/EMBEDDING.md.