Kanom Chatbot for Customer Support & Sales

Descrição

Turn website visitors into qualified leads with a conversation, not a contact form.

Kanom Chatbot is an AI assistant for WordPress that chats with your visitors, qualifies them, asks for their email at the right moment, and emails you the transcript — so your sales team can follow up while the intent is fresh. Every captured lead lands in your admin dashboard with the visitor’s name, email, what they actually wanted, and the page they were on.

The AI is trained on your real business: products, prices, policies, FAQ, even your existing pages (auto-indexed). It quotes from your actual content instead of inventing answers, so every reply is on-brand and accurate. Static contact forms convert at ~2%. A good conversation converts much higher.

Set up in two minutes. No API keys, no separate accounts, no per-message billing surprises. Start free with 30 conversations per month, no credit card required.

Beyond lead generation, the same chatbot handles 24/7 customer support, e-commerce pre-sale questions, FAQ deflection, and onboarding — but the headline reason to install it is that every chat is a chance to capture a lead, and Kanom turns those chats into a structured pipeline.

Use cases

Lead Generation (the headline) — Every visitor who chats is a chance to become a lead. The AI qualifies them through natural conversation, asks for an email at the right moment (you decide when — “after they show purchase intent”, “when they ask about pricing”, “after 3 questions”), and the moment they type it, Kanom:

  1. Saves a structured lead row: email, name, intent, source page, full transcript
  2. Emails you the conversation so you can follow up while it’s hot
  3. Surfaces the lead in the Leads admin tab with one-click CSV export
  4. Counts toward your conversion rate analytics so you can see what’s working

A good conversation converts 5–10× better than a static contact form. Kanom turns that into a measurable pipeline, not a vague “we got more emails this month”.

24/7 Customer Support — Deflect repetitive tickets (shipping status, returns, account questions, password resets) before they reach your inbox. Visitors get answers in their own language, day or night.

E-commerce Sales Assistant — Answer pre-sale questions right on the product page (sizing, materials, shipping windows, compatibility), recommend related products, and nudge visitors who linger on the cart toward checkout. WooCommerce-aware: the bot knows what’s in the visitor’s cart when they open chat.

FAQ Automation — Turn a long, scrollable FAQ page into a conversation. Visitors ask in their own words; the chatbot answers from your existing help content and cites the source.

Landing-page focus — Place [kanom_chatbot prompt="On this page, focus on shipping and returns for the Pro Widget"] on a specific page to scope the bot’s behavior just for that page, without rewriting your whole AI Agent prompt. Great for paid-ad landing pages where you want the bot to push one specific outcome.

User Onboarding — Meet new users inside your product, answer setup questions in real time, and guide them to their first win without scheduling a single onboarding call.

Features

Lead capture — the core of the plugin

  • Email + name + intent + page URL extracted from every conversation that contains an email
  • Live email notification to your inbox with the full transcript
  • Leads admin tab with date / email search, transcript viewer, CSV export
  • Lead conversion rate tracked alongside other KPIs
  • Free plan emails the first 5 leads/month; the rest still capture to the database (upgrade for unlimited live emails)
  • Weekly digest email with last week’s leads, top topics, and which pages converted

The AI itself

  • Hosted AI included — no API keys, no third-party accounts, no per-message billing surprises
  • Optional bring-your-own-key (OpenAI, Anthropic, Google) via the WordPress AI Client + Connectors API for unlimited messages
  • Custom AI prompt builder: business name, FAQ, tone of voice, sales instructions, lead capture instructions, guardrails
  • Site-aware answers: bot quotes from your real pages, posts, and products — no manual upload, auto-indexed on save
  • Optional vector retrieval (semantic matching, not just keywords) — catches “delivery” “shipping” and works across languages

Engagement

  • Proactive triggers: auto-open the chat after N seconds, at scroll depth %, or on exit intent — with a custom greeting
  • WooCommerce-aware: bot knows what’s in the visitor’s cart when they open chat (item names + quantities, no stale prices)
  • Per-page overrides: [kanom_chatbot prompt="On this page, focus on shipping questions"] for landing-page-specific behavior

Analytics + reporting

  • Dashboard: conversations, lead conversion rate, top topics, top pages, daily-volume + time-of-day charts
  • Monday-morning HTML email digest summarising last week’s chats, leads, and what worked
  • “Potentially unresolved” detection so you can spot questions the bot couldn’t answer

Widget

  • Floating chat widget with custom colors, logo, avatar, name, greeting, position
  • Hide on mobile if desired
  • Shortcode [kanom_chatbot] for embedding on specific pages

Privacy + compliance

  • GDPR-friendly: optional chat storage, IP anonymization, privacy notice
  • Chat history retention: off, 30, 90, 180, or 365 days
  • “Delete all chats” cascades to leads — every byte of PII goes when you say so
  • Per-post exclude toggle: opt out specific pages from the bot’s knowledge base
  • One-time consent banner: hosted AI doesn’t make any external HTTP calls until the admin explicitly clicks “Activate”

Operations

  • Per-IP rate limiting, nonce-protected REST endpoints, session-token authorization
  • Admin chat logs with filters, transcript view, CSV export
  • Built-in Support tab — submit questions/bugs directly to the Kanom team
  • Monthly usage limits (Free 30 conversations/mo, Starter $19/mo through Enterprise $199/mo)

External services

This plugin requires our hosted AI service to function. There is no option to run it without it — the AI provider key is held server-side and never ships with the plugin.

The plugin communicates with our hosted service at wpsmartchatbot.com (operated by us). All routes are sub-paths of https://wpsmartchatbot.com/wp-json/wpsc-saas/v1/:

  • /trial — issues a free license. Sent: site URL, admin email. Called the first time a visitor sends a chat message (not on activation).
  • /activate, /deactivate — register/deregister this site against a paid license. Sent: license key, site URL.
  • /validate — daily license re-check. Sent: license key, site URL.
  • /plans — fetches the public plan catalog for the License page. No personal data sent.
  • /usage — reports the local monthly message count. Sent: license key, site URL, message count.
  • /chat — proxies the visitor’s conversation to a third-party AI provider (currently DeepSeek). Sent: license key, site URL, the chat messages, and the AI prompt you configured (business name, FAQ, tone, etc.).
  • /checkout/{plan} — opens a Stripe checkout link in a new tab when an admin upgrades.

Data sent depends on the route — see the per-route list above. The visitor’s chat messages and your AI prompt are forwarded to the AI provider only via the /chat route, and only when a visitor actually sends a message.

  • Service endpoint: https://wpsmartchatbot.com/wp-json/wpsc-saas/v1
  • Terms of Service: https://wpsmartchatbot.com/terms
  • Privacy Policy: https://wpsmartchatbot.com/privacy

By installing and activating this plugin, you agree to the Terms of Service and Privacy Policy linked above.

Roadmap

  • Team accounts & multiple chatbots per account
  • WhatsApp integration
  • Human handoff (transcript admin’s inbox with reply-to so support replies go back to the visitor by email)
  • CRM webhook (push captured leads to Zapier / Make / your CRM of choice)
  • Deeper WooCommerce integration (order history, recently-viewed, wishlist)
  • A/B testing for proactive triggers (test different opener messages, see which converts more leads)

Instalação

  1. Upload the kanom-support-sales-chatbot folder to /wp-content/plugins/.
  2. Activate from the Plugins menu. A free license is issued automatically the first time a visitor sends a chat message — no contact with our servers happens before that.
  3. Go to Kanom Chatbot AI Agent to fill in your business info and prompt, then Design to customize the widget. Optional: Knowledge to index your existing pages so the bot can quote them.

Perguntas frequentes

Is it really free?

Yes. Every site gets 30 AI messages per month at no cost, with no credit card required and no time limit. Paid plans (Starter, Growth, Scale, Enterprise) unlock larger monthly limits and more sites per license. You can stay on the free plan as long as you want.

Do I need to bring my own OpenAI / Anthropic / DeepSeek API key?

No — and that’s the default. The AI provider key is held server-side on our hosted service. You install the plugin, activate it, and the chatbot is live with 30 free messages every month. No separate accounts to create, no keys to manage, no billing with a third party. We currently use DeepSeek behind the scenes; the model may change as better options become available.

Can I plug in my own AI provider key for unlimited messages?

Yes, optionally. The plugin integrates with the WordPress AI Client (native in WordPress 7.0+, available as a plugin on 6.9) and the new Connectors screen. If you’d rather pay your AI provider directly and remove our monthly message cap:

  1. Add your OpenAI, Anthropic, or Google key in Settings Connectors (WP 7.0+) or in the matching “AI Provider for {OpenAI / Anthropic / Google}” plugin (WP 6.9).
  2. Open Kanom Chatbot AI Provider and switch routing to “Use my own AI provider”.
  3. Pick the matching provider. Done — chats now go straight from your site to your provider, no proxy and no Kanom quota.

This is opt-in. The hosted-AI default is still the simplest path: it doesn’t require a third-party account or a credit card, and the free tier never expires.

Does the plugin make any external calls before I opt in?

No. The plugin’s design is “no external HTTP requests until the user takes an action.” On install + activate, nothing leaves your server. The first time a visitor sends a chat message we fetch a free license from wpsmartchatbot.com — but as of v1.6.0, even that requires you to click Activate Hosted AI in Kanom Chatbot AI Provider one time first. Until then, the plugin returns a friendly “not yet activated” message to any visitor who tries to chat. If you’d rather not use the hosted service at all, switch the routing to Use my own AI provider and the plugin never contacts wpsmartchatbot.com.

Can I change the AI model, temperature, or response length?

Yes. Kanom Chatbot AI Provider Advanced has fields for model, temperature, and max response tokens. The model field only matters in bring-your-own-key mode (in hosted mode the SaaS chooses). Defaults work well for most sites; lower the temperature if the bot is being too creative, raise it if responses feel robotic.

Can the bot match meaning across synonyms, not just keywords?

Yes — turn on Vector retrieval in the Knowledge tab. Works in both modes:

  • Hosted AI — embeddings are proxied through wpsmartchatbot.com using our server-side OpenAI key, bundled into your plan at no extra charge. Just tick the toggle and reindex; no API keys to configure.
  • Bring your own key — needs OpenAI or Google credentials in Settings Connectors. Each indexed chunk costs ~$0.00001 to embed; each chat query costs roughly the same on your provider bill. Anthropic isn’t supported (no native embedding endpoint), so the bot falls back to keyword search.

Either way, Kanom matches visitor questions by semantic similarity instead of literal keyword overlap — a question about “delivery times” surfaces a page that only mentions “shipping windows”. Falls back to MySQL FULLTEXT keyword search automatically when the feature is off, unavailable, or a call fails.

How do I keep a specific page out of the chatbot’s knowledge?

Edit the page or post, look for the Kanom Chatbot panel in the right-hand editor sidebar, and tick “Exclude from chatbot knowledge”. The bot won’t quote from that page even though its post type is indexed in Knowledge settings. Existing chunks for that page are removed on save. Use this for splash pages, stale promotions, the cart/checkout/login pages, or any content that’s diluting retrieval. The Knowledge tab shows how many posts you’ve excluded with a one-click review link.

Can the chatbot use my actual site content as a source?

Yes — that’s what the Knowledge tab is for. Tick which post types to include (Pages by default; Posts, Products, or any custom type are one click away). Hit “Reindex now” once, and Kanom splits your content into searchable chunks. After that, every chat message triggers a fast database search and the top 3 matching snippets are injected into the AI’s system prompt for that one reply. New and edited posts are picked up automatically.

This is the difference between a chatbot that knows “the business sells widgets” (what you typed in AI Agent) and one that knows “the Pro Widget is $49, ships in 2 days, and has a 30-day return window” (what’s actually on your product page). Works on any WordPress install with InnoDB (the default), no external service required, no per-search cost.

How does lead capture work?

If you tell the bot to ask for emails (in AI Agent Lead capture), Kanom watches every visitor message for an email address. The first time one appears in a conversation, Kanom:

  1. Saves the email, the visitor’s name (when stated), the visitor’s first meaningful question as “intent”, the page URL, and a link to the full transcript.
  2. Emails you (or whatever address you set in AI Agent Notification email) with the lead details and conversation excerpt.
  3. Lists the lead in the Leads admin tab where you can filter, search, view the full conversation, export to CSV, or delete.

One lead per conversation — repeat visits or replies on the same session don’t double-count. Lead capture works in both Hosted and Bring-your-own-key modes. Leads live in your WordPress database, never on our servers.

Can the chatbot answer questions specific to my business?

Yes. In the AI Agent admin page you provide your business name, a description, your tone of voice, your FAQ, and any policies (returns, shipping, hours). Everything you write there is sent to the AI as a system prompt on every conversation, so answers stay on-brand and grounded in your real content.

Will it run without contacting your servers?

No. The plugin is a thin client: every chat message is proxied through wpsmartchatbot.com to the AI provider. This is how we can ship a chatbot without asking you for any API key. The full list of routes the plugin calls is in the “External services” section above.

Is it GDPR-friendly?

The plugin ships GDPR-aware defaults: visitor IPs can be anonymized before storage, chat retention is configurable (off, 30, 90, 180, or 365 days), and you can disable chat storage entirely. EU customers can request a copy or deletion of their data by contacting our support email.

Does it work with any WordPress theme?

Yes. The chat widget renders in its own DOM with an isolated style scope, so your theme’s CSS doesn’t interfere and vice versa. It works with classic themes, block themes, page builders (Elementor, Divi, Bricks), and headless setups.

Will it slow down my site?

No. The widget script is ~30 KB minified, loaded asynchronously in the footer. It makes zero blocking requests and no third-party CDN calls. PageSpeed scores are unaffected.

Can I hide the chatbot on mobile or specific pages?

Yes. Design Hide on mobile devices disables the widget on phones. To hide on specific pages, conditionally remove the shortcode (or use the global toggle and place [kanom_chatbot] only on the pages you want).

Where is chat data stored?

In your own WordPress database, in three custom tables ({prefix}_kanom_sessions, {prefix}_kanom_messages, {prefix}_kanom_usage). Nothing is stored on our side beyond your license record and aggregate monthly usage count.

Can I upgrade or cancel anytime?

Yes. Plan changes go through Stripe — you can upgrade, downgrade, or cancel from License Manage subscription. Cancellations take effect at the end of the current billing period.

What happens to my data if I uninstall the plugin?

The plugin’s uninstall.php drops its database tables and deletes its options. Your license remains valid on our side, so you can reinstall later without losing your subscription.

How do I get support?

Open a thread in the Support forum on this plugin’s wordpress.org page for general questions. For account/billing/license issues specific to your installation, email support through your hosted dashboard or website.

Avaliações

18 Maio, 2026
I’m very happy to have found this plugin. After trying several chatbot solutions, this is one of the few that is truly customizable and flexible enough to adapt to different business needs. Most chatbot plugins feel limited or difficult to personalize, but this one gives you full control over the experience and how the assistant interacts with customers. The installation process was very easy and only took a few seconds. Setting up the business details, customizing the responses, changing the colors to match my business brand, and getting everything running was strightworward, even without advanced technical knowledge. Once activated, the chatbot started responding to customer questions immediately and helped create a much more professional experience on the website. Overall, this plugin exceeded my expectations and has become a valuable addition to my website. Highly recommended for anyone looking for a customizable AI chatbot solution for Wordpress that is easy to set up and actually works well.
Ler 1 avaliação

Contribuidores e programadores

“Kanom Chatbot for Customer Support & Sales” é software de código aberto. As seguintes pessoas contribuíram para este plugin:

Contribuidores

Registo de alterações

1.9.7

  • Fixed: wp.org Plugin Check ERRORs cleared. Removed a stowaway .DS_Store, added a project .gitignore, escaped a few admin-side template outputs (Analytics tile badges and period-filter labels), and dropped a suppress_filters=true from the knowledge indexer query so WPML/Polylang can language-scope it.
  • Fixed: every WP_DEBUG-gated error_log() call now carries a phpcs:ignore comment so the diagnostic-logging pattern reads cleanly to reviewers. No behavior change — log lines still only appear when WP_DEBUG is on.
  • Fixed: documented internal-allowlist phpcs:ignore comments on three Knowledge-table queries that interpolate the table name (TRUNCATE / COUNT / GROUP BY). Table names come from a hard-coded set, never user input.

1.9.6

  • Fixed: Proactive trigger never fired. The widget’s config-merge step only copied four whitelisted keys (webhook, branding, style, i18n) and silently dropped the proactive config the PHP side was sending. setupProactive() then read cfg.proactive === undefined and bailed at its early-return guard. Time-on-page, scroll-depth, and exit-intent triggers all affected — none of them actually fired since the feature shipped in 1.6.0. Now passes through.

1.9.5

  • Changed: Support tab no longer mentions Telegram delivery (that’s an implementation detail). Added a prominent Documentation link and a required “I checked the documentation first” checkbox — the Send button stays disabled until it’s ticked. Cuts noise on questions already answered in the docs without adding real friction.
  • Changed: Design Powered-by badge. The widget badge is now shown on all plans by default. Paid plans get a checkbox to remove it (Design tab “Powered-by badge”). Free plans keep the badge — it’s brand attribution and a soft upgrade hook — and the toggle renders disabled with an inline link to upgrade.
  • Changed: AI Agent Live preview heading prefixed with “[Testing]” to make it obvious that section is the real-payload preview (retrieval + cart), not the static system prompt.
  • Changed: Analytics “Potentially unresolved” KPI tile got extra bottom padding so the sub-line + delta badge breathe.

1.9.4

  • Changed: wp.org listing rewritten to lead with the lead-generation pitch instead of the generic “customer service, lead generation, and sales” trio. Description, short description, tags, use cases, and feature list all restructured. No code changes. Roadmap pruned: vector retrieval already shipped (1.7.0), removed from “upcoming”.

1.9.3

  • Added: explicit copyright + GPL header to the frontend widget script. Calls out that the Kanom and WP Smart Chatbot brand names are trademarks (not GPL’d) so a fork can’t reuse them. Replaces a stale v4.8 marker comment from an earlier rename.

1.9.2

  • Changed: free-plan widget badge text simplified to “Powered by WP Kanom Chatbot” (no emphasis). Widget now uses textContent for the badge — XSS-safe by default, regardless of where the string ever comes from.

1.9.1

  • Changed: free-plan widget badge updated from “Powered by WP Smart Chatbot” to “Powered by Kanom Chatbot for WordPress” (brand name emphasised). Better attribution + clearer match with the plugin’s wp.org listing.

1.9.0

  • Added: Support admin tab with a form to send questions, bug reports, feature requests, or billing issues directly to the Kanom team. Site URL and license key are attached automatically. Submissions land in our Telegram chat; replies come by email. Available to all installs — you don’t need an active license to ask for help.

1.8.3

  • Fixed: the Temperature field on Spanish/EU-locale browsers no longer relocalises “0.7” to “0,7” on display. The input is now a plain text field; the sanitizer also normalises comma decimals (paste from a Spanish spreadsheet, mobile keyboard) so the value parses correctly either way. Previous behavior could silently store 0 if a comma made it through the round trip.

1.8.2

  • Removed: Model text field from AI Provider Advanced. It didn’t actually affect chat behavior in either mode — the hosted SaaS picks its own upstream, and BYO mode lets the WP AI Client choose a sensible default per provider. Showing an internal implementation detail (a DeepSeek model name) to customers who can’t influence it was just confusing. Temperature and max-tokens stay; those do work. A proper provider-aware model picker can come back if customers ask.

1.8.1

  • Improved: the daily license validation ping now reports this site’s AI routing mode (hosted or BYO + provider). Lets the SaaS show segmentation analytics (“X% of paid sites are on BYO”) and flag churn risk without changing any visitor-facing behavior. The ping itself was already happening daily — this just adds two fields.

1.8.0

  • Added: “Powered by WP Smart Chatbot” attribution under the chat widget on the free plan. A small one-line link, intentionally unobtrusive. Hidden automatically on any paid plan.
  • Added: free-plan cap of 5 lead-email notifications per month. Lead capture itself is unchanged — every lead still lands in the Leads tab and in your database. Only the live wp_mail ping is gated. Past the 5th notification, the Leads tab shows “5 emailed / N captured this month” with an upgrade prompt, and the weekly digest surfaces the gap so you don’t miss what you missed. Paid plans email every lead, no cap.

1.7.4

  • Changed: “Enable chatbot” master switch moved from Design Dashboard. Now appears as a prominent on/off banner at the top of the Dashboard with a one-click toggle (no Save needed). Whether the bot is live is the single most important fact about the plugin — it belongs on the page admins land on, not buried in Design.

1.7.3

  • Changed: “Usage & Billing” admin tab renamed to “License”. Same page, same URL slug (wpsc-usage), just a clearer label since billing is mostly handled in the Stripe portal anyway. Bookmarks and existing links keep working.

1.7.2

  • Added: per-post “Exclude from chatbot knowledge” toggle in the post editor sidebar. Lets admins opt individual pages out of indexing without unpublishing them — useful for splash pages, stale launch announcements, the cart/checkout pages, or anything noisy that’s diluting retrieval. Bulk post-type indexing remains the default; this is fine-grained override on top.
  • Fixed: chunker no longer emits useless mini-chunks. Headings and one-liners under 40 characters are now skipped entirely instead of becoming standalone “About Us”-style 15-char chunks that polluted test retrieval results. When a chunk buffer is still tiny and the next paragraph would overflow the soft target, the chunker now merges anyway (up to the 1200-char hard cap) rather than flushing the orphan.
  • Improved: Knowledge tab shows a count of currently-excluded posts with a one-click “Review excluded posts” link to the filtered admin list.

1.7.1

  • Added: vector retrieval now works in Hosted AI mode too. The plugin POSTs to a new /embed proxy on wpsmartchatbot.com, which calls OpenAI server-side using our key — bundled into your plan, no separate billing. Previously vector retrieval required Bring-your-own-key with an OpenAI or Google account.
  • Improved: Knowledge tab status panel now distinguishes between hosted, OpenAI BYO, Google BYO, and Anthropic BYO. Anthropic users get a clear “falls back to keyword retrieval” note.

1.7.0

  • Added: optional vector retrieval (embeddings). Toggle on the Knowledge tab. When enabled in BYO mode with OpenAI or Google, each indexed chunk is embedded once and chat queries are matched by cosine similarity instead of keyword match — catches “delivery” “shipping” and works across languages. Anthropic isn’t supported (no native embedding endpoint as of 2026-05); selecting it leaves you on FULLTEXT keyword search. Falls back automatically when embeddings are off, unavailable, or the API call fails — chats never break because of a vector miss.
  • Added: async batched reindex. Replaced the synchronous “process up to 1000 posts in one request” reindex with a JS-driven loop that processes 50 posts per AJAX call until done. Survives any PHP timeout — works on sites with tens of thousands of posts. Status text updates per batch so admins see progress.
  • Improved: hours-of-day analytics chart now uses the WP site timezone via wp_timezone() instead of MySQL’s server-local clock. The chart caption shows which timezone is in effect (“Europe/Madrid”, “+05:30”, etc.). DST transitions during the window may shift one hour boundary by 1h — acceptable for a heat-map.

1.6.0

  • Added: one-time “Activate Hosted AI” consent button in AI Provider tab. Until you click it, the plugin makes ZERO external HTTP requests — even if a visitor sends a chat. Belt-and-suspenders compliance with wp.org’s “no external calls without explicit user action” policy.
  • Added: HTML email digest. The Monday-morning weekly digest now ships as multipart HTML + plain-text fallback. Inline-styled table layout, table-cell bar chart for daily volume, no remote images. Renders cleanly in Gmail, Outlook, Apple Mail.
  • Added: WooCommerce status tile + kill switch on the Dashboard. When WC is detected, a tile shows the integration status with a one-click toggle to share or stop sharing cart context with the bot.
  • Added: Advanced settings on the AI Provider tab. Model, temperature, and max-tokens are now editable from the admin — previously they were configurable only via direct database edits.
  • Improved: Quick Setup checklist on the Dashboard expanded from 2 to 5 progressive steps with state-aware checkmarks (AI agent Knowledge Design Proactive trigger Analytics review). New admins discover the long tail of features without exploring the menu.
  • Improved: Admin tab order rearranged to match the actual setup flow — Dashboard AI Agent Knowledge AI Provider Design Analytics Leads Chat Logs Usage Privacy. Previously Analytics appeared second, before users had anything to analyze.
  • Improved: Leads and Chat Logs tabs now use the same 7/30/90/all-time period filter as Analytics, with the single-date input available alongside for ad-hoc lookups. Consistent date filtering across the whole admin.

1.5.1

  • Fixed: “Delete chat” and “Delete all chats” now cascade to the leads table — admins reasonably expect deleting a conversation to remove every byte of PII derived from it (GDPR erasure compliance).
  • Fixed: proactive trigger no longer auto-opens the widget when bring-your-own-key mode is selected but no provider API key is configured. The visitor used to see “Your X API key is not configured” the moment they typed; now the widget stays closed until the admin fixes the config.
  • Fixed: per-page prompt shortcode [kanom_chatbot prompt="..."] now also emits its override when the shortcode renders after wp_footer (late template parts, FSE comment-area blocks, etc.). Previously the override was silently dropped in that edge case.
  • Fixed: analytics “potentially unresolved” detection now ships seed phrases for Spanish, French, German, Italian, and Portuguese. Plus a new kanom_unresolved_phrases filter to extend the list. Previously non-English sites reported 0% unresolved regardless of bot performance.
  • Fixed: lead-intent threshold lowered for CJK / Arabic / Hangul / Hebrew scripts (6 chars instead of 12) — those scripts pack more meaning per character, so the previous threshold dropped real intents like “退货政策?” as too short.
  • Fixed: CSV exports now sanitize cells starting with =, +, -, @, tab, or carriage return so they can’t execute as formulas when an admin opens the file in Excel/Google Sheets.
  • Fixed: ternary precedence bug in proactive_message length truncation (functional impact was small but the code was wrong).
  • Fixed: analytics cache is now busted when an admin deletes a chat or all chats — previously the Analytics tab kept showing the deleted data for up to 5 minutes.
  • Fixed: orphan kanom_paid_license_notice option is now cleaned up on uninstall.
  • Removed: dead wp_ajax_kanom_send_message handler — it was registered but never reachable (no client code called it and its nonce was never created). Removed to avoid future foot-guns.
  • Improved: AI Agent “Generated System Prompt” preview now shows two panes — the static base prompt AND a live preview that includes site-aware retrieval and WooCommerce cart context for a sample question you can edit. The static-only preview was misleading admins about what the AI actually receives.
  • Docs: pruned the Roadmap to remove already-shipped features (lead capture, analytics, WooCommerce, multilingual via filter). Removed CRM-webhook and calendar-booking claims from the use-case section since those aren’t actually shipped. Installation instructions now reference “AI Agent” (the current tab name) instead of the old “Business” tab.

1.5.0

  • Added: Analytics admin tab. KPI tiles (conversations / lead conversion / avg messages per chat / potentially-unresolved %), each compared vs. the previous period. Inline SVG charts for daily volume and time-of-day. Top topics + top phrases extracted locally from visitor messages (no LLM cost). Top pages by chat volume. Period selector for last 7/30/90 days.
  • Added: Weekly analytics digest. Monday-morning plain-text email to the lead notification address summarizing last week’s chats, leads, top topic, top page, and deltas vs. the prior week. Toggle in AI Agent Lead capture. Skipped silently when there’s no activity to report.
  • Added: 5-minute transient cache on the analytics payload so opening the Analytics tab repeatedly is cheap, and the weekly digest reuses the same code path.

1.4.0

  • Added: per-page system prompt override via the shortcode — [kanom_chatbot prompt="On this page, focus on shipping questions"]. Length-capped, tag-stripped, framed as data so visitors can’t prompt-inject through it. Great for landing-page A/B testing.
  • Added: WooCommerce cart context. When WC is active and the visitor has items in their cart, the bot’s system prompt automatically gets a CURRENT CART section (names + quantities, no prices). Reads server-side from WC()->cart so page-caching doesn’t leak someone else’s cart.
  • Added: proactive trigger in the Design tab. Pick time-on-page (seconds), scroll-depth (%), or exit-intent, plus a greeting message. Fires once per session; suppressed if the visitor has already engaged.
  • Added: “Test retrieval” panel in the Knowledge tab. Type a query, see exactly which chunks would be injected and at what relevance score — useful for debugging “why doesn’t the bot find my FAQ?”.

1.3.0

  • Added: site-aware answers (RAG). The chatbot now retrieves the most relevant snippets from your real site content — pages, posts, products, or any custom post type — and feeds them to the AI on every chat. New “Knowledge” admin tab with post-type pickers, a reindex button, and live stats. Search uses MySQL FULLTEXT — no external service, no per-query cost, no API key required. New & edited posts are auto-indexed via save_post hooks.
  • Reserved an embedding column in the chunks table for a future vector-similarity upgrade — no schema migration will be needed when it ships.

1.2.0

  • Added: lead capture. When a visitor shares an email in chat, Kanom now saves a structured lead (email, name, intent, page, transcript) and emails the admin a copy. New “Leads” admin tab lists everything captured with date/email search, transcript view, and CSV export. Enabled by default; toggle in AI Agent Lead capture.
  • Added: schema auto-migrate on update. The plugin now bumps its DB version on update and runs dbDelta automatically, so new tables ship without requiring a deactivate/reactivate cycle.

1.1.0

  • Added: optional bring-your-own-key routing via the WordPress AI Client and the new Connectors API (WordPress 7.0). Pick OpenAI, Anthropic, or Google in the new “AI Provider” tab and chat traffic bypasses the hosted proxy and monthly message limits entirely. Hosted AI remains the default.
  • Tested against WordPress 7.0.
  • Removed “Documentation” and “Support forum” links from the plugin row on the Plugins page; “Visit plugin site” still links to the docs.

1.0.4

  • Added a “Check for existing license” button on Usage & Billing. Useful after reinstalling the plugin on a site that already has a license attached on the server.
  • Added a “Resend license email” action in the admin notice shown when a paid license is already attached to the site — for admins who lost their original welcome email.
  • Disabled the “Re-check now” button when no license key is in the input.

1.0.3

  • Added “Visit plugin site”, “Documentation”, and “Support forum” links to the plugin row on the Plugins admin page.

1.0.2

  • Fixed: a site with an active paid license could be issued a duplicate free trial after re-installing the plugin. The server now detects existing paid licenses and the plugin shows an admin notice asking the admin to paste their existing license key.

1.0.1

  • Expanded the plugin description with use cases and free-plan information.
  • Added a Frequently Asked Questions section to the wp.org plugin page.
  • Shortened the WP admin menu label to “Kanom Chatbot”.

1.0.0

  • Initial release.