Embed the chat widget

Snippet install, mobile check, CSP traps, and how to tell booking failures from chat failures.

Install the snippet

Open AI Agent → Chat and copy the organization snippet. Paste it before </body> on the pages where you want the bubble, or load the same script through Google Tag Manager / your tag manager of choice. You should not need a rebuild for the standard widget.

Hard-refresh on desktop and on a real phone - not just the browser device toolbar. Some CSP headers and older themes only break the launcher on mobile. If the bubble never appears, assume content-security-policy, an ad blocker, or a cached old HTML shell before you rewrite the greeting for the third time.

If you use a consent banner that blocks third-party scripts until accept, make sure AptaBook is allowed the same way your analytics is. Silent blocking looks identical to a broken snippet.

Configure what “good” looks like

Write a greeting that sounds like your front desk, not a spaceship. One or two sentences. Long personas read as fake and burn patience before the visitor asks anything useful.

Decide when the agent should book versus capture a lead. Clinics often book on the spot. Law firms often qualify first and offer a consult. Encode that preference in instructions and in which services are bookable - don’t expect the model to invent your intake policy.

Send a test message from an incognito window and confirm it lands under Conversations → Text chats with the right channel tag. If you can’t find the session, stop marketing the widget. You’re flying blind.

Chat works, booking doesn’t

Nine times out of ten: no provider hours, calendar not connected, or service not mapped to a provider/location. The chat will sound confident while availability returns empty.

Fix availability first, then retry the same booking path. Don’t keep editing the greeting or the brand colors - those don’t create open slots.

When booking succeeds, check the external calendar event title and invitees. If the event lands on the office manager’s personal calendar for every clinician, your provider mapping is wrong even though chat “worked.”