Website widget
A form people answer by talking
One script tag puts a short form on your page. Visitors type their name and email, press Start, and have a live voice or video conversation with your Greet session. You get the score, transcript and recording.
Install
Paste this where the form should appear. Replace the id with your session's public id.
<script src="https://app.greetai.co/widget.js" async
data-session="YOUR_SESSION_PUBLIC_ID"></script>The public id is the last part of the session's apply link: https://app.greetai.co/apply/<public_id>. Copy it from Share on the session in the app.
What visitors see
- Your company logo and the session title.
- Two fields: Full name and Email.
- A Start talking button — or Start video call when the session requires a camera.
- The conversation opens right there, inside the widget on your page: the card grows into the call (a full-height sheet on phones). Set
data-open="new-tab"to open it in a new tab instead.
When it ends, the application shows up in the session's Applications in Greet with its score, summary, transcript and recording — the same as any other applicant.
Options
Configure the widget with data- attributes on the script tag.
data-sessionstringrequired- The session's public id.
data-mode"inline" | "floating"defaultinline- Inline renders a card in the page. Floating adds a launcher button in the corner that opens the form in a panel (a bottom sheet on phones).
data-targetCSS selector- Where an inline widget mounts, e.g.
#greet-widget. Defaults to right after the script tag. data-size"compact" | "standard" | "large" | "wide"defaultstandard- Roughly 320, 380 and 480 px wide.
wideis a 1024×615 card for landing pages: the form in the middle, and the call takes the whole card once it starts. On phones it fits the screen width. The widget never grows wider than its container. data-theme"light" | "dark" | "auto"defaultauto- Auto follows the visitor's system setting.
data-accenthex colordefaultcompany accent- Button and focus color, e.g.
#AAE73D. Defaults to the accent set on your company's apply page. data-position"bottom-right" | "bottom-left"defaultbottom-right- Floating mode only.
data-labelstringdefaultTalk to us- Text on the floating launcher.
data-open"inline" | "new-tab"defaultinline- Where the call opens: inside the widget, or in a new tab.
data-call-heightnumberdefault640- Height in pixels of an inline call (capped to the window).
Floating launcher
<script src="https://app.greetai.co/widget.js" async
data-session="YOUR_SESSION_PUBLIC_ID"
data-mode="floating"
data-position="bottom-right"
data-label="Apply by voice"></script>Inline, in a specific spot
<div id="greet-widget"></div>
<script src="https://app.greetai.co/widget.js" async
data-session="YOUR_SESSION_PUBLIC_ID"
data-target="#greet-widget"
data-size="large"
data-theme="light"
data-accent="#AAE73D"></script>You can place several widgets on one page, each with its own session.
Platforms
Anything that accepts custom HTML works. Paste the snippet, publish, done.
<script src="https://app.greetai.co/widget.js" async
data-session="YOUR_SESSION_PUBLIC_ID"></script>JavaScript API
The script exposes window.Greet and fires events on window, so you can open the widget from your own buttons or track conversions.
Greet.open()- Opens the floating panel.
Greet.close()- Closes it.
Greet.toggle()- Opens or closes it.
greet:readyevent- The widget loaded and can be used.
greet:startevent- A visitor started a conversation.
event.detail.roomPublicIdidentifies it. greet:errorevent- Something failed, for example the session is closed.
document.querySelector("#apply-by-voice").addEventListener("click", () => {
window.Greet.open()
})
window.addEventListener("greet:start", (event) => {
// e.g. Google Analytics 4
gtag("event", "voice_application_started", {
room: event.detail.roomPublicId,
})
})Iframe embed
If your platform blocks scripts but allows iframes, embed the form page directly.
<iframe
src="https://app.greetai.co/embed/YOUR_SESSION_PUBLIC_ID?theme=light&size=standard"
allow="microphone; camera; autoplay"
style="border:0;width:100%;height:520px"
title="Apply by voice"></iframe>theme, size and accent work as URL parameters (encode the color as %23AAE73D). Without the script, the height doesn't adjust on its own and the JavaScript API isn't available.
Before you go live
The widget uses your session as it's published, and every conversation counts toward your plan. If the session is closed or out of credits, the widget says so instead of starting.