WWebBuddyMarketplace
Using Reception AI

Website widget, forms and webhooks

Embed a receptionist on any website with one script tag or an iframe, customise it, understand its limits, and send bookings and leads to your own systems.

3 min readUpdated Oct 17, 2026Applies to Reception AI 1.0.0

On this page

Every published receptionist has a public chat page at https://<APP_URL>/w/<receptionist-id>. The widget puts that page on any website.

Embed with a script tag

Copy the snippet from Tools → Website widget (it fills in your domain and receptionist ID) and paste it before </body> on your site:

HTML
<script src="https://YOUR-DOMAIN/widget.js" data-agent="AGENT_ID" defer></script>

It adds a floating button that opens the chat in a panel. The panel loads only when a visitor clicks, so it does not slow the page down.

Attribute Default Effect
data-agent Required The receptionist to show
data-position right left puts the button in the bottom-left corner
data-label Chat with us The button's label
data-open Not set true opens the panel when the page loads

Embed with an iframe

To place the chat inline in a page instead of a floating button:

HTML
<iframe
  src="https://YOUR-DOMAIN/w/AGENT_ID"
  title="Reception AI"
  style="width:100%;height:640px;border:0;border-radius:16px"
  allow="microphone"
></iframe>

allow="microphone" lets visitors use voice input.

Appearance

Under the receptionist's Share section you can set a headline, a logo URL, an accent colour, and hide the "Powered by Reception AI" line.

The receptionist must be published for visitors to chat. While it is a draft, visitors see that it isn't public; you can still preview it while signed in.

How the widget talks

  • Typed chat uses the receptionist's chat model through xAI, with its instructions, knowledge, tools and, if it uses one, its workflow. XAI_API_KEY is required.
  • Voice is push to talk: the visitor taps the orb, speaks, and taps again. The clip is transcribed, answered, and the reply is read aloud when sound is on. It is not a live, interruptible conversation like a phone call.
  • A conversation is capped at 10 visitor messages of up to 500 characters each.

Limits and switches

Limit Default Setting
Messages per visitor IP 12 per minute (owner exempt) LIMIT_WIDGET_IP
Messages per receptionist 90 per minute LIMIT_WIDGET_AGENT
Messages per workspace 2,000 per day LIMIT_WIDGET_WORKSPACE_DAY
  • Each message also counts toward the workspace plan's monthly allowance (0.025 minute by default). A workspace that is out of allowance sees "This assistant is unavailable right now."
  • FEATURE_WIDGET off stops widget chat for every workspace. It also turns off the homepage voice demo.

Note

There is no setting in the 1.0.0 interface to restrict which websites may embed a receptionist; anyone with the snippet can place it on a page. The per-IP, per-receptionist and per-workspace limits above are the protection against abuse.

Forms

Tools → Forms builds simple public forms, served at https://<APP_URL>/f/<form-id>. Submissions appear in the workspace and fire the form.submitted webhook event.

Limits: 6 submissions per minute per IP (LIMIT_FORM_IP) and 120 per minute per form (LIMIT_FORM_FORM).

Webhooks

Tools → Webhooks sends events to your own URL as JSON over HTTPS POST.

Event Sent when
appointment.booked A receptionist books a slot
lead.created A receptionist captures a lead
form.submitted A public form is submitted

Each delivery includes these headers:

Header Contents
X-ReceptionAI-Event The event name
X-ReceptionAI-Delivery A unique delivery ID, useful for ignoring duplicates
X-ReceptionAI-Signature t=<unix time>,v1=<HMAC-SHA256 of "<t>.<body>">

Warning

In 1.0.0 webhooks are created without a signing secret, so the signature header cannot prove a delivery came from your install. Use an HTTPS endpoint with a long, unguessable path (or a token in the query string), and treat the payload as a notification to verify rather than as trusted input. The call.completed event appears in the list but is not sent yet.

Webhook URLs must be public addresses; private and local addresses are refused.

Homepage live voice demo

The marketing homepage includes a Start talking demo that uses OpenAI Realtime over WebRTC with a fixed demo persona, so prospects can hear the product. It needs OPENAI_API_KEY and FEATURE_WIDGET, and is limited to 2 sessions per minute and 6 per day per visitor, and 30 per day in total. Without an OpenAI key it falls back to typed chat, which needs XAI_API_KEY.

Not in this version yet

  • WhatsApp and Gmail under Tools → Messaging support a test send only; receptionists do not reply on those channels yet.
  • Webhook signing secrets and the call.completed event.
  • A domain allow-list in the interface.