Sales & channels

Embedding the Web Chat

In this area you make your fully configured agent accessible to your customers – as a chat window on your website, as a shared link, or (for the technically inclined) via a programming interface. You open it in the dashboard from the left-hand navigation under "Operate" → "Embed" (the code icon). Note: this tab is marked as an advanced setting ("advanced") – so it may only appear once you reveal the advanced options.

Important first: All public pages shown here only work if the agent is set to active. If the agent is inactive (or deleted), the public address returns the message "agent_not_found" and the chat window stays empty. So switch the agent live before embedding.

The "Embed & API" page shows you three ways ("Three ways to make this agent accessible to your users"). Each block has a "Copy" button (briefly changes to "Copied" after the click), and the first block additionally has an "Open" button that launches the live preview in a new browser tab. There are deliberately no input fields to edit here – you control the appearance and text of the widget elsewhere (see below).

The three integration paths

Step 1: Hosted chat link (the ready-made chat page)

  • What it is: A ready-made chat page hosted by Prezio at the address …/embed/{Agent ID}. The full URL is shown in the "Hosted chat link" block.
  • What for: For quick sharing – in an email signature, in your Instagram/Google bio, as a QR code on the table or a flyer. As described in the dashboard: "Share this URL — anyone with the link gets the chat widget."
  • Recommendation: Click "Open" first and write a test message before you distribute the link. That way you see exactly what your customers will see.

Step 2: Embed snippet (chat window on your own website)

  • What it is: A ready-made HTML snippet in the "Embed snippet" block that displays the chat window as an embedded frame (<iframe>) on your page.
  • How to proceed: Click "Copy" and paste the code at the desired spot on your website (or hand it to your web agency). The help text reads: "Paste into any HTML page to embed the chat widget."
  • The defaults in the snippet:
  • Width/height: by default width="420" and height="640" (pixels). You can adjust these numbers directly in the copied code, e.g. for a larger window.
  • Border & corners: without a visible border and with slightly rounded corners (border-radius:12px).
  • Permissions: the frame allows microphone and payments (allow="microphone; payment *") – relevant in case voice or payment features are used in the window in future. Leave this entry in the code, even if you don't currently need it.
  • Recommendation: Embed the window on a clearly visible subpage (e.g. "Contact" or "Appointment"). For a classic, small speech-bubble widget in the bottom right, 420 × 640 is a good starting value.

Step 3: API (programmatic) – for developers only

  • What it is: A curl example with which a program "talks" directly to the agent (block "API (programmatic)").
  • What for: Only relevant if you or your service providers want to integrate the chat into your own app/software. For a normal website integration you do not need this block.
  • Good to know: As the help text explains, the call returns the answer plus a conversation_id; this should be "reused for follow-up calls to preserve context". No sign-in/authentication is needed for the public chat – "the agent ID is enough".

How the chat window looks for your customers

The embedded window shows:

  • Welcome message: the agent's first message. This comes from the "Welcome message" field in the agent settings (default: "Hello! How can I help you today?"). Be sure to adapt this to your language and your business – e.g. "Hello! How can I help you today?". If none is set, the window shows the default "Hello! How can I help you?".
  • Name & status: at the top, the agent's name along with a green dot reading "Online".
  • Input field: placeholder "Type a message…", send with Enter (line break with Shift+Enter) or via the send button.
  • Prezio note: at the bottom edge, a subtle "powered by prezio" note.

The replies in the chat come from the same knowledge base and the same settings as on all other channels. Bear in mind the "recall-first" logic of the knowledge search: if no perfectly matching hit is found (within the kb_max_distance threshold, default 0.5), the agent still uses the best near-match (marked yellow as "recall-fallback" in the decision flow). If answers in the web chat are off the mark, check the knowledge base first – polluted, automatically crawled pages (menu/footer boilerplate) degrade hit quality; in that case re-upload clean text.

Public booking and order pages

In addition to the pure chat, dedicated public pages are available – provided you have enabled bookings or orders – which you can likewise link or distribute as a QR code. These do not appear as a copy block in the Embed tab, but have fixed addresses:

  • Service catalogue (Services & prices): at …/services/{Agent ID}. A lean, readable overview of your bookable services with duration and price (headed "Services & prices", subtitle "Choose a service — and book directly online."). Ideal as a landing page when someone googles e.g. "Hairdresser XYZ prices". Each row and the "Book now" button lead straight into the booking.
  • Booking widget: at …/embed/{Agent ID}/book. Guides the customer step by step: 1. Choose service (name, description, duration, price). 2. Choose time – free slots for the next 14 days, grouped by day. The times are displayed automatically in the visitor's time zone ("Times shown in your time zone: …"). If there are no free appointments, the person can sign up via "Join waitlist" (name + email or phone). 3. Your details – name (required), email (required), phone and notes (both optional). If an intake form is set up ("Before your appointment"), your intake questions are also asked; fields marked with * are required. 4. Consents (GDPR): A marketing consent ("…appointment reminders and offers…") is optional and not ticked by default. If the chosen service collects special categories of data (e.g. health data), an additional separate, mandatory consent under Art. 9 GDPR appears – without its tick the booking cannot be completed. A privacy notice is always visible; if no dedicated privacy policy is set up, the platform's is used (with a corresponding note). 5. Deposit (if required): If the service requires a deposit and your Stripe account is ready, a payment step follows ("Deposit", "Pay & confirm appointment"). The appointment is then held provisionally until payment is confirmed. 6. Confirmation: Success screen ("Appointment booked"), or in the case of email verification "Almost there" with a note that the confirmation link must be clicked within 30 minutes (the appointment stays reserved for that long).
  • Your own branding: These public pages automatically carry your name, your logo and your brand colours in the header area. You manage these not here, but in the "Branding" tab (see the relevant chapter). If nothing is set there, the agent name is shown without a logo and without colour tinting.

Lead capture via the web chat

Every contact through the web chat window can – depending on the setting – automatically end up as a lead in your CRM. In CRM mode (auto_create_on_contact), every contact on all channels becomes a lead – so also web chat, SMS, WhatsApp and email (phone calls always create a lead anyway). If this mode is off, a lead is only created when the agent itself deems it worthwhile (capture_lead). This is relevant if you distribute the hosted link widely and don't want to get a lead from every test message.

Tips & pitfalls

  • Set the agent to active first. The most common mistake: the link/snippet is distributed, but the agent is inactive → the window shows nothing. Test via "Open" before distributing.
  • Adapt the welcome message. The default is in English ("Hello! How can I help you today?"). Switch it in the agent settings to your language and tone – it is the first thing your customers read.
  • Branding belongs in the "Branding" tab, not here. You control the appearance (logo, colours, name) of the public pages there; the Embed tab only provides the addresses/snippets.
  • Change the size in the snippet itself. The default is 420 × 640 pixels. If that doesn't fit your layout, change the width/height numbers directly in the copied code – there is no dedicated field for this in the dashboard.
  • Don't remove allow="microphone; payment *". Even if you don't use voice/payment in the widget today – removing it can block later features.
  • The API block is optional. Anyone who isn't connecting their own system can safely ignore the curl block.
  • Poor chat answers? Check the knowledge base first. Thanks to recall-fallback, the agent answers even on weak hits. Vague or wrong answers usually point to unclean/crawled content – re-upload clean text and use the retrieval test in the AI debug area with the threshold it recommends there (one-click save).
  • Keep an eye on the budget. Every web chat incurs model costs. With the daily budget per agent (daily_budget_usd) you automatically stop spending if a public link unexpectedly gets a lot of traffic.
  • Time zones in the booking widget. The appointments shown follow the booking person's browser time zone, not yours – with international customers, communicate the business's time zone additionally if needed.