Skip to content
The product

One index of your site, put to work several ways

HootyBot reads your pages once. From that same material a visitor can ask a question, search for the right page, or end up talking to you — and you can see all of it in one place.

The assistant

Answers made from your pages, and told where they came from

A visitor asks in their own words. The answer is assembled from the pages HootyBot read on your site, and it names them — so anyone can open the source and check. When your pages do not cover the question, that is what it says, instead of filling the gap with something plausible.

  • Your content only. Not a general chatbot wearing your logo.
  • Every answer names the pages behind it.
  • robots.txt decides what may be read. What it forbids never reaches the index.
Chat widget

One line of JavaScript, on any site

Paste one script tag and a chat appears in the corner of your site. It has no framework and no dependencies, and it renders inside a closed shadow root — so your styles cannot reach into it and its styles cannot leak onto your checkout.

  • You list the domains it may load on. Anywhere else, the key does not work.
  • Colour, corner, greeting and suggested questions are yours to set.
  • Loads async and deferred, with no webfont fetch. It does not hold up your page.
<script async defer
  src="https://plugin.hooty.to/hooty.js"
  data-hooty-key="wgt_…"
  data-hooty-api="https://api.hooty.to"></script>

Your publishable key replaces wgt_… — the console generates the whole line for you.

Search module

A search field that returns pages, not a conversation

The same index, used a different way. Drop the field wherever you want it on the page — not floating in a corner — and a visitor gets ranked pages of your own site back, with a preview image where one exists. Clicking a result goes to that page. There is no dialogue at all.

  • Placed by CSS selector, or exactly where the snippet sits.
  • Results are real links, so ⌘-click and open-in-new-tab behave normally.
  • Built for a phone as much as a desktop.
<script async defer
  src="https://plugin.hooty.to/hooty-search.js"
  data-hooty-search-key="wgt_…"
  data-hooty-api="https://api.hooty.to"
  data-hooty-target="#site-search"></script>

Leave out data-hooty-target and the field appears where you pasted the snippet.

Conversations

Read what was asked. Step in when it matters.

Every conversation your visitors had is here to read. When one needs a person, you take it over and type yourself — the visitor keeps the same window they were already in, and the assistant stops answering until you hand it back.

  • Conversations arrive as they happen, without a reload.
  • You see what the assistant could not answer — the clearest list of what your site is missing.
Analytics

What was asked, and what it cost

Answers, pages indexed, tokens and spend, filtered by date, by agent and by API key. The balance is prepaid, so what you see spent is what has actually been spent — there is no invoice arriving later with a number you did not expect.

Around it

The parts you only notice when they are missing

Notifications

A crawl that finished, a balance running low, a visitor waiting for a person. Events reach the console as they happen, and email is per-category rather than all-or-nothing.

Support

Write to us from inside the console and get a ticket with a number. Attach screenshots. The thread stays in one place instead of scattering across mailboxes.

Billing

A prepaid balance and a plan. Past the plan allowance the paid tiers keep answering and draw on the balance, so a busy week is a smaller bill rather than a closed door.

Add a site and see what it can answer

Free to start. HootyBot needs nothing from you but a URL.