{"id":361992,"date":"2026-08-31T14:23:48","date_gmt":"2026-08-31T14:23:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pivra-ai-chatbot\/"},"modified":"2026-08-31T14:23:36","modified_gmt":"2026-08-31T14:23:36","slug":"pivra-ai-chatbot","status":"publish","type":"plugin","link":"https:\/\/kn.wordpress.org\/plugins\/pivra-ai-chatbot\/","author":23548694,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Pivra AI Chatbot","header_author":"Pivra","header_description":"Securely connect and display your Pivra AI chatbot on a WordPress site using a one-time setup code.","assets_banners_color":"51452e","last_updated":"2026-08-31 14:23:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pivra.ai\/help\/install-widget","header_author_uri":"https:\/\/pivra.ai","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"pivra","date":"2026-08-31 14:23:36","revision":3674429}},"upgrade_notice":{"1.0.1":"<p>WordPress.org compatibility cleanup with no change to connection, widget, credential, or health-check behaviour.<\/p>","1.0.0":"<p>Recommended security and robustness upgrade. Download from the Pivra Install screen and upload over the previous version, then run <strong>Check connection now<\/strong>.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3674425,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3674425,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3674425,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3674425,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3674425,"resolution":"1","location":"assets","locale":"","width":1200,"height":675},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3674425,"resolution":"2","location":"assets","locale":"","width":1200,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3674425,"resolution":"3","location":"assets","locale":"","width":1200,"height":900}},"screenshots":{"1":"Connect a published Pivra chatbot with a one-time setup code\u2014no theme editing required.","2":"Review the connected chatbot, embed host and latest health check from WordPress settings.","3":"A remotely disabled installation clearly stops widget delivery and explains how to reconnect."}},"plugin_section":[],"plugin_tags":[191735,2369,337,2379,160026],"plugin_category":[],"plugin_contributors":[278498],"plugin_business_model":[],"class_list":["post-361992","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-chatbot","plugin_tags-customer-support","plugin_tags-lead-generation","plugin_tags-live-chat","plugin_tags-wordpress-chatbot","plugin_contributors-pivra","plugin_committers-pivra"],"banners":{"banner":"https:\/\/ps.w.org\/pivra-ai-chatbot\/assets\/banner-772x250.png?rev=3674425","banner_2x":"https:\/\/ps.w.org\/pivra-ai-chatbot\/assets\/banner-1544x500.png?rev=3674425","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pivra-ai-chatbot\/assets\/icon-128x128.png?rev=3674425","icon_2x":"https:\/\/ps.w.org\/pivra-ai-chatbot\/assets\/icon-256x256.png?rev=3674425","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/pivra-ai-chatbot\/assets\/screenshot-1.png?rev=3674425","caption":"Connect a published Pivra chatbot with a one-time setup code\u2014no theme editing required."},{"src":"https:\/\/ps.w.org\/pivra-ai-chatbot\/assets\/screenshot-2.png?rev=3674425","caption":"Review the connected chatbot, embed host and latest health check from WordPress settings."},{"src":"https:\/\/ps.w.org\/pivra-ai-chatbot\/assets\/screenshot-3.png?rev=3674425","caption":"A remotely disabled installation clearly stops widget delivery and explains how to reconnect."}],"raw_content":"<!--section=description-->\n<p>Pivra AI Chatbot connects your published <a href=\"https:\/\/pivra.ai\">Pivra<\/a> assistant to a WordPress site.<\/p>\n\n<ul>\n<li>One-time setup code (expires in 30 minutes, single use, stored hashed by Pivra)<\/li>\n<li>No theme file edits \u2014 the plugin loads the official Pivra popup script<\/li>\n<li>Remote disable from the Pivra dashboard (hourly health check)<\/li>\n<li>Strict allowlists for API and embed hosts (<code>*.pivra.ai<\/code> over HTTPS only)<\/li>\n<li>Capability checks, nonces, sanitised storage, and connect rate limiting<\/li>\n<\/ul>\n\n<h4>External services and data sent<\/h4>\n\n<p>This plugin is a connector for Pivra's hosted software service. It communicates only after a WordPress administrator chooses to connect a Pivra chatbot with a one-time setup code.<\/p>\n\n<p>The plugin sends requests to <code>https:\/\/api.pivra.ai<\/code> in these circumstances:<\/p>\n\n<ul>\n<li><strong>Connect:<\/strong> exchanges the administrator-provided one-time setup code and the site's public URL\/domain for a site-scoped credential and public widget configuration.<\/li>\n<li><strong>Health check:<\/strong> approximately hourly, and whenever an administrator selects <strong>Check connection now<\/strong>, sends the site-scoped identifier and credential, site URL\/domain, and plugin version so Pivra can confirm that the installation remains enabled and record connection health.<\/li>\n<li><strong>Disconnect:<\/strong> sends the site-scoped identifier and credential plus the site URL\/domain so Pivra can disable the installation.<\/li>\n<\/ul>\n\n<p>Every API request also identifies the plugin version, WordPress version, PHP version, and site URL in its HTTP User-Agent header. Pivra uses these fields for credential\/domain validation, compatibility support, security investigation, connection health, remote disable, and installation diagnostics. They are not used by the plugin for advertising or unrelated tracking.<\/p>\n\n<p>The public visitor browser loads the chatbot service script from the allowlisted HTTPS embed host returned by Pivra, normally <code>https:\/\/embed.pivra.ai<\/code>. It receives the public chatbot identifier and, when configured, a public widget key. Visitor conversations are handled by Pivra rather than stored in WordPress.<\/p>\n\n<p>The raw setup code is never retained by Pivra after exchange; Pivra stores a one-way hash and minimal audit metadata. WordPress stores the site-scoped credential until disconnect or uninstall. Pivra retains the installation record, domain, version and heartbeat history while the customer account is active and may retain a disabled record after disconnect for security and operational history. Account deletion or a verified deletion request removes data subject to legal, fraud-prevention, backup and dispute obligations described in the Pivra Privacy Policy. Contact <code>support@pivra.ai<\/code> for deletion or retention questions.<\/p>\n\n<p>Use of the service is governed by:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/pivra.ai\/terms\">Terms<\/a><\/li>\n<li><a href=\"https:\/\/pivra.ai\/privacy\">Privacy<\/a><\/li>\n<\/ul>\n\n<p>No WordPress admin passwords or private API keys are stored by this plugin. A site-scoped token is stored in WordPress options (autoload disabled) for health checks and disconnect.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Download the plugin ZIP from <strong>Pivra \u2192 Dashboard \u2192 Install \u2192 WordPress<\/strong>, or upload the <code>pivra-ai-chatbot<\/code> folder.<\/li>\n<li>In WordPress go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>, choose the ZIP, and activate.<\/li>\n<li>Open <strong>Settings \u2192 Pivra AI Chatbot<\/strong>.<\/li>\n<li>In Pivra, open <strong>Dashboard \u2192 Install \u2192 WordPress<\/strong>, ensure the chatbot is <strong>Active\/Published<\/strong>, and click <strong>Generate setup code<\/strong>.<\/li>\n<li>Paste the code into WordPress and click <strong>Connect Pivra<\/strong>.<\/li>\n<li>Visit your public site and confirm the chat bubble appears. In Pivra, confirm the site shows as healthy.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20edit%20theme%20files%3F\"><h3>Do I need to edit theme files?<\/h3><\/dt>\n<dd><p>No. Prefer this plugin over pasting a snippet into the theme footer.<\/p><\/dd>\n<dt id=\"what%20if%20connection%20fails%3F\"><h3>What if connection fails?<\/h3><\/dt>\n<dd><p>Confirm the chatbot is published, the code has not expired, and your server can make outbound HTTPS requests to <code>api.pivra.ai<\/code>. After five failed attempts, the plugin locks connect for 15 minutes.<\/p><\/dd>\n<dt id=\"can%20pivra%20disable%20the%20widget%20remotely%3F\"><h3>Can Pivra disable the widget remotely?<\/h3><\/dt>\n<dd><p>Yes. From Pivra Dashboard \u2192 Install \u2192 WordPress you can disable the installation. The plugin stops loading the widget after the next health check (or immediately after <strong>Check connection now<\/strong>).<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20store%20visitor%20chat%20messages%20in%20wordpress%3F\"><h3>Does this plugin store visitor chat messages in WordPress?<\/h3><\/dt>\n<dd><p>No. Conversations are handled by Pivra's hosted service.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Remove the legacy manual translation loader; WordPress loads directory translations automatically.<\/li>\n<li>Prefix multisite uninstall variables to satisfy WordPress coding standards.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Production-ready modular plugin<\/li>\n<li>Strict UUID \/ token \/ embed-host validation<\/li>\n<li><code>wp_enqueue_script<\/code> + deferred popup loading<\/li>\n<li>Connect attempt lockout after repeated failures<\/li>\n<li>Clear enabled vs remotely-disabled admin status<\/li>\n<li>Manual health check action<\/li>\n<li>Complete uninstall cleanup (including multisite)<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Initial connect code + heartbeat flow<\/li>\n<\/ul>","raw_excerpt":"Securely connect your Pivra AI chatbot to WordPress with a one-time setup code. No theme edits.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/361992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=361992"}],"author":[{"embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pivra"}],"wp:attachment":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=361992"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=361992"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=361992"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=361992"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=361992"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=361992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}