# Embedding on your website

Instead of sending people to `42min.us/...`, you can put the booking page **on your own
website** — inline on a page, or as a popup that opens from a button or link. The code
you need is on each event type's **Share** tab (and on a routing form's **Share** tab,
which works the same way).

## What it is

Open an [event type](/help/event-types/overview) and go to the **Share** tab. There are
three things there:

- **Public URL** — the plain link to this event type's booking page
  (e.g. `42min.us/your-username/intro-call`). Copy it to paste into emails, chat, a
  signature, a button's `href` — anywhere a normal link works. This is also what the
  [Dashboard](/help/workspace/dashboard) "Share your booking links" list copies.
- **Inline Form** — an `<iframe>` snippet that renders the booking page *inside* one of
  your own pages, sized to fit (e.g. `width="900" height="720"`). Paste it into your
  site's HTML where you want the scheduler to appear.
- **Popup Over Link** — a small snippet (a `<script src=".../embed/popup.js">` tag plus
  an `<a>` link) that turns a link or button into a **popup** — the booking page opens in
  an overlay on top of your current page instead of navigating away. You can change the
  link text ("Schedule a meeting with me") to anything you like.

Each snippet has a **Copy code** / **Copy link** button next to it.

<Screenshot
  src="/help/screenshots/event-types/share.png"
  alt="The Share tab of the 42min event-type editor: a 'Public URL' field with a 'Copy link' button, an 'Inline Form' textarea containing an <iframe> embed snippet with a 'Copy code' button, and a 'Popup Over Link' textarea containing a <script> tag plus an <a> link snippet with a 'Copy code' button"
  caption="Event type → Share. Public URL is the plain link; Inline Form embeds the scheduler in a page; Popup Over Link opens it in an overlay from a button or link."
/>

## How to do it

1. Open the [event type](/360/events) (or [routing form](/360/routing)) you want to
   embed and click the **Share** tab.
2. **For a plain link:** copy the **Public URL** and use it wherever you'd use a link.
3. **For an inline scheduler:** copy the **Inline Form** snippet and paste it into your
   page's HTML at the spot where the scheduler should appear. Adjust `width`/`height` if
   your layout needs it.
4. **For a popup button:** copy the **Popup Over Link** snippet, paste it into your page,
   and edit the link text. The `<script>` tag only needs to be on the page once even if
   you have several popup links.
5. Publish your page and test it — book a real (or test) meeting through the embed to
   confirm it works end to end.

<Callout type="tip">
Embedding a [routing form](/help/routing-forms/overview) instead of a single event type
is a great pattern for a "Contact us" or "Book a demo" page: the inline form qualifies
the visitor and then drops them straight onto the right booking page — all without
leaving your site.
</Callout>

## Common pitfalls

- **Iframe shows nothing / a blank box.** Your site (or a security setting like a strict
  `Content-Security-Policy` / `frame-src`) may be blocking third-party iframes — allow
  `42min.us`, or use the popup option, which doesn't iframe.
- **Iframe is cut off or too tall.** It's a fixed size — tweak the `width`/`height` in
  the snippet, or wrap it in a responsive container on your side.
- **Popup link does nothing.** The `<script src=".../embed/popup.js">` tag has to be on
  the page; without it the link just behaves like a normal link and navigates to the
  booking page (which is a fine fallback, but not the popup you wanted).
- **Editing the URL in the snippet by hand.** Don't — recopy from the Share tab if you
  change the event type's slug or your username, so the embed always points at the right
  page.
- **Branding mismatch.** The embedded page still uses your
  [organization's branding](/help/team-and-admin/branding-and-themes) — set that up so the
  embed matches your site rather than looking generic.
