{"id":326124,"date":"2026-06-30T13:17:52","date_gmt":"2026-06-30T13:17:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/lancedesk-ai-chatbot\/"},"modified":"2026-06-30T15:14:41","modified_gmt":"2026-06-30T15:14:41","slug":"lancedesk-ai-chatbot","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/lancedesk-ai-chatbot\/","author":20992349,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.9","stable_tag":"1.2.9","tested":"7.0","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"LanceDesk AI Chatbot","header_author":"Lance Desk","header_description":"AI chatbot that answers from your site content with rules, guardrails, multi-provider AI, analytics, and a frontend widget.","assets_banners_color":"","last_updated":"2026-06-30 15:14:41","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/lancedesk\/lancedesk-ai-chatbot","header_author_uri":"https:\/\/lancedesk.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":33,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.8":{"tag":"1.2.8","author":"lancedesk","date":"2026-06-30 13:17:11"},"1.2.9":{"tag":"1.2.9","author":"lancedesk","date":"2026-06-30 15:14:41"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.8","1.2.9"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,1320,2364,1643,1104],"plugin_category":[],"plugin_contributors":[231774],"plugin_business_model":[],"class_list":["post-326124","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-assistant","plugin_tags-chatbot","plugin_tags-faq","plugin_tags-support","plugin_contributors-lancedesk","plugin_committers-lancedesk"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/lancedesk-ai-chatbot.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>LanceDesk AI Chatbot provides a content-aware chat widget, admin rules and guardrails, analytics, safeguarding alerts, and multi-provider AI (Groq, OpenAI, Claude) with automatic fallback.<\/p>\n\n<p>The chatbot answers from <strong>your<\/strong> WordPress content \u2014 not a generic knowledge base. Under <strong>Content Sources<\/strong>, you choose which published content types to index (posts, pages, WooCommerce products, custom post types, and more), plus optional external URLs.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>RAG-style answers from published <strong>posts<\/strong>, <strong>pages<\/strong>, and any enabled <strong>custom post types<\/strong> (including <strong>WooCommerce products<\/strong> when WooCommerce is active)<\/li>\n<li>Automatic detection of FAQ-style post types for better Q&amp;A matching<\/li>\n<li>External knowledge URLs (for example registration or event pages) fetched into context<\/li>\n<li>Rules engine for behavior, scope, knowledge, guardrails, and fallbacks with live prompt preview<\/li>\n<li>Multilingual follow-ups with session conversation history<\/li>\n<li>Multi-provider AI (Groq, OpenAI, Claude) with automatic fallback and encrypted API keys<\/li>\n<li>Frontend widget with shadow DOM, custom avatar, live appearance preview, and mobile layout<\/li>\n<li>Page display rules, per-visitor rate limits, and optional session feedback on close<\/li>\n<li>Analytics dashboard with KPIs, charts, top questions, provider usage, and country breakdown<\/li>\n<li>Conversation logs with search, thread view, CSV export, and safeguarding flags<\/li>\n<li>Session feedback admin, keyword safeguarding alerts, GDPR log retention, and weekly usage digest email<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to third-party services only when you configure them. You must supply your own API keys for AI providers. No AI requests are sent until you add keys and enable the chatbot.<\/p>\n\n<h4>Groq<\/h4>\n\n<p>Used for AI chat completions when Groq is configured in <strong>AI Providers<\/strong>.<\/p>\n\n<p><strong>Data sent:<\/strong> The visitor's chat message, compiled system prompt, relevant site content excerpts (RAG context), and recent session messages when needed for follow-ups.<\/p>\n\n<p><strong>When:<\/strong> Each time a visitor sends a chat message and Groq is the active provider in the fallback chain.<\/p>\n\n<p><strong>Links:<\/strong> <a href=\"https:\/\/groq.com\/terms-of-use\">Terms of use<\/a>, <a href=\"https:\/\/groq.com\/privacy-policy\">Privacy policy<\/a><\/p>\n\n<h4>OpenAI<\/h4>\n\n<p>Used for AI chat completions when OpenAI is configured in <strong>AI Providers<\/strong>.<\/p>\n\n<p><strong>Data sent:<\/strong> The visitor's chat message, compiled system prompt, relevant site content excerpts (RAG context), and recent session messages when needed for follow-ups.<\/p>\n\n<p><strong>When:<\/strong> Each time a visitor sends a chat message and OpenAI is the active provider in the fallback chain.<\/p>\n\n<p><strong>Links:<\/strong> <a href=\"https:\/\/openai.com\/policies\/terms-of-use\">Terms of use<\/a>, <a href=\"https:\/\/openai.com\/policies\/privacy-policy\">Privacy policy<\/a><\/p>\n\n<h4>Anthropic (Claude)<\/h4>\n\n<p>Used for AI chat completions when Claude is configured in <strong>AI Providers<\/strong>.<\/p>\n\n<p><strong>Data sent:<\/strong> The visitor's chat message, compiled system prompt, relevant site content excerpts (RAG context), and recent session messages when needed for follow-ups.<\/p>\n\n<p><strong>When:<\/strong> Each time a visitor sends a chat message and Claude is the active provider in the fallback chain.<\/p>\n\n<p><strong>Links:<\/strong> <a href=\"https:\/\/www.anthropic.com\/legal\/consumer-terms\">Terms of use<\/a>, <a href=\"https:\/\/www.anthropic.com\/legal\/privacy\">Privacy policy<\/a><\/p>\n\n<h4>External Knowledge URLs<\/h4>\n\n<p>Administrators may add public URLs under <strong>Content Sources<\/strong>. The plugin fetches those pages server-side to extract text for chat context.<\/p>\n\n<p><strong>Data sent:<\/strong> HTTP requests from your WordPress server to the URLs you configure. No visitor personal data is sent unless it appears in the fetched page content.<\/p>\n\n<p><strong>When:<\/strong> During content cache refresh and when building context for chat replies.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install from the WordPress plugin directory.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Open <strong>AI Chatbot \u2192 AI Providers<\/strong> and add at least one API key.<\/li>\n<li>Configure rules, content sources, and appearance under <strong>AI Chatbot<\/strong>.<\/li>\n<li>Enable the chatbot under <strong>AI Chatbot \u2192 Settings<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20ai%20providers%20are%20supported%3F\"><h3>Which AI providers are supported?<\/h3><\/dt>\n<dd><p>Groq, OpenAI, and Anthropic Claude. Configure priority order and fallback in <strong>AI Providers<\/strong>.<\/p><\/dd>\n<dt id=\"does%20the%20chatbot%20use%20my%20site%20content%3F\"><h3>Does the chatbot use my site content?<\/h3><\/dt>\n<dd><p>Yes. Published content from post types you enable under <strong>AI Chatbot \u2192 Content Sources<\/strong> is indexed and injected into prompts (RAG-style context).<\/p><\/dd>\n<dt id=\"what%20site%20content%20can%20the%20chatbot%20use%3F\"><h3>What site content can the chatbot use?<\/h3><\/dt>\n<dd><p>Enable any <strong>public<\/strong> post type under <strong>Content Sources<\/strong>. Common examples:<\/p>\n\n<ul>\n<li><strong>Posts<\/strong> and <strong>Pages<\/strong> (WordPress core)<\/li>\n<li><strong>WooCommerce products<\/strong> when WooCommerce is installed (<code>product<\/code> appears in the list like other public types)<\/li>\n<li><strong>Custom post types<\/strong> your theme or plugins register as public (events, portfolio, documentation, CPTs, etc.)<\/li>\n<li><strong>FAQ-style post types<\/strong> when detected automatically (for example types with \u201cfaq\u201d in the slug or label)<\/li>\n<li><strong>External Knowledge URLs<\/strong> you add manually (public pages on other domains, such as registration or ticketing sites)<\/li>\n<\/ul>\n\n<p>Only <strong>published<\/strong> content is indexed. You can exclude specific post IDs and refresh the content cache after site changes.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20use%20the%20wordpress%20ai%20client%3F\"><h3>Does this plugin use the WordPress AI Client?<\/h3><\/dt>\n<dd><p>Not in the current release. This plugin connects to AI providers you configure directly (Groq, OpenAI, Anthropic) so each site owner can supply API keys, choose provider priority, and use automatic fallback. WordPress core AI Client support (WordPress 7.0+) may be added in a future version once it is available on this plugin\u2019s minimum WordPress version.<\/p><\/dd>\n<dt id=\"what%20data%20does%20the%20plugin%20store%20locally%3F\"><h3>What data does the plugin store locally?<\/h3><\/dt>\n<dd><p>The plugin stores conversation logs on your WordPress site, including visitor messages, bot replies, page URL, a hashed IP address, optional country code (from server\/CDN headers), session IDs, and feedback ratings. Retention can be configured under General Settings. API keys you enter are encrypted before storage.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.9<\/h4>\n\n<ul>\n<li>Fetch Groq, OpenAI, and Claude model lists dynamically from each provider API (cached 12 hours).<\/li>\n<li>Add Refresh Models button on AI Providers; successful connection tests also refresh the list.<\/li>\n<li>Mark deprecated Groq Llama 3.3 70B Versatile in the dropdown; change default Groq model for new installs.<\/li>\n<\/ul>\n\n<h4>1.2.8<\/h4>\n\n<ul>\n<li>Inline check_ajax_referer in each admin AJAX handler for Plugin Check compatibility.<\/li>\n<li>Disable dashboard rating prompt permanently; remove unused admin CSS.<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>WordPress.org review: verify REST nonce in permission_callback; remove file-level PHPCS nonce suppression from admin AJAX.<\/li>\n<li>Remove admin Upgrade Pro link, dashboard plugin rating prompt, and admin footer branding (Guideline 11).<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Rewrite site overview prompt text in natural language so replies do not quote indexing or chat-context metadata.<\/li>\n<li>Add default behavior rule for human-like tone; strengthen system prompt voice instructions.<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Improve WooCommerce product discovery: enrich product chunks with price, categories, and descriptions.<\/li>\n<li>Add content inventory summary to AI prompts (published vs indexed counts per content type).<\/li>\n<li>Improve context ranking for catalog questions (products, shop, merchandise) with post-type boosting and diverse fallback.<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Expand readme with content-source examples (posts, pages, WooCommerce products, custom post types) and WordPress AI Client FAQ.<\/li>\n<li>Document completed security nonce audit for admin AJAX and public REST endpoints.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>WordPress.org review fixes: powered-by opt-in default off, external services readme, enqueued admin JS, Chart.js update, rate-limit IP hardening, provider legal links in admin.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Wire weekly usage digest email to WordPress cron with 7-day KPIs, top questions, and safeguarding flags.<\/li>\n<li>Update README feature list to reflect shipped functionality.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fix appearance live preview so custom bot avatars show immediately on load and when selected from the media library.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Add External Knowledge URLs under Content Sources for public off-site pages such as registration or event platforms.<\/li>\n<li>Seed knowledge rule for registration, fees, and event date questions using external context.<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Add appearance controls for header avatar circle background color and opacity.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Split appearance colors for open panel and minimized launcher button.<\/li>\n<li>Center default avatar icon in appearance settings preview.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Fix fatal error on frontend pages caused by undefined LD_ACFW_PLUGIN_DIR constant.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fix mobile chat widget to use full viewport height with input pinned to the bottom.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Production release: encrypted API keys, CI (PHPCS + PHPUnit), log pagination, and release ZIP build script.<\/li>\n<\/ul>\n\n<h4>0.9.0<\/h4>\n\n<ul>\n<li>Add appearance editor with live preview, page display rules, safeguarding workflow, and maintenance tools.<\/li>\n<\/ul>\n\n<h4>0.8.0<\/h4>\n\n<ul>\n<li>Add session feedback admin UI, plugin rating prompt, and feedback-on-close widget option.<\/li>\n<\/ul>\n\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>Add analytics dashboard with Chart.js, searchable logs table, thread drawer, and CSV export.<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Add frontend chat widget with shadow DOM, REST message\/feedback endpoints, logging, and rate limits.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Add rules engine with CRUD, bulk actions, system prompt compiler, and preview modal.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Add RAG context builder with dynamic post-type indexing, keyword relevance, and cache refresh.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Add multi-provider AI router (Groq, OpenAI, Claude) with fallback chain and test connection AJAX.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Phase 1 scaffolding: database tables, admin shell, settings, dynamic content sources list.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial repository scaffolding and build plan.<\/li>\n<\/ul>","raw_excerpt":"AI chatbot powered by site content, custom rules, and multi-provider AI.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/326124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=326124"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lancedesk"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=326124"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=326124"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=326124"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=326124"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=326124"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=326124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}