
Sohaychat adds an AI chat widget to your WordPress site that answers visitor questions from the articles you publish. You write articles in the built-in Knowledge Base, and the chatbot looks up the best matches before it replies — so it stays on-topic and uses your real content instead of guessing.
On a WooCommerce store, the chatbot shops with your visitors. It searches your catalog, pulls up a product with its size and colour options, reads live stock and prices, answers shipping, returns, and refund questions from your store’s own pages, and adds, changes, or removes items in the shopper’s cart — without them leaving the conversation. Signed-in customers can also ask where their own order has got to. Every cart change comes with an Undo button, and every price and stock status is read from your store rather than invented. On sites without WooCommerce, none of it appears.
Every conversation is saved in a built-in inbox under Sohaychat Conversations — your team can read, search, filter, assign, and reply from one place.
Why site owners pick Sohaychat
- Answers from your own content — the chatbot reads the articles you publish in your Knowledge Base. It doesn’t make up product details or invent prices.
- Sells, not just supports — on a WooCommerce store the chatbot searches your catalog, checks stock and prices, and fills the shopper’s cart inside the conversation. Signed-in customers can ask after their own orders instead of opening a ticket. Declares HPOS and Cart-Checkout-Blocks compatibility. On sites without WooCommerce the shopping tools stay hidden and everything else works the same.
- No coding to set up — paste an OpenAI or Google Gemini API key, publish a few articles, click “Sync All Articles”. The widget appears on every page.
- A real inbox for your team — every conversation is saved. Search, filter by status, assign one to a teammate, or reply yourself.
- Predictable costs — set a daily token cap and the plugin stops calling your AI provider for the rest of the day once you hit it. A runaway loop or a hostile bot can’t drain your account overnight.
- GDPR-friendly out of the box — conversations are stored on your own site, in your own database. A chat belonging to a signed-in visitor, or carrying an email address the visitor gave you, flows through WordPress’s built-in Export / Erase Personal Data tools; a chat from someone who shared nothing has no email to match on and is erased by deleting it from the Conversations inbox. See Privacy below.
What’s included
- A chat widget that drops into every page (you can hide it on pages you don’t want it on).
- WooCommerce shopping tools (WooCommerce 7.0 or later) — catalog search and browse, product and variant lookup, live stock and prices, shipping/returns/refund answers, add, change, or remove in the shopper’s cart, and order status for signed-in customers. Each result renders as a card in the chat rather than a wall of text.
- A Knowledge Base section in the WordPress admin, with a “Sync All Articles” button.
- A Conversations admin where you can read, search, filter, assign, reply, pin, and close chats.
- Quick replies — saved answers your team can drop into a reply from the lightning-bolt button in the composer, or by typing
/in an empty draft. Search them, pick one with the arrow keys, and edit it before sending. Managed under Sohaychat Quick replies. - Collect customer details — decide what a visitor has to share before someone from your team joins their chat: require them to sign in, ask for a name and email, or ask for nothing. Set it under Sohaychat Settings, with an optional marketing opt-in whose wording you write yourself. The chatbot still answers everyone in every mode.
- Email visitors when you reply — answer a chat the visitor has already closed and Sohaychat can email them your reply, with a one-click link to stop further emails. Off by default.
- An AI Settings screen for picking the AI provider and model, writing the welcome message, and setting daily spend caps.
- A Diagnostics screen that shows today’s token usage and the most recent plugin log entries.
- Fast page loads — the chat code only downloads when a visitor actually opens the chat, not on every page view.
- Your API keys are encrypted in the database and never shown in the admin UI after you save them.
You’ll need
- A WordPress site running version 6.6 or later, on PHP 8.1 or later.
- An account and API key with OpenAI or Google (Gemini). You pay that provider directly for the model usage — Sohaychat does not resell access. A typical small support site stays in single-digit dollars per month. If you use the Knowledge Base, you need an OpenAI key regardless of which provider answers the chat — see External services.
- Optional — WooCommerce 7.0 or later, if you want the shopping tools. Everything else works without it.
External services
Sohaychat sends data to an AI provider to generate chat answers, and to OpenAI to index and search your Knowledge Base. Without an account and API key for at least one provider, the plugin has no upstream model to call and the chat widget cannot answer questions.
Which service receives your visitors’ messages depends on the provider you select under Sohaychat AI Settings:
- OpenAI (https://openai.com) — the default.
- Google (Gemini) (https://ai.google.dev) — optional alternative.
Knowledge Base indexing and search always go to OpenAI, whichever provider answers the chat. If you select Google and switch the Knowledge Base on, keep an OpenAI key saved as well; without one the chatbot answers without consulting your articles.
What is sent, and when
- When a visitor sends a chat message — the message text and recent conversation history are forwarded over HTTPS to the selected provider and processed by the model configured under Sohaychat AI Settings. That is
https://api.openai.com/v1/responsesfor OpenAI, orhttps://generativelanguage.googleapis.com/v1beta/models/*:streamGenerateContentfor Google. - When you publish or update a Knowledge Base article — the title and body are sent in the background to OpenAI Files and Vector Stores (
https://api.openai.com/v1/files,/v1/vector_stores,/v1/vector_stores/*/files) so the chat can retrieve them. The sync runs in the background, not while you click Save. This happens on OpenAI regardless of which provider answers the chat. - When the chatbot looks something up in your Knowledge Base — the visitor’s question is sent to
https://api.openai.com/v1/vector_stores/*/searchto find matching articles, and the matched article text is then sent on to whichever provider is generating the reply. - On a WooCommerce store, when the chatbot uses a shopping tool — the answer it looks up is sent back to the model so it can reply, in the same conversation as the message that prompted it. Depending on the tool, that is: product names, descriptions, prices, sale prices, stock status, categories, tags, option names and values (size, colour), product page and image URLs; the text of the store pages you have set as Terms, Privacy, Refunds and Returns, plus any Knowledge Base articles matched to a shipping, returns or refund question; and the contents of the shopper’s cart — the items in it, their quantities and options, and the cart totals. This happens only on stores running WooCommerce, and only for the tools the chatbot actually calls in that conversation.
- On a WooCommerce store, when a signed-in customer asks about their own orders — the order number, its status, the date it was placed, the order total, and the names, quantities and line totals of what was in it are sent to the model so it can answer. Up to ten orders at a time. This happens only for a visitor signed in to a WordPress account, and only for that account’s own orders: the customer is taken from the current login, and there is no way to ask the chatbot about anybody else’s.
What is not sent. No postal address, phone number, or payment or transaction detail is ever sent to your AI provider — not from the cart, not from an order, not from anywhere else. The cart data describes the basket, not the shopper, and carries no name or email address either. The order lookup is deliberately narrow for the same reason: a customer asking where their order is needs its status, date and contents, so billing and shipping addresses, phone numbers, the customer’s own email address, payment methods and transaction ids are all left out of what the model is given. Sohaychat never sends WooCommerce customer records or anything from your checkout.
Where it goes
All requests go over HTTPS to api.openai.com and, if you select Google, generativelanguage.googleapis.com. The plugin does not contact any other external service — no analytics, no telemetry, no third-party fonts or CDN assets, and no phone-home for updates. Updates come from WordPress.org.
How your API keys are handled
The API key you enter for a provider under AI Settings authenticates that provider’s requests. Keys are encrypted at rest (AES-256-GCM) in your WordPress database, masked in the admin UI after the first save, and excluded from the WordPress REST API. A key is only ever sent to the service it belongs to. Saving a key for a provider you have not selected stores it but does not use it — that is what lets you switch back without re-entering it.
Your responsibilities
Before activating the plugin, please review the terms of the provider you select — OpenAI’s Terms of Use and Privacy Policy, and if you use Gemini, Google’s Gemini API Additional Terms of Service and Privacy Policy. Note that Google applies different data-handling terms to free-tier and paid API keys; read the terms for the tier you are on. Because Knowledge Base indexing runs on OpenAI either way, a site with the Knowledge Base switched on shares data with OpenAI even when Gemini answers the chat. Site owners are responsible for obtaining the appropriate legal basis (consent, contract, legitimate interest, etc.) to share visitor messages with these services under GDPR, CCPA, and other applicable privacy regimes in the jurisdictions they operate in. On a WooCommerce store that basis needs to cover the shopping tools too — what a visitor has put in their cart is information about that visitor, even though no name or address is attached to it, and an order a signed-in customer asks about is information about a named account. If you ask visitors for a name and email before they can reach your team, or switch on the reply emails described under Privacy, the basis needs to cover those as well. If you would rather any of it never left your site, the shopping tools can be switched off individually in code; see the FAQ below.
Privacy
Conversations and messages are stored in custom database tables on your own site.
For signed-in visitors, the plugin registers WordPress’s personal-data exporter and eraser, so the standard Tools Export Personal Data and Tools Erase Personal Data flows include their Sohaychat conversations, matched on their account email.
Details a visitor gives you in the chat. If you ask visitors for a name and email before they can reach your team (Sohaychat Settings Collect customer details), what they type is stored on that conversation — along with whether they accepted your marketing opt-in, when they accepted it, and the exact wording they were shown at the time. Those details go into a personal-data export and are removed by an erasure request, for guests as well as registered users. Because the widget never verifies an address typed into it, an export keeps two groups apart: conversations owned by the requester’s account, and conversations that merely carry their email address. The second group is labelled as unverified, because it may contain somebody else’s chat.
Chats from visitors who shared nothing aren’t tied to an email address, so those email-based tools can’t locate them. To erase a specific guest conversation, open it under Sohaychat Conversations and delete it (available to users with the AI-settings capability); it leaves the inbox immediately and is permanently purged after the retention window — 30 days by default, filterable in code. A visitor can also delete their own chat from the widget, and every soft-delete follows the same purge path.
Emails to visitors. With Email visitors when you reply switched on (Sohaychat Settings, off by default), a reply your team sends to a chat the visitor has already left is emailed to the address on that conversation. It is the only mail Sohaychat sends to somebody who is not staff. The email goes out from your own site through WordPress, not through any third-party service, and carries a one-click link that stops further emails about that conversation.
On a WooCommerce store, the chatbot’s shopping tools read your catalog, your policy pages, and the visitor’s own cart. What they find is sent to your AI provider so the model can answer, and it is also saved with the conversation — that is what lets the product card or cart summary still be there when the visitor scrolls back. So a stored conversation on a WooCommerce store can contain a snapshot of what that visitor had in their cart at the time. A signed-in customer who asks about their own orders leaves the same kind of trace: the order numbers, statuses, dates, totals and item names the chatbot was given in order to answer. Both are covered by the same export, erase and retention paths as the rest of the conversation — erasing the chat erases them with it. No postal address, phone number, or payment detail is involved in either — see External services for the exact list.
See the External services section above for what gets sent, and to which service.
Screenshots

The chat launcher sitting in the bottom-right of the site, respecting iOS safe-area-inset above the home indicator.

The expanded chat panel mid-conversation, streaming an answer grounded in a Knowledge Base article.

Shopping in the chat — a product search returning live catalog results, each card carrying the store's own price, stock, and "Add to cart".

Adding to the cart from the chat, with the running cart, totals, an Undo button, and a link straight to checkout.

Sohaychat → Conversations — the admin SPA listing recent conversations with filter, search, and assignee controls.

A single conversation opened in the admin, showing message history and the reply composer.

Sohaychat → AI Settings → Spend protection — daily per-visitor and site-wide token caps with the live usage readout.

Sohaychat → Dashboard — conversation volume and trends, recent activity, recently published Knowledge Base articles, and quick actions.