Embed the OperatorOne AI Support Widget in Minutes

Add our JavaScript support widget to any website. Embed chat widget with one script—custom support widget, white label, helpdesk API integration.

Add Our JavaScript Support Widget

Add a single script tag just before the closing </body> tag. The widget loads asynchronously and does not block page render.

<script
  src="https://support.operatorone.co.uk/assets/widget.js"
  data-support-base="https://support.operatorone.co.uk"
  data-site-key="YOUR_SITE_KEY"
></script>

Replace YOUR_SITE_KEY with the site key from your support admin (Integration → Sites). The site key identifies the widget instance and ties it to the allowed domains for that site.

data-support-base and data-site-key

data-support-base: The full base URL of your support install. For example https://support.operatorone.co.uk or https://yoursite.com/support. No trailing slash. The widget uses this to send messages and fetch replies.

data-site-key: The unique key for this widget site. Created in Admin → Integration (Sites). Each site has its own key, allowed domains, and CORS configuration. Only domains listed in allowed domains can load the widget; others are blocked by CORS.

Use the OperatorOne API

The widget talks to your support API. Endpoints include bootstrap (resolves site and CORS), message send, history fetch, and config (theme, branding). All widget requests are scoped by site_key. This is your helpdesk API integration for the website support script.

The optional Control API (api/control_status.php, api/control_sites.php) is for central monitoring and site management. It requires a separate API key (control_api_key) and is not used by the widget. Use it from a trusted server or admin tool only.

For custom integrations, the widget API uses GET/POST with JSON where applicable. CORS headers are set per site from allowed_domains. Rate limits apply per site and IP.

Build Custom Workflows with Our Helpdesk API

Use the OperatorOne API to build custom support workflows. Poll ticket status, sync with your CRM, or trigger internal alerts. The Control API exposes ticket counts, AI usage, and site list for dashboards and monitoring. Combine the embed chat widget with your own backend for a fully custom support widget experience.

Webhooks

OperatorOne does not currently expose outbound webhooks for new messages or ticket events. Inbound: Stripe webhooks are used for billing (checkout, subscription updates, cancellations).

For event-driven workflows, poll the Control API for ticket counts and status. Future versions may add webhook support for message and ticket events.

Content Security Policy (CSP)

If you use a strict CSP, allow the widget script and your support base URL. Example:

script-src 'self' support.yoursite.com;
connect-src 'self' https://support.operatorone.co.uk;

Adjust the host and URL to match your support install. The widget loads from data-support-base/assets/widget.js and sends requests to data-support-base/api/*. If your CSP blocks inline scripts, ensure the widget script is loaded from the allowed script source.

Booking handovers

Add Calendly, Acuity, Square Appointments, or other booking links in Support Admin → Bookings. When visitors ask to book, schedule, or make an appointment, the AI includes the right link in its reply. Configure per site with multiple integrations (e.g. sales calls, support demos). No API calls required—paste your booking page URL and the AI directs visitors automatically.

Platform integrations

OperatorOne provides plugins for popular platforms. Each plugin outputs the same script tag; you configure base URL and site key in the plugin settings.

WordPress

Install the OperatorOne plugin. Go to Settings → AI Support. Enter your support base URL and site key. The plugin adds the script to the footer. No code changes required.

Joomla

Install the system plugin plg_system_aisupportembed. Enable it and set base URL and site key in the plugin options. The script is injected on pages where the plugin is active.

Magento

Copy the OperatorOne plugin to app/code/. Configure under Stores → Configuration → General → AI Support Embed. Set base URL and site key. The script is added to the layout.

PrestaShop

Install ps_aisupportembed from Modules. Configure base URL and site key in the module settings. Add the module to a hook (e.g. displayFooter) so the script appears on storefront pages.

OpenCart

Copy the upload contents to your store root. Install the AI Support module from Extensions. Set base URL and site key, then add the module to a layout (e.g. common/footer).

Shopify

Shopify does not have a native OperatorOne app. Use the script manager or a custom liquid snippet: add the script tag to your theme. Go to Online Store → Themes → Edit code. Add a snippet or embed the script in the theme layout. You will need your support base URL and site key.

Example integration flow

  1. Sign up for OperatorOne and log in to the support admin.
  2. Go to Integration (Sites) and create a site. Set name, site key, and allowed domains (e.g. yoursite.com, www.yoursite.com).
  3. Copy the widget code shown for that site. It contains the base URL and site key.
  4. Add the script tag to your site—via plugin, theme, or manual paste—just before </body>.
  5. Load your site. The floating button should appear. Click it and send a test message.
  6. In the support admin, open Tickets. The test conversation should appear. Reply to confirm end-to-end flow.

If the button does not appear, check the browser console for CORS or script-load errors. Ensure your domain is in the site's allowed domains. If CSP is strict, adjust as in the CSP section above.

Need help?

See Features for a full breakdown. Help for contact options.