Title: Kwiro — AI Sales Agent &amp; Chatbot for WooCommerce
Author: kwiro
Published: <strong>1 de junio de  2026</strong>
Last modified: 26 de julio de  2026

---

Buscar plugins

![](https://ps.w.org/kwiro-ai-sales-agent/assets/banner-772x250.png?rev=3556415)

![](https://ps.w.org/kwiro-ai-sales-agent/assets/icon-256x256.png?rev=3556415)

# Kwiro — AI Sales Agent & Chatbot for WooCommerce

 Por [kwiro](https://profiles.wordpress.org/kwiro/)

[Descargar](https://downloads.wordpress.org/plugin/kwiro-ai-sales-agent.1.2.21.zip)

 * [Detalles](https://es-ar.wordpress.org/plugins/kwiro-ai-sales-agent/#description)
 * [Valoraciones](https://es-ar.wordpress.org/plugins/kwiro-ai-sales-agent/#reviews)
 *  [Instalación](https://es-ar.wordpress.org/plugins/kwiro-ai-sales-agent/#installation)
 * [Desarrollo](https://es-ar.wordpress.org/plugins/kwiro-ai-sales-agent/#developers)

 [Soporte](https://wordpress.org/support/plugin/kwiro-ai-sales-agent/)

## Descripción

#### AI SALES AGENT FOR WOOCOMMERCE — TRAINED ON YOUR CATALOG, MEASURED IN REVENUE.

Your store gets visitors at 11 PM. They land with buying questions — _“Will this
fit a 5’8 frame?”_, _“What’s the difference between these two?”_, _“Do you have 
it in red?”_ — and there’s no one to answer. Cart abandoned. Sale lost. Tomorrow
morning your conversion report shows the gap, but you can’t see how big it really
was.

Kwiro is the first AI Sales Agent built specifically for WooCommerce. It reads your
entire catalog, answers shoppers in 58 languages, and converts visitors into buyers—
even at 3 AM. Independently tested at **~0% hallucination across 887 real shopper
scenarios** (full results published at [kwiro.ai/proof](https://kwiro.ai/proof)).
Not another live-chat plugin retrofitted with AI; built from the first line of code
to **recommend, qualify, and close**.

#### KWIRO VS A GENERIC AI CHATBOT

Generic live-chat and chatbot plugins were built for **support** — answering tickets,
deflecting questions, freeing up human agents. They got “AI” bolted on later. Kwiro
inverts the design:

 * **Catalog-grounded answers** — every reply is anchored to retrieved products 
   from your live WooCommerce catalog. Hallucinations don’t just degrade UX, they
   kill trust. We test for them on every release.
 * **Recommends specific SKUs** — not _“you might like our jewellery”_ but _“the
   Gold Chain Bracelet, $129, in stock — add to bag”_. Sale-aware, in-stock-aware,
   currency-correct.
 * **Handles objections** — _“Is this good quality?”_, _“Will it fit?”_, _“What’s
   your return policy?”_ — answered with your store’s voice, not boilerplate.
 * **Closes at 2 AM** — first-token response in ~1.5 s, full reply in ~2.5 s, in
   any of 58 tested languages.
 * **Measured in revenue, not tickets** — direct attribution within 30 minutes of
   the chat, assisted attribution within 24 hours. Every dollar earned through chat
   shows up on your dashboard.

#### KEY FEATURES

 * **One-click connect** – click _Connect to Kwiro_ on the plugin settings page,
   sign in via magic link, products sync automatically. No API-key copy-paste, no
   CSV uploads, no manual setup.
 * **Trained on your live catalog** – every product, variant, price, and attribute
   syncs in 1–5 minutes for a typical store. New products and edits appear in seconds
   via WooCommerce hooks.
 * **~0% hallucination on product data** – 887 scenarios tested across 33 categories
   and 58 languages, audited monthly. We won’t pretend it’ll always stay there —
   no AI is perfect — but every uncertain answer surfaces in your dashboard’s Knowledge
   Gaps so you can review and teach. Full receipts at [kwiro.ai/proof](https://kwiro.ai/proof).
 * **Guided Selling** – tap-friendly multiple-choice quiz for shoppers who don’t
   know what to type. Hands off to chat with real product cards in 2–4 taps. No 
   other WooCommerce chatbot does this.
 * **5-layer memory that learns what converts** [Growth] – product intelligence 
   + store memory + winning conversations + cross-store network + outcome scoring.
   Each store grows its own playbook.
 * **ROI Dashboard** [Pro] – AI-attributed revenue, conversion rate, top questions,
   top recommended products. Direct + assisted attribution windows.
 * **Memory Inspector** [Growth] – pin, edit, or delete what the AI has learned.
   Knowledge Gaps surface unanswered questions so you can teach the AI in two clicks.
 * **Forbidden Topics** [Growth] – exclude product categories, brands, or topics
   from the AI. Default list already deflects support questions (refunds, order 
   tracking, warranties) to your existing helpdesk.
 * **58 languages, native quality** – English (US, UK, Australian variants), Spanish,
   French, German, Italian, Portuguese, Dutch, plus 50 more. 95%+ pass rate on multilingual
   scenarios.
 * **3 KB iframe widget** – loads asynchronously, no theme CSS conflicts, no impact
   on Core Web Vitals. Mobile-first by default.
 * **Clean uninstall** – Disconnect button purges every locally stored credential
   in one click. Uninstall removes every option, transient, and cron event.

#### BUILT FOR WOOCOMMERCE, NOT BOLTED ON

 * **All product types supported** – simple, variable, grouped, and external/affiliate
   products with attributes (size, colour, etc.), categories, tags, sale prices,
   and stock status.
 * **Cart-aware widget** – knows what’s in the shopper’s basket and recommends complementary
   products that ship from your inventory.
 * **Order webhooks** – paid orders fire attribution lookups that link the conversation,
   the recommendation, and the sale.
 * **Adaptive batch sync** – auto-tunes batch size based on your host’s response
   time, so even slow shared hosts complete a full catalog sync without timeouts.
 * **Theme-agnostic** – tested with Storefront, Astra, GeneratePress, OceanWP, Flatsome,
   Kadence, Divi, and more. The widget is an isolated iframe; your theme’s CSS can’t
   break it.

#### YOUR DATA, YOUR CHOICE

Kwiro is fully **GDPR + CCPA + CPRA compliant**. Customer chats are encrypted in
transit (TLS 1.2+) and at rest (AES-256). Conversation data is hosted on AWS us-
west-2 (Oregon), never sold, never used to train third-party models. AI inference
is routed through a **privacy-preserving AI gateway under a Zero Data Retention (
ZDR) agreement** — prompts and responses are not logged, stored, or retained by 
the gateway or its upstream model providers. **No customer PII** (name, email, address,
payment) is ever sent to Kwiro.

You can export every conversation to CSV, or delete a visitor’s data on request,
in a single click. Cancel and you keep everything.

The plugin makes **no network requests until you click _Connect to Kwiro_** — explicit
user opt-in by design. Full disclosure of every endpoint and the data sent to each
is in the **External services** section below.

#### PRICING — FOUNDING-MEMBER LAUNCH RATES

Plans differ by monthly conversation cap and advanced memory features. **Subscribe
at the launch rate and lock it forever, even after the public price increases.**

 * **Free** – $0/mo, **200 conversations/month**, all 58 languages, “Powered by 
   Kwiro” badge, full conversation transcripts, community support.
 * **Pro** – launch **$39/mo** (regular $79), **2,000 conversations**, ROI dashboard,
   AI-attributed sales, Missing Products report, email support.
 * **Growth (most popular)** – launch **$99/mo** (regular $199), **5,000 conversations**,
   Memory Inspector, Knowledge Gaps, custom prompts, priority queue, API access,
   3 team seats.
 * **Scale** – launch **$299/mo** (regular $599), **25,000 conversations**, white-
   label widget, multi-store management, priority infrastructure, 10 team seats,
   dedicated CSM.

Overage on paid plans: **$10 per extra 1,000 conversations** — billed metered, never
surprises. By default (1× cap), your bill **never exceeds your plan price** even
past your limit; the AI shifts to short, polite degrade-mode replies. Raise the 
cap to 2×/3×/5× if you’d rather pay for full-quality replies past the limit. **Kwiro
never stops mid-chat.**

#### TRY IT WITHOUT INSTALLING

Open the [live demo at kwiro.ai](https://kwiro.ai) — chat with the AI Sales Agent
on a real WooCommerce store, then read all 887 test scenarios at [kwiro.ai/proof](https://kwiro.ai/proof).
No signup. No card. 30 seconds.

### External services

This plugin connects to Kwiro, a third-party SaaS service (https://kwiro.ai), to
deliver the AI sales agent functionality. Connection happens only after you click**
Connect to Kwiro** on the plugin settings page — nothing is sent on activation.

Once connected, the plugin communicates with the following endpoints on Kwiro’s 
servers:

 * **`https://api.kwiro.ai/api/auth/register`** — sent on first connect: your store
   domain, store name, and currency code. Used to create your Kwiro account and 
   issue an API key.
 * **`https://api.kwiro.ai/api/auth/verify`** — sent before each authenticated request:
   your API key. Used to issue a short-lived JWT.
 * **`https://api.kwiro.ai/api/auth/link-status`** — sent every few minutes while
   the settings page is open: your API key. Used to flip the “Connect to Kwiro” 
   panel to “Connected” once linking is complete in the dashboard.
 * **`https://api.kwiro.ai/api/auth/begin-link`** — sent when you click _Connect
   to Kwiro_: a short-lived signed token used to sign you into the Kwiro dashboard
   and link this store to your account.
 * **`https://api.kwiro.ai/api/health`** — sent when you click _Test Connection_:
   confirms the API is reachable.
 * **`https://api.kwiro.ai/api/sync/batch`** — sent when you click _Sync Now_ and
   on every WP-CRON sync batch: product names, descriptions, prices, sale prices,
   stock status, categories, tags, attributes, and image URLs. Used to teach the
   AI what your store sells. **No customer PII is ever included.**
 * **`https://api.kwiro.ai/api/sync/product/{id}`** — sent when you delete or trash
   a product in WooCommerce: just the product ID. Used to remove that product from
   your Kwiro catalog so the AI stops recommending it.
 * **`https://api.kwiro.ai/api/sync/finalize`** — sent at the end of a full sync:
   the store’s free-shipping threshold (if any). Used to trigger the final embedding
   pass and let the widget’s MiniCart render the “X away from free shipping” nudge.
 * **`https://api.kwiro.ai/api/sync/status`** — sent on demand: empty body. Used
   by the admin to read sync status from the cloud’s authoritative copy.
 * **`https://api.kwiro.ai/api/sync/event`** — sent on plugin activation, sync starts,
   batch completion, manual sync clicks, and sync errors: a structured event payload.
   Used by the Sync History page in the Kwiro dashboard.
 * **`https://api.kwiro.ai/api/sync/sales-event`** — sent when an order moves to
   a paid status (`processing`, `on-hold`, `payment_complete`, or `completed`): 
   order ID, total, currency, the products in the order, the attribution type (`
   direct`, `assisted`, or `unattributed`), and — when the order can be linked to
   a chat — the conversation ID. Every paid order is reported so your dashboard 
   shows your true sales volume and what share the AI drove; orders with no chat
   link are reported as `unattributed` with no conversation ID. Used for the ROI/
   attribution dashboard. **No customer name, email, address, or payment data is
   sent.**
 * **`https://widget.kwiro.ai/`** — loaded as an iframe in your store’s frontend(
   only when the widget is enabled and the visitor arrives on a non-checkout page).
   Carries the chat conversation between the visitor and the AI; chat messages are
   processed on Kwiro’s servers and not stored locally on your WordPress install.
 * **`https://app.kwiro.ai/`** — opened in a new browser tab when a connected store
   owner clicks the **Open Kwiro dashboard ** button on the plugin settings page,
   or on the _Open Kwiro_ link added to the WordPress Plugins list row. The plugin
   passes a short-lived signed link token in the URL (see `/api/auth/begin-link`
   above) so the dashboard can finish linking this store to your Kwiro account. 
   No customer PII is sent.

**Upstream AI inference sub-processor.** Chat messages received at `api.kwiro.ai`
are forwarded to **OpenRouter, Inc.** (https://openrouter.ai), a privacy-preserving
AI inference gateway, which routes them to a large language model for response generation
and returns the model’s reply. OpenRouter is operated as a third-party data sub-
processor to Kwiro. Our OpenRouter account is configured for **Zero Data Retention(
ZDR)**: neither OpenRouter nor the upstream model providers log, store, or retain
the prompts or responses that pass through. The plugin itself never contacts OpenRouter
directly — only the Kwiro cloud does — but we disclose it here for full transparency
under WordPress Plugin Directory Guideline 7. OpenRouter’s terms and privacy policy:
https://openrouter.ai/terms and https://openrouter.ai/privacy.

Kwiro’s terms of service and privacy policy describe how Kwiro handles the data 
above:

 * Terms of Service: https://kwiro.ai/terms
 * Privacy Policy: https://kwiro.ai/privacy
 * Refund Policy: https://kwiro.ai/refund-policy

You can disconnect at any time using the _Disconnect this store_ button on the plugin
settings page. Disconnecting purges the locally stored API key and revokes the link
with your Kwiro account.

## Capturas

[⌊The first thing your shopper sees — a small greeting bubble in the corner with
two starter chips: one catalog-aware ("What's trending?"), one handoff ("Help me
find something"). Friendly, never intrusive.⌉⌊The first thing your shopper sees —
a small greeting bubble in the corner with two starter chips: one catalog-aware ("
What's trending?"), one handoff ("Help me find something"). Friendly, never intrusive
.⌉[

The first thing your shopper sees — a small greeting bubble in the corner with two
starter chips: one catalog-aware (“What’s trending?”), one handoff (“Help me find
something”). Friendly, never intrusive.

[⌊The full sales-assistant view when a shopper opens the widget — a personalised
greeting from your store's named assistant, four catalog-aware suggestion cards 
drawn from your real products, and the language hint "Talk in your language — I 
speak 57". This is what turns a passive browser into a buying conversation.⌉⌊The
full sales-assistant view when a shopper opens the widget — a personalised greeting
from your store's named assistant, four catalog-aware suggestion cards drawn from
your real products, and the language hint "Talk in your language — I speak 57". 
This is what turns a passive browser into a buying conversation.⌉[

The full sales-assistant view when a shopper opens the widget — a personalised greeting
from your store’s named assistant, four catalog-aware suggestion cards drawn from
your real products, and the language hint _“Talk in your language — I speak 57”_.
This is what turns a passive browser into a buying conversation.

[⌊The assistant in conversation — answering a real product comparison question with
your actual prices, ratings, and stock levels pulled live from WooCommerce. No generic
answers, no made-up products.⌉⌊The assistant in conversation — answering a real 
product comparison question with your actual prices, ratings, and stock levels pulled
live from WooCommerce. No generic answers, no made-up products.⌉[

The assistant in conversation — answering a real product comparison question with
your actual prices, ratings, and stock levels pulled live from WooCommerce. No generic
answers, no made-up products.

[⌊The same conversation, scrolled down to the product cards — your real SKUs with
rating, in-stock status, price, and an Add to Bag button right inside the chat. 
Shoppers can buy without ever leaving the conversation.⌉⌊The same conversation, 
scrolled down to the product cards — your real SKUs with rating, in-stock status,
price, and an Add to Bag button right inside the chat. Shoppers can buy without 
ever leaving the conversation.⌉[

The same conversation, scrolled down to the product cards — your real SKUs with 
rating, in-stock status, price, and an Add to Bag button right inside the chat. 
Shoppers can buy without ever leaving the conversation.

[⌊Dark mode + cart hand-off — the widget automatically adapts to your shopper's 
preferred colour scheme, and when their bag is ready it surfaces a one-tap Checkout
nudge so the conversation flows straight into the purchase.⌉⌊Dark mode + cart hand-
off — the widget automatically adapts to your shopper's preferred colour scheme,
and when their bag is ready it surfaces a one-tap Checkout nudge so the conversation
flows straight into the purchase.⌉[

Dark mode + cart hand-off — the widget automatically adapts to your shopper’s preferred
colour scheme, and when their bag is ready it surfaces a one-tap _Checkout_ nudge
so the conversation flows straight into the purchase.

[⌊The same plugin on a different store — here it's "Luna" at a skincare shop with
a soft pink accent and skincare-specific starter chips and quiz options. Bot name,
welcome message, brand colour, starter cards and the assistant's tone are all dashboard-
controlled, so every store feels native to its own brand.⌉⌊The same plugin on a 
different store — here it's "Luna" at a skincare shop with a soft pink accent and
skincare-specific starter chips and quiz options. Bot name, welcome message, brand
colour, starter cards and the assistant's tone are all dashboard-controlled, so 
every store feels native to its own brand.⌉[

The same plugin on a different store — here it’s “Luna” at a skincare shop with 
a soft pink accent and skincare-specific starter chips and quiz options. Bot name,
welcome message, brand colour, starter cards and the assistant’s tone are all dashboard-
controlled, so every store feels native to its own brand.

[⌊Context-aware on a product page — when a shopper lands on a specific product, 
the assistant peeks open with a question about THAT product ("Checking out Encapsulated
Retinol 0.5%? I can answer any questions about it 👋"). Stops checkout hesitation
before it turns into a closed tab.⌉⌊Context-aware on a product page — when a shopper
lands on a specific product, the assistant peeks open with a question about THAT
product ("Checking out Encapsulated Retinol 0.5%? I can answer any questions about
it 👋"). Stops checkout hesitation before it turns into a closed tab.⌉[

Context-aware on a product page — when a shopper lands on a specific product, the
assistant peeks open with a question about THAT product (“Checking out Encapsulated
Retinol 0.5%? I can answer any questions about it 👋”). Stops checkout hesitation
before it turns into a closed tab.

[⌊Your Kwiro dashboard — see the revenue the assistant actually earned for your 
store this month, the after-hours sales it closed while you slept, conversion rate,
average order value, and your return on investment. Every conversation is logged
and reviewable.⌉⌊Your Kwiro dashboard — see the revenue the assistant actually earned
for your store this month, the after-hours sales it closed while you slept, conversion
rate, average order value, and your return on investment. Every conversation is 
logged and reviewable.⌉[

Your Kwiro dashboard — see the revenue the assistant actually earned for your store
this month, the after-hours sales it closed while you slept, conversion rate, average
order value, and your return on investment. Every conversation is logged and reviewable.

[⌊The WordPress plugin settings page with an explicit-consent disclosure. Nothing
leaves your store until you click Connect to Kwiro — required by wordpress.org rules,
and good for your peace of mind.⌉⌊The WordPress plugin settings page with an explicit-
consent disclosure. Nothing leaves your store until you click Connect to Kwiro —
required by wordpress.org rules, and good for your peace of mind.⌉[

The WordPress plugin settings page with an explicit-consent disclosure. Nothing 
leaves your store until you click _Connect to Kwiro_ — required by wordpress.org
rules, and good for your peace of mind.

[⌊After connecting — the full settings surface in WP admin. One-click open the Kwiro
dashboard, paste an API key manually if you prefer, run a catalog sync on demand,
and toggle the widget on or off for your storefront.⌉⌊After connecting — the full
settings surface in WP admin. One-click open the Kwiro dashboard, paste an API key
manually if you prefer, run a catalog sync on demand, and toggle the widget on or
off for your storefront.⌉[

After connecting — the full settings surface in WP admin. One-click open the Kwiro
dashboard, paste an API key manually if you prefer, run a catalog sync on demand,
and toggle the widget on or off for your storefront.

## Instalación

**The fastest path — install from inside WordPress:**

 1. In WP admin go to **Plugins  Add New** and search for _Kwiro_.
 2. On the _Kwiro — AI Sales Agent & Chatbot for WooCommerce_ card, click **Install
    Now**, then **Activate**.
 3. Open **WooCommerce  Kwiro** in the sidebar.
 4. Click the orange **Connect to Kwiro ** button on the consent panel and sign in 
    via magic link (no password).
 5. Products sync automatically in the background — a typical 100-product catalog finishes
    in 1–5 minutes.

**Alternative — manual upload:** Download the ZIP from [wordpress.org/plugins/kwiro-ai-sales-agent](https://wordpress.org/plugins/kwiro-ai-sales-agent/),
then in WP admin go to **Plugins  Add New  Upload Plugin** and choose the ZIP. Continue
from step 3 above.

## Preguntas frecuentes

### Is this a chatbot or a sales agent?

A sales agent. Chatbots are built around FAQ/ticket deflection; Kwiro is built around“
find me the right product, recommend a better one, close the sale”. Different prompts,
different memory, different metrics.

### Does it work with any WooCommerce theme?

Yes. The widget is an iframe so it can’t be broken by your theme’s CSS, and it ships
responsive defaults for every screen size.

### Do I need to copy an API key?

No. The **Connect to Kwiro** button does the linking automatically in one click.
The API-key paste flow still exists for users who prefer it or are linking a store
behind a VPN.

### How does product sync work?

The first sync runs in the foreground when you click **Sync Now** (so you see progress
immediately), and subsequent batches run via WP CRON. Simple, variable, grouped,
and external products all supported — including attributes, categories, images, 
and sale prices.

### Will this slow down my store?

No. AI runs in the cloud, the widget is a lightweight iframe loaded asynchronously,
and sync batches are small and throttled so they never hold up a page load.

### What data leaves my server?

Product catalog only (names, descriptions, prices, images, categories, attributes)
plus chat messages during an active conversation. No customer PII (name, email, 
address) is ever sent to Kwiro.

### Is it GDPR compliant?

Yes. The widget sets one strictly-necessary functional cookie called `kwiro_conv`(
24-hour TTL) that links a chat conversation to a checkout — without it the ROI/attribution
dashboard can’t tell which conversations drove which sales. Strictly-necessary cookies
are exempt from the consent-banner requirement under GDPR Article 5(3) of the ePrivacy
Directive. No third-party advertising or tracking cookies are set. Conversation 
context also lives in sessionStorage (cleared when the tab closes) so the same data
flows through the Block Checkout path. Store owners can export or delete all data
via the Kwiro dashboard.

### Can I track revenue from AI conversations?

Yes. The ROI Dashboard tracks direct attribution (customer bought within 30 min 
of chatting) and assisted attribution (bought within 24h). Revenue, conversion rate,
top products, top questions — all visible on the overview.

### What happens to my data if I disconnect or uninstall the plugin?

 * **Disconnect** (the _Disconnect this store_ button on the plugin settings page)—
   purges your locally stored API key, store ID, and consent flag. The chat widget
   stops appearing. Your Kwiro account, chat logs, and ROI history remain in the
   Kwiro dashboard so you can reconnect later without losing data.
 * **Uninstall** (Plugins  Delete in WP admin) — runs `uninstall.php`, which wipes
   every plugin option, transient, and scheduled cron event from your WordPress 
   database. Same as Disconnect: server-side data in your Kwiro account is untouched.
 * **Permanently delete everything** (including server-side data) — open the Kwiro
   dashboard, go to Account  Delete account, or email [support@kwiro.ai](https://es-ar.wordpress.org/plugins/kwiro-ai-sales-agent/support@kwiro.ai?output_format=md).
   We honour deletion requests within 7 days per our [Privacy Policy](https://kwiro.ai/privacy).

## Reseñas

No hay reseñas para este plugin.

## Colaboradores y desarrolladores

“Kwiro — AI Sales Agent & Chatbot for WooCommerce” es un software de código abierto.
Las siguientes personas han colaborado con este plugin.

Colaboradores

 *   [ kwiro ](https://profiles.wordpress.org/kwiro/)

[Traduce “Kwiro — AI Sales Agent & Chatbot for WooCommerce” a tu idioma.](https://translate.wordpress.org/projects/wp-plugins/kwiro-ai-sales-agent)

### ¿Interesado en el desarrollo?

[Revisa el código](https://plugins.trac.wordpress.org/browser/kwiro-ai-sales-agent/),
echa un vistazo al [repositorio SVN](https://plugins.svn.wordpress.org/kwiro-ai-sales-agent/),
o suscríbete al [log de desarrollo](https://plugins.trac.wordpress.org/log/kwiro-ai-sales-agent/)
por [RSS](https://plugins.trac.wordpress.org/log/kwiro-ai-sales-agent/?limit=100&mode=stop_on_copy&format=rss).

## Registro de cambios

#### 1.2.21

 * **Prices now show in your store’s own currency.** If you sell in euros, pounds,
   rand or anything other than dollars, the assistant and its product cards showed
   a “$” regardless. They now use your WooCommerce currency, written the way your
   shoppers expect it — €72,00 for a Dutch shopper, £72.00 for a British one. Your
   currency is re-checked on every sync, so changing it in WooCommerce updates Kwiro
   too. Recommended for every store outside the US.
 * **The assistant no longer guesses exchange rates.** If a shopper mentions an 
   amount in another currency, it now shows your real listed prices and says which
   currency they are in, instead of inventing a conversion.
 * **Pick the language your widget speaks.** In your Kwiro dashboard, under Widget&
   AI, you can now choose the language for the greeting, the input box and the buttons
   your shoppers see before they type — Dutch, German, French, Spanish and more.
   Replies already matched whatever language each shopper wrote in; now the widget
   around them matches your shop. This part applies automatically, with or without
   this update.
 * Fixed: removing your free-shipping rule in WooCommerce now clears it in Kwiro
   too, instead of leaving shoppers a free-shipping message that no longer applies.

#### 1.2.20

 * Clearer wording on the connect screen so it is obvious what happens when you 
   link your store.

#### 1.2.19

 * **Your sales now show up in Kwiro — including orders the AI didn’t directly close.**
   Until now an order only counted if it could be tied to a specific chat, so most
   stores saw little or no sales data. This release reports every completed WooCommerce
   order to your Kwiro dashboard: orders that came from an AI chat are marked AI-
   driven, and the rest are counted too — so you finally see your true sales volume
   and exactly what share of it your AI assistant drove. (Order totals, currency,
   and product IDs are sent to power this — see “External services” below.) Also
   improved on our side: when a shopper asks to add an item or how to pay, the assistant
   now points them to the on-card “Add to cart” button and checkout instead of sending
   them away. Recommended upgrade for every store.

#### 1.2.18

 * **Clearer first-run experience while your catalog finishes syncing.** Right after
   you connect, your products take a few minutes to sync. During that window the
   AI now tells shoppers (in their own language) that your store is still being 
   set up and to check back shortly, instead of saying there are no products. This
   is a server-side improvement that applies automatically to every store — no plugin
   code changes, nothing to reconfigure. Drop-in upgrade.

#### 1.2.17

 * **All 58 languages now included on the Free plan.** Your AI replies in whatever
   language your shopper types — Spanish, Arabic, Hindi, Bengali, and 54 more — 
   on every plan, Free included. Multilingual replies used to need a paid plan; 
   now a free store sells in each shopper’s own language. Nothing to configure: 
   the AI auto-detects the shopper’s language and replies in it. Drop-in upgrade.

#### 1.2.16

 * **Faster updates, cleaner support handoff.** When you upgrade Kwiro, your admin
   pages and your shoppers’ widgets now pick up the new version’s changes immediately
   instead of waiting on browser cache. We also keep the version number the plugin
   reports to our cloud in sync with what you actually have installed — so if you
   ever email support, your message is correctly tagged with your real plugin version.
   No setting changes; nothing to reconfigure. Drop-in upgrade.

#### 1.2.15

 * **Privacy update — Zero Data Retention for AI replies.** Your customers’ chat
   questions and the AI’s replies travel through a privacy-preserving AI gateway
   under a Zero Data Retention agreement. The gateway, and the AI model behind it,
   never log, store, or retain a single message. This has always been true behind
   the scenes — this release just makes it plain in the readme’s “Your Data, Your
   Choice” and “External services” sections, and on the Connect screen, so you can
   show your shoppers (and your DPO) exactly how their data is handled. Recommended
   reading if your store has strict GDPR / privacy obligations. No code changes;
   drop-in upgrade.

#### 1.2.14

 * **Compat — tested with WordPress 7.0.** WP 7.0 became the current stable shortly
   after 1.2.13 shipped, which made the directory show an “Untested with your version
   of WordPress” warning on the listing for every WP 7.0 shopper — a measurable 
   drag on install conversion. Smoke-tested 1.2.13 against WP 7.0 (clean install,
   WP_DEBUG=true): activation clean, no deprecation notices in debug.log, Connect-
   to-Kwiro one-click link OK, settings page renders, widget injects on the storefront,
   full sync completes. No code changes — only the `Tested up to` field and Stable
   tag advance. Drop-in upgrade.

#### 1.2.13

 * **WordPress.org review-team feedback applied.** Every piece of JavaScript the
   plugin uses — on your admin pages and on your shoppers’ storefront — is now loaded
   the standard WordPress way. The side benefit you’ll notice: slightly faster admin-
   page load, better browser caching, and full compatibility with caching plugins
   like WP Rocket and W3 Total Cache. We also tightened the code to the latest WordPress
   coding standards. No setting changes; nothing to reconfigure. Drop-in upgrade.

#### 1.2.12

 * **Copy fix** — Short Description now reads “~0% hallucination” instead of “0%
   hallucination”. No AI hits absolute zero across non-trivial test sets; the tilde
   makes the claim honest and defensible. Body of the readme (which already used“
   ~0%”) is unchanged. No behavior or functional changes. _Note: this version was
   built but never uploaded to wp.org; the copy change is included in 1.2.13._

#### 1.2.11

 * **WordPress.org submission cleanup — strip diagnostic logging.** Removed the 
   temporary `kwiro-debug.log` file write under `wp-content/uploads/`, the `rest_api_init`
   request-tracker hook, and every `[kwiro] …` diagnostic line that was added in
   1.2.10 to chase the Block Checkout attribution bug. The bug is fixed (1.2.7 +
   1.2.8 + 1.2.9), so the diagnostic surface is no longer needed in production. 
   Kept one `error_log()` call gated behind `WP_DEBUG` — only fires on actual cloud-
   POST failures, so support can still see the underlying error message when something
   goes wrong without writing to a publicly-readable log file. Drop-in upgrade, 
   no behaviour change for working installs.

#### 1.2.10

 * **Diagnostic logging for Block Checkout attribution debugging.** Added a temporary`
   wp-content/uploads/kwiro-debug.log` file + `rest_api_init` checkout-request tracker
   so we could pin down where Store API attribution was getting lost on real merchant
   traffic. Helped catch the `_update_order_from_request` hook firing without extensions
   populated — fix shipped in 1.2.9. Diagnostic surface is removed in 1.2.11; if
   you’re upgrading from < 1.2.10 you can skip this version.

#### 1.2.9

 * **Belt-and-suspenders: cookie-only attribution save on `_order_processed`.** 
   1.2.8 registered the Store API extension schema and added a cookie fallback inside`
   _update_order_from_request`, but headless-Chrome end-to-end testing showed the
   meta still wasn’t sticking on some WC builds — likely because the order is reconstructed
   between hook fires on certain stacks. Added a redundant `woocommerce_store_api_checkout_order_processed`
   handler that runs cookie-only (doesn’t need `$request`) and only acts if the 
   upstream handler didn’t already write the meta. Also added `error_log()` diagnostic
   lines on every code path so when this is reported next we have a paper trail 
   in `wp-content/debug.log` (or PHP error log) instead of guessing. Drop-in upgrade.

#### 1.2.8

 * **Register `kwiro_attribution` as a Store API extension + add cookie fallback.**
   End-to-end repro showed the storefront fetch interceptor was correctly attaching`
   extensions.kwiro_attribution.conversation_id` to the `/wc/store/v1/checkout` 
   POST body — the JSON sent by the browser had it — but the `_kwiro_conversation_id`
   order meta was still empty after place-order. Root cause: WC’s `CheckoutSchema`
   strips unregistered extension namespaces from `$request['extensions']` _before_`
   woocommerce_store_api_checkout_update_order_from_request` fires, so 1.2.7’s hook
   saw an empty extensions array and returned early. We now register the namespace
   via `ExtendSchema::register_endpoint_data` on `woocommerce_blocks_loaded`. As
   a belt-and-suspenders safety net (some WC + caching combinations still drop the
   data even with the schema registered) the hook now also reads the `kwiro_conv`
   cookie out of `$_COOKIE` server-side when the extensions array comes up empty—
   same UUID validation as the JS write side. Drop-in upgrade.

#### 1.2.7

 * **Block Checkout attribution actually reaches the order now.** Two compounding
   bugs were swallowing AI-attribution on stores running the WC Block Checkout (
   the default since WC 8.3): (1) the plugin hooked `woocommerce_store_api_checkout_order_processed`,
   which only passes `$order` — so we had to re-parse `php://input` to read the 
   request extensions, and that buffer was already consumed on a number of PHP/WC
   stacks; and (2) the JS captured `Date.now()` (milliseconds) but PHP compared 
   with `time()` (seconds), so the attribution window check was working by accident
   on direct orders and never firing for assisted orders. Switched to `woocommerce_store_api_checkout_update_order_from_request`(
   the hook that passes both `$order` and the `WP_REST_Request` — clean access to`
   extensions.kwiro_attribution`), normalized the JS write to seconds-since-epoch,
   and added a defensive msseconds rescale in PHP for any orders that have legacy
   values stored. Drop-in upgrade.

#### 1.2.6

 * **Declare HPOS + Block Checkout compatibility** — clears the WooCommerce admin
   notice “Kwiro is incompatible with currently enabled WooCommerce features.” The
   plugin only touches orders through the WC CRUD API (`wc_get_order`, meta accessors,
   status hooks) and the Block Checkout’s Store API hook is already wired for attribution,
   so this is purely a declaration — no behavior change. Drop-in upgrade.

#### 1.2.5

 * **Cash-on-Delivery / Bank Transfer orders now report to Kwiro** — sales attribution
   previously only fired on `woocommerce_payment_complete` (Stripe / PayPal) or 
   on a manual transition to `completed`, so COD and BACS orders never reached the
   dashboard’s Sales page until an admin marked them complete by hand. The tracker
   now also hooks `processing` and `on-hold` status transitions, with the existing`
   _kwiro_tracked` order-meta dedup ensuring online-paid orders don’t double-fire.
   Drop-in upgrade.

#### 1.2.4

 * **Sync correctly fires `sync/finalize` on completion** — restores the cloud-side
   hook that builds `store_intelligence` (which feeds the widget’s “I know all N
   products” contextual greeting) and runs the final embedding pass. The 1.2.3 inline-
   loop refactor inadvertently dropped the call to the finalize handler, so freshly-
   synced stores rendered “I know all 0 products here” on the storefront until the
   cloud’s hourly enrichment cron caught up. Drop-in upgrade — no DB or credential
   changes.

#### 1.2.3

 * **Sync no longer depends on WP-CRON.** Manual _Sync Now_ now loops batches inline
   up to a 25-second AJAX budget, so a typical 100–250 product catalog finishes 
   in a single click without relying on the host’s cron loop. Catalogs larger than
   the budget still hand off to `kwiro_batch_sync` for the rest, but if cron never
   fires the merchant can simply hit _Sync Now_ again — the plugin resumes from 
   the saved offset instead of restarting from zero. Fixes the “Syncing… 50/107”
   stall reported on dev VPS hosts and any prod host with WP-CRON disabled or rate-
   limited.

#### 1.2.2

 * **Recoverable “domain already linked” error** — when a domain that was previously
   connected to Kwiro is re-installing the plugin, the WP admin now shows a clear
   path forward instead of a dead-end. Fresh installs on a domain that was registered
   but never claimed by a Kwiro user now succeed automatically (no manual intervention).
   Domains that _are_ claimed by a Kwiro account show a recoverable warning with
   the redacted email hint, “Open Kwiro dashboard” / “Try again” / “Contact support”
   actions, and clear copy guiding the merchant to retrieve their existing API key
   from Settings  API.
 * **External Services disclosure** — added `app.kwiro.ai` (the dashboard iframe
   loaded inside WP admin’s _AI Sales Dashboard_ submenu) so every external host
   the plugin connects to is listed in the readme’s External services section, per
   Plugin Directory Guideline 7.
 * **Widget  plugin postMessage compatibility** — bundled widget now dispatches 
   both the v1.2 `kwiro_*` and legacy v1.1 `aisales_*` prefixes for resize / add-
   to-cart / navigate / viewport events. Resolves a real-customer interop bug where
   opening the widget left the iframe wrapper at the closed-launcher size (chips
   invisible under the input bar) and add-to-cart silently no-op’d on v1.2 plugin
   installs.

#### 1.2.1

 * **Plugin slug rename** — `ai-sales-assistant`  `kwiro-ai-sales-agent` to match
   the product name on WordPress.org. Existing v1.1.x installs are migrated automatically
   on first activation: API key, store ID, public key, sync status, settings, and
   consent flag carry over without reconfiguration. CRON hooks (`aisales_batch_sync``
   kwiro_batch_sync`, weekly sync) are rescheduled in place.
 * **Internal prefix alignment** — `aisales_*`  `kwiro_*` across all options, transients,
   hooks, classes, AJAX action names, JS handles, and HTML element IDs. No user-
   visible change for fresh installs; v1.1.x upgrades are handled by the migration
   above.
 * **Display name** — “Kwiro — AI Sales Agent & Chatbot for WooCommerce” (clarifies
   the product category in the WP admin Plugins list and the wp.org listing).

#### 1.1.4

 * **WordPress.org submission readiness** — explicit user-consent gate before the
   first connection to api.kwiro.ai (was: silent registration on settings-page open).
   Plugin now ships with no application/test files, an up-to-date “Tested up to”
   header, the new `Requires Plugins: woocommerce` declaration (WP 6.5+), and the
   External Services disclosure required by Plugin Directory Guideline 7.
 * **Privacy/Terms links** surfaced on the plugin settings screen.
 * **Disconnect button** added — purges the locally stored API key with a single
   click.

#### 1.1.x and earlier

Pre-publication development versions. Highlights: One-click Connect flow (1.1.0),
foreground first-sync (1.1.0), sync history logging (1.1.2), sync pagination + indexing
fixes (1.1.1–1.1.3). Full notes available in the GitHub repository.

## Meta

 *  Versión **1.2.21**
 *  Última actualización **hace 3 meses**
 *  Instalaciones activas **Menos de 10**
 *  Versión de WordPress ** 5.8 o superior **
 *  Testeado hasta **7.0.7**
 *  Versión de PHP ** 7.4 o superior **
 *  Idioma
 * [English (US)](https://wordpress.org/plugins/kwiro-ai-sales-agent/)
 * Etiquetas:
 * [AI Chatbot](https://es-ar.wordpress.org/plugins/tags/ai-chatbot/)[ecommerce](https://es-ar.wordpress.org/plugins/tags/ecommerce/)
   [live chat](https://es-ar.wordpress.org/plugins/tags/live-chat/)[sales agent](https://es-ar.wordpress.org/plugins/tags/sales-agent/)
   [woocommerce](https://es-ar.wordpress.org/plugins/tags/woocommerce/)
 *  [Vista avanzada](https://es-ar.wordpress.org/plugins/kwiro-ai-sales-agent/advanced/)

## Valoraciones

Todavía no se enviaron reseñas.

[Your review](https://wordpress.org/support/plugin/kwiro-ai-sales-agent/reviews/#new-post)

[Ver todas las reseñas](https://wordpress.org/support/plugin/kwiro-ai-sales-agent/reviews/)

## Colaboradores

 *   [ kwiro ](https://profiles.wordpress.org/kwiro/)

## Soporte

¿Tenés algo que decir? ¿Necesitás ayuda?

 [Ver el foro de asistencia](https://wordpress.org/support/plugin/kwiro-ai-sales-agent/)