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.

HTML
<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

  1. Your company logo and the session title.
  2. Two fields: Full name and Email.
  3. A Start talking button — or Start video call when the session requires a camera.
  4. 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"default inline
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"default standard
Roughly 320, 380 and 480 px wide. wide is 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"default auto
Auto follows the visitor's system setting.
data-accenthex colordefault company 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"default bottom-right
Floating mode only.
data-labelstringdefault Talk to us
Text on the floating launcher.
data-open"inline" | "new-tab"default inline
Where the call opens: inside the widget, or in a new tab.
data-call-heightnumberdefault 640
Height in pixels of an inline call (capped to the window).

Floating launcher

Corner button on every page
<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

Inside your hero section
<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>
Paste it in the page body where the form should go, or before </body> for the floating launcher.

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.roomPublicId identifies it.
greet:errorevent
Something failed, for example the session is closed.
Open from your own button and track starts
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.

HTML
<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.

NextConnect your AI assistant with MCP