Skip to content
Tireless Crew Docs

Chat widget

To put an agent on your own website, add one <script> tag to your pages. Visitors chat with it without leaving your site, and the conversations are paid from your balance.

Quick start

  1. Turn it on. Open the agent in your dashboard and find the Website chat card in Your setup. Switch it on and add the address of every site that will show the chat, for example https://yourshop.com.
  2. Copy your snippet from the same card and paste it into your site’s HTML, anywhere in <head> or <body>:
    <script src="https://app.tirelesscrew.com/embed.js?v=a1082bc0a408" data-agent="YOUR_KEY" async></script>

    Copy it from the card rather than from here: the address ends in a version marker that changes when we update the loader, and your card always shows the current one. A snippet you pasted earlier keeps working.

  3. Check your site. A chat button appears in the bottom-right corner of the page. Visitors click it to open the chat.

The loader is plain JavaScript with no build step, so it works in any HTML page, CMS or website builder.

Your widget is separate from other customers’

Several customers can use the same agent, so each customer sets up website chat separately. You get your own key, your own list of websites and your own daily spending limit, and your visitors’ conversations are paid from your balance only. Another customer using the same agent has a different key; they cannot see or change yours, and your key does not work on their sites.

You can set up website chat on an agent you created and on any agent where it is offered to you. If the Website chat card is not on the agent’s page, the agent is not offered that way; contact us if you want it enabled.

Treat your key like a credential

The key is in your page source, which a browser widget cannot avoid; that is why the list of allowed websites exists. Do not paste it anywhere else, and regenerate it if it ends up somewhere it should not be.

Allowed websites

The chat works only on the sites you list. Enter the address of the site itself: the scheme, the domain and, if you use one, the port. Page paths and wildcards are not accepted.

Examples of allowed website addresses
AcceptedNot accepted
https://yourshop.comhttps://yourshop.com/contact (has a page path)
https://shop.example.comhttps://*.example.com (wildcard)
https://example.com:8080example.com (no scheme)

Capitals and a trailing slash are cleaned up for you, so HTTPS://YourShop.com/ is saved as https://yourshop.com. A subdomain counts as a different site: list both https://shop.example.com and https://example.com if you use both.

A request from a site that is not on your list gets a 403 response, and the chat does not appear on that page.

You can switch the chat on with no websites listed. It then works on no site until you add one, and the card tells you so.

Pages that send no referrer show the chat as unavailable

The platform reads the browser’s Referer header to find out which page the chat is on. A page that suppresses it (some privacy settings, some preview and sandbox tools, a strict Referrer-Policy) gives nothing to check against your list, so the chat reports itself as unavailable even though the site is listed. Your setup is not at fault.

How site checks work

When a browser loads the chat, the platform reads the Referer header on the server to find the site it is embedded on. That site is sealed into a short-lived admission ticket, signed with a platform key and with your widget’s own secret, and placed in the chat page. Every later request must carry the browser’s Origin header (always present on cross-origin requests) and is checked against that signed ticket, never against a value the page supplies.

This stops other websites from embedding your chat without permission: a browser on an unlisted site cannot get a valid ticket. It does not stop a script (such as curl) that fakes the Referer header to get a ticket. Against that kind of abuse, your daily spending limit, the per-widget rate limits and your balance are what cap the cost.

Daily spending limit

Set a daily limit for your widget. Once your visitors’ conversations have used that much in a day, new messages get a short “temporarily unavailable” notice and no further work starts until the next day. Leave it blank to use the standard limit.

The limit is yours, not the agent’s: another customer’s visitors spend against their own limit. It counts everything your visitors spend that day, not each visitor separately, so a single busy day can use it up.

If your balance reaches zero, the chat becomes unavailable whatever the daily limit says. Add credits from your dashboard.

Regenerating your key

Your snippet contains a key unique to you and this agent. You can regenerate it at any time from the Website chat card. Regenerating stops the old key working straight away and replaces the signing secret behind it: any site still serving the old snippet shows a broken chat, and tickets from earlier page loads stop working. Paste the new snippet on every site afterwards. No other customer’s widget is affected.

When the chat says it is unavailable

Visitors see the same message whatever the reason, so the chat never reveals anything about your account in public. The reason is one of these:

  • website chat is switched off in your setup;
  • the site is not on your list, or the page sent no referrer;
  • today’s spending limit has been reached, or your balance is at zero;
  • the agent has been deactivated, or your access to it has ended.

Privacy and data

  • The agent handles visitor messages like any other run, with its instructions and tools and with your knowledge bases and settings.
  • Visitors do not sign in. Each conversation is anonymous and is identified by a hash of the visitor’s IP address and browser, never by the raw values.
  • The conversation token is kept only in the page’s memory: not in localStorage, cookies or any other storage. It is gone when the page is closed.
  • Conversation transcripts are stored on the platform.
  • The chat is served from the platform’s own domain and talks only to the platform. It makes no requests to third parties.

Changing how the chat looks

The chat shows a greeting before the visitor’s first message when the agent has one set. Contact us if you want the greeting or the look of the button and panel changed.