New — Sohay now answers WooCommerce product, policy & cart questions. See how →

Before you switch handoff on

Two decisions that are genuinely yours — whether somebody is watching, and whether your host can take the traffic.

Handoff is off by default, and that is not timidity. Two things about it are your call, and neither is obvious from the settings screen.

It needs somebody watching

Handoff to nobody is worse than no handoff at all. It makes a promise the site cannot keep, and the visitor waits out a timeout to discover that.

The schedule and the offline message exist to keep the promise honest — but they only describe your intentions. Set hours you will actually cover, not hours you would like to.

If you are not sure you can cover any, leaving handoff off is a legitimate answer. The assistant answering well is better than a person who never arrives.

It adds background requests

While handoff is on, every open chat window quietly checks for replies. This is the only sustained load Sohay generates. With handoff off, nothing polls and you pay nothing.

Roughly, for chat windows open at the same moment:

Open windows Assistant answering Person in the conversation
10 ~0.2 requests/sec ~1.3 requests/sec
50 ~1.1 requests/sec ~6.3 requests/sec
200 ~4.4 requests/sec ~25 requests/sec

Each is a small database read — but it is a full WordPress page load. On shared hosting, the page loads are what to watch, not the query.

Four things already keep it bounded:

  • Nothing polls while the chat window is closed.
  • Nothing polls in a background browser tab.
  • A conversation nobody has touched for ten minutes stops polling until the visitor comes back.
  • The cadence is set by the server, not the browser, so a developer can widen it with the sohaychat_handoff_poll_intervals filter without shipping any new JavaScript.

The numbers in that right-hand column only apply to conversations a person is actually in, which on most sites is a small fraction at any moment.

Checking it works

Worth doing once after switching it on, because the two halves are easy to get right separately and wrong together. You need two browsers — or one normal window and one private window — so you are an operator in one and an anonymous visitor in the other.

  1. Visitor: open the chat, send a message. The assistant replies.
  2. Visitor: press Talk to a person. A “Finding someone to help…” strip appears.
  3. Operator: it appears under Waiting for a Person, the tab shows a count, an email arrives.
  4. Operator: open it, press Take over.
  5. Visitor: within a few seconds the strip changes to “You are chatting with …”. This is the step that proves the two halves are talking.
  6. Operator: reply. Visitor: it arrives with your name and picture, no AI marker.
  7. Visitor: send another. Operator: it lands in your thread — and the assistant does not answer over you.
  8. Operator: hand back. Visitor: the strip disappears.
  9. Visitor: send one more. The assistant answers, and can see what you said.

If step 5 does nothing, check handoff is actually switched on. The widget only watches for replies while it is.

Mithun B.
Mithun B.

More articles by Mithun B..

View all posts

Give your website an assistant that answers from your content

Grounded answers, a team inbox, and store-aware tools — free on WordPress.org.

Add Sohay — Free

Free plugin · You bring your OpenAI key · Works with any theme