Jobby

Internal install & test page. The live widget is loaded at the bottom of this page exactly the way it will be on a real site — click the blue bubble in the corner to try it.

Embed snippet

Paste this once, just before </body>, on any site that should have the assistant:

<script src="https://chat.jobaaj.com/widget.js" data-host-name="jobaaj_main" defer></script>

Nothing else is required. The widget renders inside a Shadow DOM, so it cannot collide with your site's CSS, and it figures out the API URL from its own src.

Naming the site

data-host-name is what tells the helpdesk which property a ticket came from — it is sent as host_name on every ticket. Give each site its own value:

SiteUse
jobaaj.comdata-host-name="jobaaj_main"
jobaajlearnings.comdata-host-name="jobaaj_learnings"
watify.iodata-host-name="watify"
anything elsepick a short slug for it

If your CMS won't let you add attributes to a script tag, put it in the URL instead — widget.js?host=jobaaj_main — which works identically. Omit it entirely and tickets file under ai_chatbot. Values must be letters, numbers, _ or -, up to 40 characters; anything else silently falls back to the default rather than failing the ticket.

Options

All optional, set as attributes on the same script tag:

AttributeDefaultWhat it does
data-host-nameai_chatbotWhich site this copy is on. Travels with every ticket as host_name.
data-apiscript's originPoint the widget at a different backend (e.g. a staging server).
data-positionrightSet to left to dock in the bottom-left corner.
data-greetingstandardOverride the opening line per site.
data-fontsonSet to off to skip loading Google Fonts on the host page.

Opening it from your own button

<button onclick="Jobby.open()">Chat with us</button>

Jobby.open(), Jobby.close() and Jobby.reset() are available once the script has loaded.

Before you put this on a live site

The embedding site's origin must be listed in ALLOWED_ORIGINS on the backend, or the browser will block every request with a CORS error. Check the browser console on the host page if the widget loads but no messages go through.