Title: Zavora 360
Author: Royal Bengal AI
Published: <strong>Май 29, 2026-ж.</strong>
Last modified: Июнь 3, 2026-ж.

---

Плагиндерди издөө

![](https://ps.w.org/zavora-360/assets/banner-772x250.png?rev=3554017)

![](https://ps.w.org/zavora-360/assets/icon-256x256.png?rev=3553998)

# Zavora 360

 Автору [Royal Bengal AI](https://profiles.wordpress.org/mohimenol/)

[Жүктөө](https://downloads.wordpress.org/plugin/zavora-360.1.3.7.zip)

 * [Кенен маалымат](https://ky.wordpress.org/plugins/zavora-360/#description)
 * [Сын-пикирлер](https://ky.wordpress.org/plugins/zavora-360/#reviews)
 *  [Орнотуу](https://ky.wordpress.org/plugins/zavora-360/#installation)
 * [Development](https://ky.wordpress.org/plugins/zavora-360/#developers)

 [Колдоо](https://wordpress.org/support/plugin/zavora-360/)

## Сүрөттөө

This is the official Zavora 360 plugin, built and maintained by Royal Bengal AI —
the team behind the Zavora 360 Virtual Receptionist platform at [zavora360.royalbengal.ai](https://zavora360.royalbengal.ai).

Zavora 360 is a Virtual Receptionist that answers your website visitors’ questions
in real time using advanced voice technology. This plugin adds a floating “Talk 
to Us” button to your WordPress site — visitors click it, a small popup opens, and
they’re talking to your custom-trained Virtual Receptionist within seconds. As of
v1.2.0, you can also add a floating Chat button so visitors who prefer text get 
the same Virtual Receptionist in a chat window.

The agent speaks the visitor’s language (English, Hindi, Bengali, Spanish, Arabic,
French, and more), is trained on your own knowledge base, and is available 24/7.
No phone calls needed — it all runs in the browser.

#### What this plugin does

 * Adds a floating “Talk to Us” voice button to every page of your site (configurable)
 * Adds a floating Chat button alongside the voice button (v1.2.0+, independent 
   toggle)
 * Lets you place either surface mid-content with the `[zavora_360]` (voice) and`[
   zavora_360_chat]` (chat) shortcodes
 * Customize each button’s color, label, position, and size independently
 * Hide either button on specific pages, or only show on specific pages
 * Auto-detects WooCommerce and lets you hide both buttons on cart/checkout

#### Requires a Zavora 360 account

This plugin is the WordPress connector for the Zavora 360 platform. You’ll need 
an account at [zavora360.royalbengal.ai](https://zavora360.royalbengal.ai) — the
Free plan includes 10 minutes per month at no cost and no credit card.

#### Privacy and data

This plugin doesn’t collect or transmit any visitor data on its own. When a visitor
clicks the button, a popup window opens pointing to the Zavora 360 platform (zavora360.
royalbengal.ai). All voice processing happens there, under Zavora 360’s [privacy policy](https://zavora360.royalbengal.ai/privacy).

The plugin stores your API key and display preferences in your WordPress database(
wp_options table). No visitor data is stored by the plugin.

### External services

This plugin connects to the Zavora 360 platform, an external service provided by
Royal Bengal AI. The connection is required for the plugin to function — without
a valid Zavora 360 account and API key, the button will not load. The plugin does
not contact any other third-party services.

**What the plugin sends to Zavora 360:**

 * When you save an API key on the settings page, the plugin makes a single GET 
   request to `https://zavora360.royalbengal.ai/api/external/widget-config` with
   the API key in an `X-API-Key` header. This validates the key and fetches your
   account’s button configuration (label, color, position, size, plan, minute balance).
   The request also includes a `User-Agent` header in the form `Zavora360-WP/{version};{
   your-site-url}/` so the platform’s logs can distinguish plugin traffic from other
   API consumers.
 * When a visitor clicks the Talk-to-Us button, a popup window opens at `https://
   zavora360.royalbengal.ai/call?company={your-company-slug}`. The browser handles
   the voice conversation directly with the platform from that point on — the plugin
   and your WordPress server are not involved in the conversation itself.

**What the plugin does NOT send:**

 * No visitor data (name, email, IP, behavior) is sent to Zavora 360 by the plugin.
 * No post content, page content, or WordPress database content is sent.
 * No data about your other WordPress plugins or theme is sent.
 * The plugin makes no analytics, tracking, or telemetry calls of any kind.

**When the calls happen:**

 * The `widget-config` API call runs once when you save the API key on the settings
   page, and again whenever you click “Refresh config” on the same page. It does
   not run on visitor page loads — the configuration is cached in WordPress options.
 * The popup-window URL is constructed in the browser when the visitor clicks the
   button. No server-side call from your WordPress site is made at click time.

**Terms and privacy:**

 * Zavora 360 terms of service: [https://zavora360.royalbengal.ai/terms](https://zavora360.royalbengal.ai/terms)
 * Zavora 360 privacy policy: [https://zavora360.royalbengal.ai/privacy](https://zavora360.royalbengal.ai/privacy)

By using this plugin, you agree to the Zavora 360 terms of service. If you are subject
to GDPR or similar privacy regulations, you should mention Virtual Receptionist 
usage in your own site’s privacy policy.

## Орнотуу

 1. In your WordPress admin, go to **Plugins  Add New**.
 2. Search for **Zavora 360** and click **Install Now**.
 3. Click **Activate**.
 4. Go to **Settings  Zavora 360**.
 5. Paste your API key (get one from your [Zavora 360 dashboard](https://zavora360.royalbengal.ai)
    Settings  API Keys).
 6. Optionally configure button color, position, and visibility.
 7. Save. The button now appears on your website.

## FAQ.KG

### Do I need a Zavora 360 account?

Yes. This plugin is the WordPress connector for the Zavora 360 platform. Sign up
free at [zavora360.royalbengal.ai](https://zavora360.royalbengal.ai) — Free plan
includes 10 minutes per month.

### How does pricing work?

Free plan: 10 minutes per month, no credit card needed. Paid plans from $4.99/month
for more minutes plus outbound calling and call forwarding to your human team. See
[pricing](https://zavora360.royalbengal.ai/#pricing).

### Will the button work on mobile?

Yes — the floating button is responsive and the call popup works in mobile browsers.
Visitors need to allow microphone permission when prompted.

### Does this plugin slow down my site?

No noticeable impact. The plugin’s frontend footprint is a small CSS file (~2 KB)
and an HTML button. No JavaScript loads on the frontend unless a visitor actually
clicks the button.

### Where does the voice processing happen?

All voice processing happens on the Zavora 360 platform (zavora360.royalbengal.ai).
The plugin only embeds the popup link — no voice processing runs on your WordPress
server.

### Can I customize what the agent says?

Yes — in your Zavora 360 dashboard, not in WordPress. The dashboard has a Knowledge
Base section where you can add information about your business, services, FAQs, 
etc. The agent uses that to answer questions.

### Is the plugin GDPR compliant?

The plugin itself stores no visitor data. When a visitor interacts with the Virtual
Receptionist, that interaction is governed by the Zavora 360 [privacy policy](https://zavora360.royalbengal.ai/privacy).
For GDPR compliance, mention Virtual Receptionist usage in your own privacy policy
and consider a cookie/consent banner if you’re in the EU.

### Can I place the button inside a specific page, not floating?

Yes — use the shortcode `[zavora_360]` in any page or post. Optional attributes:`
label`, `color`, `size`. Example: `[zavora_360 label="Call us now" color="#dc2626"
size="large"]`.

### Cart Recovery is enabled but no calls go out on my live site — why?

Cart Recovery runs on a scheduled background task (about every 10 minutes). As of
v1.3.4 the plugin self-heals: at the end of any request to your site (an admin page,
a visitor, a bot, an uptime monitor) it will run an overdue scan in the background,
so on any normally-trafficked store recovery works automatically once you turn it
on — no setup needed. The catch is that WordPress has no internal clock; it only
runs when a request hits the site. On a brand-new or zero-traffic site with nobody
visiting and nobody logged in, nothing can trigger the scan, and you will see an
admin notice saying so. The fix for that case is a real server cron: add `define('
DISABLE_WP_CRON', true);` to `wp-config.php` (above the “stop editing” line), then
have your host call `https://YOURSITE/wp-cron.php?doing_wp_cron` every 5 minutes.
On cPanel/Plesk use the Cron Jobs tool; on a raw server add `*/5 * * * * curl -s"
https://YOURSITE/wp-cron.php?doing_wp_cron" >/dev/null 2>&1` to your crontab; on
managed WordPress hosts (Kinsta, WP Engine, SiteGround, Cloudways) use their built-
in cron manager or contact support; and if you can install plugins but not edit 
server cron, a free external service such as cron-job.org can hit that URL on a 
schedule. This is standard production hygiene for any WordPress site that depends
on scheduled tasks, not specific to this plugin.

## Сын-пикирлер

There are no reviews for this plugin.

## Contributors & Developers

“Zavora 360” is open source software. The following people have contributed to this
plugin.

Мүчөлөрү

 *   [ Royal Bengal AI ](https://profiles.wordpress.org/mohimenol/)

[Translate “Zavora 360” into your language.](https://translate.wordpress.org/projects/wp-plugins/zavora-360)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/zavora-360/), check
out the [SVN repository](https://plugins.svn.wordpress.org/zavora-360/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/zavora-360/) by 
[RSS](https://plugins.trac.wordpress.org/log/zavora-360/?limit=100&mode=stop_on_copy&format=rss).

## Өзгөртүүлөр

#### 1.3.7

 * Fix: corrected the wording on the settings screen so the configuration label 
   reads “Virtual Receptionist” in line with the rest of the product. No functional
   change to the call or chat behaviour. Cumulative — includes all 1.3.6 changes.

#### 1.3.6

 * Fix: when a visitor clicks the call button, the plugin now always confirms the
   account is still connected with a live check before opening — even if the key
   was revoked mid-visit. Previously the click could reuse a cached “connected” 
   result from earlier in the page and open anyway. The chat launcher continues 
   to appear only after the same check passes. The live check is rate-limited so
   it cannot be abused, and still fails open on a network blip so a working customer
   is never blocked. Includes the v1.3.5 auto-disconnect changes.

#### 1.3.5

 * Fix: a revoked or suspended account now removes the call and chat buttons instead
   of leaving them live. Previously, if you deleted your API key (or your account
   was suspended) on the dashboard, the site kept showing the buttons — and pressing“
   Test connection” reported the key was invalid but did nothing about it. Now Test
   connection and Refresh config disconnect the site the moment the server reports
   the key is no longer valid.
 * New: the plugin re-checks your connection automatically every hour in the background,
   so a revoked or suspended key is detected and the buttons removed on their own—
   no need to press anything.
 * New: when a visitor clicks the call button, the plugin confirms the account is
   still connected before opening; if it isn’t, the button is removed and nothing
   opens. The chat launcher is injected only after the same check passes, so a disconnected
   account shows no chat either. The check is throttled to at most once a minute
   and only ever blocks on a definitive invalid/suspended response — a brief network
   hiccup never hides the buttons from a working customer.

#### 1.3.4

 * New: Cart Recovery now self-heals. WordPress only runs scheduled tasks when a
   request hits the site and its built-in cron spawn is unreliable on quiet sites,
   so recovery could sit dormant. The plugin now runs an overdue scan in the background
   at the end of any request (after the page is sent, so no added load time), throttled
   to at most once every five minutes and locked so it never double-runs. On any
   normally-trafficked store, recovery now works automatically once enabled — the
   manual server cron is only needed for genuinely zero-traffic sites.
 * New: admin notice when Cart Recovery is enabled but the scan has not run for 
   30+ minutes (a quiet site with no real cron), with a link to the fix and a one-
   click dismiss-for-12-hours. The last scan time and summary are now stored so 
   the dormancy check (and a future settings readout) work without reading the debug
   log.
 * Docs: the cron FAQ now explains the self-heal behavior and exactly when a real
   server cron is still required.

#### 1.3.3

 * Docs: added a FAQ entry explaining how to keep Cart Recovery running on a live
   site. WordPress only runs scheduled tasks on visitor traffic, so on a quiet site
   the recovery scan can sit idle and place no calls; the FAQ walks through disabling
   traffic-triggered cron (`DISABLE_WP_CRON`) and driving `wp-cron.php` from a real
   server cron every five minutes, with guidance for cPanel/Plesk, raw servers, 
   managed WordPress hosts, and external cron services. No code or behavior change—
   documentation only.

#### 1.3.2

 * Diagnostics: the Cart Recovery scan now writes a single summary line to the WordPress
   debug log on every run, so it always reports what it did even when it places 
   no call. The line records how many checkout drafts and how many logged-in carts
   were considered, how many calls were queued, and the exact reason each candidate
   was skipped (already queued, no phone, below minimum value, already at checkout,
   empty cart). When the feature is off, the key is missing, or WooCommerce is unavailable,
   the scan now says so instead of returning silently. No behavior or calling logic
   changed — this release only makes a scan that queues nothing explain itself.

#### 1.3.1

 * New: Cart Recovery now also covers logged-in shoppers who leave a cart before
   reaching checkout, when they have a phone number saved on their account. Previously
   recovery only fired once a shopper reached checkout and entered a phone; now 
   a registered customer who adds items and leaves can be called using their account
   phone. Guests, and logged-in customers without a saved phone, are unchanged —
   for them only the checkout stage qualifies.
 * Behavior: the logged-in cart layer never double-calls. A shopper who later reaches
   checkout is handed to the checkout path (the cart call is cancelled), and completing,
   cancelling, or emptying the cart cancels a pending cart call. Because WooCommerce
   does not timestamp the cart, a cart only becomes eligible once it is touched 
   while v1.3.1 is active.

#### 1.3.0

 * New: Cart Recovery (Smart Outreach). When a shopper enters their phone at WooCommerce
   checkout but doesn’t complete the order, your Virtual Receptionist can call them
   back after a delay you choose to help them finish. Configure it on the new Cart
   Recovery tab in Plugin Settings: enable the feature, paste your Outreach API 
   key (from the Smart Outreach tab of your dashboard), set how long to wait before
   a checkout counts as abandoned, the delay before calling, an optional minimum
   cart value, and an optional context line for the call.
 * New: if the shopper completes (or cancels) the order before the scheduled call,
   the call is cancelled automatically — a customer who already bought is never 
   called.
 * Notes: Cart Recovery requires WooCommerce and only fires for checkouts where 
   a phone number was entered, in dialable international format. Detection runs 
   on an approximately 10-minute schedule, and calls are placed inside the calling
   window you set on the dashboard. Requires a Zavora 360 platform on v3.29.4 or
   later (for the outreach trigger and cancel endpoints).

#### 1.2.1

 * New: the Connection tab’s status table now shows your current chat credit balance
   alongside the existing Minutes row. The figure is fetched from the Zavora 360
   platform on Connect / Refresh, formatted in USD as “$X.XX remaining”. The row
   only appears when chat is enabled on your tenant — voice-only customers see no
   change.
 * Compatibility: requires a Zavora 360 platform on v3.11.1 or later to populate
   the chat balance figure. Against older platforms the row is silently suppressed
   and the Connection tab behaves exactly as in v1.2.0.

#### 1.2.0

 * New: Chat tab. The plugin now supports the Zavora 360 Chat Receptionist alongside
   the existing voice button. Enable chat from the new Chat tab in Plugin Settings—
   pick a button label, color, position, and an optional welcome greeting. The chat
   panel is independent from the voice button; you can run either, both, or neither.
 * New: `[zavora_360_chat]` shortcode for inline placement, mirroring the existing`[
   zavora_360]` voice shortcode. Supports per-shortcode overrides: `color`, `label`,`
   position` (br/bl/tr/tl), and `greeting`.
 * New: visitors picking from your enabled languages on the first screen of the 
   chat panel. Your tenant’s language list is fetched from the Zavora 360 platform
   on Connect / Refresh — keep it up to date by clicking Refresh on the Connection
   tab whenever you change your enabled languages on the dashboard.
 * Improvement: the Connection tab’s Refresh action now also caches the chat widget
   public key, default language, and language list locally, so the chat button renders
   without an extra round-trip per page load.
 * Compatibility: requires a Zavora 360 platform on v3.10.0 or later for the chat
   surface. The voice button continues to work against any prior platform version—
   chat-related fields are optional in the platform’s widget-config response and
   degrade gracefully when absent.

#### 1.1.4

 * Maintenance: documentation URLs for the Zavora 360 platform’s privacy policy 
   and terms of service now point at the platform’s actual subdomain (zavora360.
   royalbengal.ai) instead of the parent corporate domain. Affects the Privacy and
   data section, the GDPR FAQ, and the External services section in this readme.
 * Maintenance: renamed the admin-page JavaScript localization handle from `rvaAdmin`
   to `z360Admin` for consistency with the plugin’s `z360` prefix used throughout
   the rest of the codebase since v1.1.0. Internal-only change with no impact on
   the plugin’s functionality, settings, or user-facing surfaces.
 * Removal: the legacy `[royal_voice_agent]` shortcode alias added in v1.1.0 for
   backward compatibility with v1.0.x installs is removed. The canonical `[zavora_360]`
   shortcode remains the only supported form. If you have any content using `[royal_voice_agent]`,
   update it to `[zavora_360]` — both render the same Talk-to-Us button.

#### 1.1.3

 * Maintenance: documentation alignment with the Zavora 360 platform’s v3.4.2 release,
   which migrated the platform’s API key format to the new `z360_` prefix. If your
   API key was issued before May 23 2026 and starts with `rva_`, regenerate it from
   your Zavora 360 dashboard and paste the new key into Plugin Settings  API & Connection.
 * Maintenance: clarified plugin ownership in the Description — this is the official
   plugin, built and maintained by Royal Bengal AI.

#### 1.1.2

 * Maintenance: refined plugin description and FAQ language for consistency with
   the Zavora 360 brand voice. No functional change.
 * Documentation: added a dedicated External services section to this readme covering
   exactly which endpoint is called, what data is sent, what data is not sent, and
   when the calls happen — meeting current WordPress.org plugin directory guidelines
   for plugins that communicate with external services.

#### 1.1.1

 * Maintenance: removed legacy `class-rva-*.php` files and the `royal-voice-agent.
   pot` translation template that were left behind after the v1.1.0 rebrand. Dead
   code only — autoloader has always loaded `Z360_*` classes exclusively, so this
   is a pure cleanup with no functional change.

#### 1.1.0

 * Rebrand: Royal Voice Agent is now Zavora 360. New brand, same plugin — connects
   to the same platform at the new URL https://zavora360.royalbengal.ai.
 * New: canonical shortcode is now `[zavora_360]`. The legacy `[royal_voice_agent]`
   shortcode tag still works for any existing content — both tags map to the same
   handler. Use `[zavora_360]` going forward.
 * Internal: the plugin folder is now `zavora-360/`, the main file is `zavora-360.
   php`, and the PHP class prefix changed from `RVA_` to `Z360_`. Option keys migrated
   from `rva_*` to `z360_*` on activation (your saved API key, button settings, 
   etc. carry over automatically — no reconfiguration needed).
 * Maintenance: developer comments and documentation updated for the new name. No
   functional changes beyond the rebrand and shortcode alias.

#### 1.0.3

 * Improvement: the Visibility picker gains three new tools — a “Show selected only”
   toggle that hides unticked items so you can review your picks at a glance, a “
   Select all visible” link that ticks every item currently shown (great combined
   with search — e.g. search “blog”, then click Select all visible), and a “Clear
   all” link that unticks every item across both tabs.

#### 1.0.2

 * Improvement: the pages-and-posts picker on the Visibility tab now has type tabs(
   Pages / Posts) and a search box so you can quickly find a specific item on sites
   with lots of content. Each tab shows its item count. Search filters within the
   active tab.
 * Improvement: a selection counter under the picker shows how many pages and posts
   you currently have ticked — useful as a sanity check before saving.

#### 1.0.1

 * Fix: live preview on the Appearance tab now updates in real time as you change
   label, color, position, or size.
 * Improvement: the Visibility tab now lists both Pages and Posts (each with a “
   Page” or “Post” badge), so you can target either type. The previous Pages-only
   multi-select has been replaced with a checkbox list — one click per pick, no 
   Ctrl/Cmd-click needed.
 * New: clicking the Talk-to-Us button now opens the Virtual Receptionist in a centered
   popup window (480×720) instead of a new tab. Modifier-click (Ctrl/Cmd/Shift) 
   still opens in a new tab. If the popup is blocked, falls back to the original
   new-tab behavior.
 * Improvement: the Help tab now includes step-by-step instructions for adding the`[
   royal_voice_agent]` shortcode in both the Block Editor and Classic Editor.

#### 1.0.0

 * Initial release.

## Мета

 *  Нуска **1.3.7**
 *  Акыркы жаңыртуу **2 күн мурун**
 *  Активдүү орнотуулар **Fewer than 10**
 *  WordPress нускасы ** 6.0 же андан жогору **
 *  Tested up to **7.0**
 *  PHP нускасы ** 7.4 же андан жогору **
 *  Тил
 * [English (US)](https://wordpress.org/plugins/zavora-360/)
 * Тег:
 * [contact button](https://ky.wordpress.org/plugins/tags/contact-button/)[voice](https://ky.wordpress.org/plugins/tags/voice/)
   [voice chat](https://ky.wordpress.org/plugins/tags/voice-chat/)
 *  [Advanced View](https://ky.wordpress.org/plugins/zavora-360/advanced/)

## Рейтинг

Азырынча эч кандай сын-пикир жок.

[Your review](https://wordpress.org/support/plugin/zavora-360/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/zavora-360/reviews/)

## Мүчөлөрү

 *   [ Royal Bengal AI ](https://profiles.wordpress.org/mohimenol/)

## Колдоо

Комментарийлер барбы? Жардам керекпи?

 [Колдоо форумун көрүү](https://wordpress.org/support/plugin/zavora-360/)