{"id":349122,"date":"2026-11-11T14:26:52","date_gmt":"2026-11-11T14:26:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/botpar\/"},"modified":"2026-11-11T15:41:08","modified_gmt":"2026-11-11T15:41:08","slug":"botpar","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/botpar\/","author":23542596,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.2","stable_tag":"1.2.2","tested":"7.1.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"BotPar","header_author":"BotPar","header_description":"Embeddable AI assistant for your site. Paste the public key from your BotPar panel and you are done.","last_updated":"2026-11-11 15:41:08","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/botpar.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":112,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.1":{"tag":"1.2.1","author":"botpar","date":"2026-11-11 14:26:38","revision":3796496},"1.2.2":{"tag":"1.2.2","author":"botpar","date":"2026-11-11 15:41:08","revision":3796623}},"upgrade_notice":{"1.2.2":"<p>Fixes the privacy policy and terms links in the suggested privacy policy text. If you copied that text into your site, update the links.<\/p>","1.2.1":"<p>Fixes the links to the terms of service and privacy policy. Tested up to WordPress 7.1.<\/p>","1.2.0":"<p>Fixes a data leak between visitors when &quot;auto-identify logged-in users&quot; is combined with a caching plugin. Adds a connection test button. Updating is recommended.<\/p>","1.1.0":"<p>Rebrand to BotPar plus auto-identify for logged-in WordPress users (the agent sees who is writing).<\/p>","1.0.2":"<p>Fixes a CORS\/404 error on the config endpoint. If the widget did not appear on 1.0.1, update.<\/p>","1.0.1":"<p>Critical loader URL fix. If you installed 1.0.0 and the widget did not appear, update.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3796496,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3796496,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3796496,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3796496,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"botpar\/widget":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"botpar\/widget","title":"BotPar","category":"widgets","icon":"format-chat","description":"Makes the BotPar chat button appear on this page.","keywords":["chat","bot","assistant","support","botpar"],"textdomain":"botpar","supports":{"html":false,"multiple":false,"reusable":false,"customClassName":false},"editorScript":"file:.\/editor.js"}},"tagged_versions":["1.2.1","1.2.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3796496,"resolution":"1","location":"assets","locale":"","width":2560,"height":1800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3796496,"resolution":"2","location":"assets","locale":"","width":2560,"height":1800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3796623,"resolution":"3","location":"assets","locale":"","width":2560,"height":1800}},"screenshots":{"1":"Plugin settings: paste the public key and choose where the widget appears.","2":"The BotPar block in the editor, to place the chat on a specific page.","3":"Connection status under Tools \u2192 Site Health."}},"plugin_section":[],"plugin_tags":[2353,5707,2364,2369,10916],"plugin_category":[41],"plugin_contributors":[292048],"plugin_business_model":[],"class_list":["post-349122","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-chat","plugin_tags-chatbot","plugin_tags-customer-support","plugin_tags-livechat","plugin_category-communication","plugin_contributors-botpar","plugin_committers-botpar"],"banners":{"banner":"https:\/\/ps.w.org\/botpar\/assets\/banner-772x250.png?rev=3796496","banner_2x":"https:\/\/ps.w.org\/botpar\/assets\/banner-1544x500.png?rev=3796496","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/botpar\/assets\/icon-128x128.png?rev=3796496","icon_2x":"https:\/\/ps.w.org\/botpar\/assets\/icon-256x256.png?rev=3796496","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/botpar\/assets\/screenshot-1.png?rev=3796496","caption":"Plugin settings: paste the public key and choose where the widget appears."},{"src":"https:\/\/ps.w.org\/botpar\/assets\/screenshot-2.png?rev=3796496","caption":"The BotPar block in the editor, to place the chat on a specific page."},{"src":"https:\/\/ps.w.org\/botpar\/assets\/screenshot-3.png?rev=3796623","caption":"Connection status under Tools \u2192 Site Health."}],"raw_content":"<!--section=description-->\n<p>BotPar puts an AI assistant on your WordPress site in under a minute. It answers using the knowledge base you load from your panel (URLs, PDFs, SQL connectors), escalates to a human when needed, and matches your branding.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Conversational AI assistant (not rigid decision trees).<\/li>\n<li>Per-widget knowledge base (URLs, PDFs, connectors).<\/li>\n<li>Fully custom branding (color, logo, position).<\/li>\n<li>Live chat with escalation to a human agent.<\/li>\n<li>Multi-language.<\/li>\n<li>Per-widget domain allowlist.<\/li>\n<\/ul>\n\n<p><strong>How it works<\/strong><\/p>\n\n<ol>\n<li>Create an account at <a href=\"https:\/\/botpar.com\">botpar.com<\/a> and set up your first widget.<\/li>\n<li>Copy the widget's <em>public key<\/em> (it looks like <code>widget_pk_\u2026<\/code>).<\/li>\n<li>Install this plugin and paste the key in <em>Settings \u2192 BotPar<\/em>.<\/li>\n<li>The widget shows up on the front end of your site.<\/li>\n<\/ol>\n\n<p><strong>Privacy<\/strong><\/p>\n\n<ul>\n<li>The plugin only injects a <code>&lt;script&gt;<\/code> tag carrying your public key. WordPress itself does not send data to any server, with one exception: the <em>Test connection<\/em> button in the settings screen, which you trigger manually.<\/li>\n<li>Visitor conversations go straight from the browser to the BotPar backend. They never pass through your WordPress install.<\/li>\n<li>If you enable \"auto-identify logged-in users\", the plugin passes the WordPress user's email and display name to the widget so the human agent can see who is writing.<\/li>\n<li>The plugin contributes suggested text for your site's privacy policy. You will find it under <em>Settings \u2192 Privacy \u2192 Privacy Policy Guide<\/em>, ready to review and adapt.<\/li>\n<li>Because conversations are not stored in your WordPress database, WordPress's personal data export and erase tools do not reach them. Access and deletion requests are handled from your BotPar panel.<\/li>\n<\/ul>\n\n<p><strong>External service<\/strong><\/p>\n\n<p>This plugin integrates with <a href=\"https:\/\/botpar.com\">BotPar<\/a>, a separate SaaS product. The widget script is loaded from <code>widget.botpar.com<\/code> and conversations are sent to <code>app.botpar.com<\/code>. An account is required. Terms: <a href=\"https:\/\/botpar.com\/terms-of-service\">https:\/\/botpar.com\/terms-of-service<\/a>. Privacy policy: <a href=\"https:\/\/botpar.com\/privacy-policy\">https:\/\/botpar.com\/privacy-policy<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>botpar\/<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it from <em>Plugins \u2192 Add New<\/em> and search for \"BotPar\".<\/li>\n<li>Activate the plugin from <em>Plugins<\/em>.<\/li>\n<li>Go to <em>Settings \u2192 BotPar<\/em>.<\/li>\n<li>Paste your <em>public key<\/em> and save.<\/li>\n<li>Visit your site: the widget appears in the bottom-right corner.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20account%20to%20use%20the%20plugin%3F\"><h3>Do I need an account to use the plugin?<\/h3><\/dt>\n<dd><p>Yes. The plugin only embeds the widget; the bot itself runs on the BotPar service.<\/p><\/dd>\n<dt id=\"is%20there%20a%20free%20plan%3F\"><h3>Is there a free plan?<\/h3><\/dt>\n<dd><p>Yes. The Free plan includes 100 conversations per month and 1 widget.<\/p><\/dd>\n<dt id=\"how%20do%20i%20control%20where%20the%20widget%20appears%3F\"><h3>How do I control where the widget appears?<\/h3><\/dt>\n<dd><p>You have four ways, and they combine:<\/p>\n\n<ul>\n<li><strong>Excluded paths<\/strong>: one path per line, with <code>*<\/code> supported as a trailing wildcard (for example <code>\/legal\/*<\/code>).<\/li>\n<li><strong>Excluded post types<\/strong>: tick the ones you want (posts, pages, products\u2026) and the widget will not appear when viewing them.<\/li>\n<li><strong>Hide on mobile<\/strong> or <strong>hide from logged-in users<\/strong>.<\/li>\n<li><strong>Only where I place it<\/strong>: switch the <em>Where it appears<\/em> setting and the widget will show up only on pages where you add the <code>[botpar]<\/code> shortcode.<\/li>\n<\/ul><\/dd>\n<dt id=\"how%20do%20i%20use%20the%20shortcode%3F\"><h3>How do I use the shortcode?<\/h3><\/dt>\n<dd><p>In the block editor, search for <strong>BotPar<\/strong> in the block inserter and add it. In the classic editor, or if you prefer, type <code>[botpar]<\/code> in the content. Both do the same thing and neither renders anything visible on the page: they simply make the floating chat button appear.<\/p>\n\n<p>If you left <em>Where it appears<\/em> set to \"everywhere\", no shortcode is needed. The shortcode is meant for the \"only where I place it\" setting.<\/p>\n\n<p>When you place it by hand, the shortcode <strong>takes precedence<\/strong> over the path and post type exclusions: if you put it there, you want it there. It does respect \"hide from logged-in users\", because that setting is about who sees the widget rather than where it appears.<\/p><\/dd>\n<dt id=\"the%20widget%20does%20not%20show%20up%20on%20my%20site.%20what%20should%20i%20check%3F\"><h3>The widget does not show up on my site. What should I check?<\/h3><\/dt>\n<dd><p>Quickest path: go to <em>Settings \u2192 BotPar<\/em> and click <strong>Test connection<\/strong>. It tells you which of these is failing:<\/p>\n\n<ul>\n<li>The public key is copied correctly.<\/li>\n<li>Your site's domain is on the widget's allowlist in your panel (<em>Widgets \u2192 General \u2192 Domains<\/em>).<\/li>\n<li>The widget is in <em>Active<\/em> state.<\/li>\n<li>No caching plugin is serving stale HTML (purge the cache after configuring).<\/li>\n<\/ul><\/dd>\n<dt id=\"i%20already%20had%20the%20plugin%20installed%20as%20%22chat-bot-web%22.%20how%20do%20i%20migrate%3F\"><h3>I already had the plugin installed as \"chat-bot-web\". How do I migrate?<\/h3><\/dt>\n<dd><ol>\n<li>Deactivate the old plugin from <em>Plugins<\/em>.<\/li>\n<li>Delete the <code>wp-content\/plugins\/chat-bot-web\/<\/code> folder over FTP or with your host's file manager.<\/li>\n<li>Install and activate this plugin.<\/li>\n<\/ol>\n\n<p>Your settings are preserved: both versions store them under the same option key.<\/p>\n\n<p><strong>Do not use the \"Delete\" button in the WordPress plugins screen to remove the old plugin.<\/strong> That runs its uninstall routine, which erases the saved settings and you would have to enter them again. Deactivating and removing the folder by hand is safe.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. The widget appears on any front-end page, including product, cart and checkout pages. If you would rather it did not appear somewhere, exclude it under <em>Excluded paths<\/em> or <em>Excluded post types<\/em>.<\/p>\n\n<p>What it does <strong>not<\/strong> do today is sync your product catalog into the bot's knowledge base. If you want the bot to answer questions about products, load that information from your BotPar panel.<\/p><\/dd>\n<dt id=\"does%20%22auto-identify%20logged-in%20users%22%20actually%20work%3F\"><h3>Does \"auto-identify logged-in users\" actually work?<\/h3><\/dt>\n<dd><p>Yes. When enabled, and if the visitor is logged in to your WordPress site, the plugin passes their email and name to the chat: the contact shows up identified in your panel (the agent sees it) and the pre-chat form is skipped. If the widget asks for cookie consent and the visitor has not consented, no auto-identification happens.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20available%20in%20my%20language%3F\"><h3>Is the plugin available in my language?<\/h3><\/dt>\n<dd><p>The interface ships in English and Spanish. Other languages can be contributed through <a href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/botpar\/\">translate.wordpress.org<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Fixed the links to the BotPar privacy policy and terms of service in the suggested privacy policy text (Settings \u2192 Privacy \u2192 Policy Guide). If you already copied that text into your privacy policy, update both links.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed the links to the BotPar terms of service and privacy policy.<\/li>\n<li>Translations are now delivered through translate.wordpress.org instead of being bundled with the plugin.<\/li>\n<li>Tested up to WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li><strong>Security (important)<\/strong>: pages carrying a logged-in user's identity are no longer cached. Previously a caching plugin could store one user's HTML and serve it to another, leaving the chat identified with the wrong person's details. If you use \"auto-identify logged-in users\" together with a caching plugin, update.<\/li>\n<li>New <strong>Test connection<\/strong> button in Settings \u2192 BotPar: it queries the backend with your key and your domain and tells you exactly what is wrong (rotated key, domain missing from the allowlist, or a host firewall blocking outbound requests).<\/li>\n<li>The status indicator used to be meaningless: it showed a green check as soon as a key was saved, even an expired one. It now reflects the result of an actual check.<\/li>\n<li>Plugin status now appears under <strong>Tools \u2192 Site Health<\/strong>: version, backend, the domain validated against the allowlist, and the result of the last connection test. If you contact support, copying that section is enough. Site Health also warns you when the widget is not loading.<\/li>\n<li>New <strong>BotPar block<\/strong> for the editor: find it in the inserter and place it wherever you want the chat, no shortcode needed.<\/li>\n<li>New controls for <strong>where the widget appears<\/strong>: the <code>[botpar]<\/code> shortcode to place it only on the pages you choose, exclusion by post type, and options to hide it on mobile or from logged-in users. \"Hide on mobile\" works with CSS rather than server-side device detection, so it does not break under caching plugins.<\/li>\n<li>The plugin now contributes <strong>suggested privacy policy text<\/strong> for your site (<em>Settings \u2192 Privacy \u2192 Guide<\/em>): what the chat collects, what it is used for, who receives it, and how to request access or deletion. It includes a statement covering the name and email sent when auto-identification is enabled.<\/li>\n<li>New <strong>debug mode<\/strong> (optional, under <em>Settings \u2192 BotPar<\/em>): records in the PHP error log why the widget was or was not shown on each page. It ships disabled and never logs visitors' personal data.<\/li>\n<li>The \"API base\" field now requires <code>https:\/\/<\/code>.<\/li>\n<li>Clean uninstall on multisite: orphan options used to be left behind on the other sites of the network.<\/li>\n<li>Removed the \"Hide the widget in \/wp-admin\" option: it did nothing. The widget was never shown in the dashboard.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Rebranded to BotPar (botpar.com). Default hosts: <code>widget.botpar.com<\/code> (loader) and <code>app.botpar.com<\/code> (API).<\/li>\n<li>Full auto-identify: with \"auto-identify logged-in users\" enabled, the WordPress user's email and name are recorded on the conversation automatically (the agent sees them and the pre-chat form is skipped). Cookie consent from the widget is respected.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix: the snippet now always includes <code>data-api-base<\/code>. Without it the loader requested the config from the widget host and got a 404 plus a CORS error.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: the default loader now points at the correct widget host. In 1.0.0 it tried to load from the panel host and received HTML.<\/li>\n<li>The \"API base\" field no longer derives the loader URL (it is only used for <code>data-api-base<\/code>).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Snippet injection via <code>wp_footer<\/code>.<\/li>\n<li>Visibility toggles (admin, path exclusions).<\/li>\n<li>Auto-identify for logged-in users.<\/li>\n<\/ul>","raw_excerpt":"Embeddable AI assistant for your site. Paste the public key from your BotPar panel and you are done.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/349122","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=349122"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/botpar"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=349122"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=349122"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=349122"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=349122"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=349122"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=349122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}