Modules · Meeton Chat · Embed mode
Embed mode
The chat as part of a page instead of a launcher in the corner: always open, in the page flow, for a dedicated contact, support or "talk to us" page. You paste one iframe; DynaMeet's own page inside it runs the loader in embed mode. This page explains what that changes and what your page can and cannot do with it.
The snippet
Copy it from Settings → Meeton AI → Setup → Installation, or from the setup guide's Embed inline method, where your teamId is already filled in. Paste it where the chat should appear.
<!-- DynaMeet inline chat -->
<iframe
src="https://app.dynameet.ai/iframe-embed.html?teamId=YOUR_TEAM_ID"
title="DynaMeet"
style="width: 100%; height: 600px; border: 0;"
allow="fullscreen; camera; microphone; autoplay"
></iframe>style to fit your layout; there is no auto-resize, so give it the height you want the conversation to have. 600 px is a comfortable default; the chat fills whatever box it gets.app.dynameet.ai. The hosted page reads teamId from the URL, sets mode: "embed" and loads meeton.js itself. You never set mode in your own snippet.meeton.js on the rest of your site. Keep the tag on the embed page too if you want the visitor recognised there, your forms watched, and page views counted.What changes in embed mode
| Normally | In embed mode |
|---|---|
| A launcher in the corner; the chat opens over the page | No launcher. The chat is open from the start, fills the iframe, and has no close button. |
| Marketing popups and Meeton Ads may show | Suppressed. The visitor is already in a conversation, so nothing interrupts it. |
| Calendar, Library and forms open as popups over your page | They open inside the iframe's box. A small iframe makes a cramped booking form; 600 px tall or more is sensible if the agent will offer slots. |
| On a phone the chat fills the screen | It stays in its box, the way the page laid it out. |
Meeton.openChat() opens the window | A no-op: there is nothing to open. |
Everything else is the same agent with the same settings: identity, welcome message, reply buttons, conversation starters, knowledge, tools, auto-translate and the special tokens that draw forms. A conversation started in the embed continues in the corner widget on other pages of the same site when both share the visitor, see below.
What your page can and cannot do
- No JavaScript API on your page.
window.Meetonexists inside the iframe, not in your document, sosetHiddenValues(),openCalendar()and the rest do not reach the embed. If you need hidden values in the lead form, or buttons that open the calendar, use the regular tag on that page instead and let the chat open as a launcher. - Your forms are not watched by the embed. The form watcher runs where the loader runs. Keep
meeton.json the page if you want your own forms captured. - Page context is the embed page. The agent sees the page the iframe reports, not every route of a single-page app around it. For a page that changes URL without reloading, the regular tag follows the route; the embed does not.
- Visitor identity may be separate. The embed keeps its visitor ID in storage belonging to
app.dynameet.aiinside a third-party frame. Browsers that partition third-party storage give it an identity per embedding site, separate from the onemeeton.jskeeps on your domain. The visitor still becomes one contact once they identify themselves by email.
When to use it, and when not
| Good fit | Use the regular tag instead |
|---|---|
| A contact, support or "ask us" page where the conversation is the content | Every other page, where visitors should be able to browse and open the chat when they want |
| A help centre or a Notion-style page where you can only paste an iframe | A page that needs hidden values, your own buttons, or ads |
| A kiosk or in-app screen with a fixed chat area | A single-page app whose routes the agent should follow |
Troubleshooting
| Symptom | Likely cause | What to do |
|---|---|---|
| An empty box, nothing loads | The embedding page's hostname is not on the allow-list, or the referrer is withheld so DynaMeet cannot tell where the embed is | Add the exact hostname under Setup → Domains. If the page sends Referrer-Policy: no-referrer, or the iframe is sandboxed without allow-same-origin, switch on Allow embeds when we can't detect the host page. |
| The domain stays Not detected even though the chat works | Embeds on pages you do not control cannot always report which page they sit in | Expected. Use the chat; or mark the domain installed manually from the setup guide's Confirm step. |
| The chat is cut off, or the booking form is cramped | The iframe is too small; the widget fills the box it gets and does not resize the page | Raise the height in the snippet's style, 600 px or more. |
| Two chats on one page | Both the iframe and the regular tag are on the page, and the tag's launcher is visible | Hide the launcher on that page under Setup → Where Meeton shows up, and keep the tag for tracking. |
window.Meeton is undefined on the page | The loader runs inside the iframe, not in your document | Expected. Use the regular tag on pages that need the API. |
| The browser console says teamId is required in query parameters | The iframe src lost its ?teamId=, often when a CMS rewrote the URL | Paste the snippet again from Settings → Setup. |
Frequently asked questions
Should we set mode: "embed" in our own snippet?
No. The hosted iframe page sets it. Setting it in the regular meeton.js snippet would turn every page into a full-size chat container and label the traffic as an embed. Use the iframe snippet above for inline chat, and the two-line tag for everything else.
Can the embed and the corner widget both run on our site?
Yes. Put the iframe on the contact page and the regular tag on every page, including that one. Hide the launcher on the contact page with a page rule so visitors see one chat there.
Can we style the embedded chat?
The colours, launcher and shortcuts come from Settings → Meeton AI → Theme, the same as the widget. Your page styles the iframe's box, not what is inside it.
Does the inline booking calendar work the same way?
It is a separate iframe, iframe-calendar.html, that opens one bookable calendar full-page; see Installation → Inline embeds. It is not embed mode for the chat.