Title: Zaffro – AI Sales Agent for WooCommerce
Author: Sándor Koszecz
Published: <strong>June 18, 2026</strong>
Last modified: June 18, 2026

---

Search plugins

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

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

# Zaffro – AI Sales Agent for WooCommerce

 By [Sándor Koszecz](https://profiles.wordpress.org/koszecz/)

[Download](https://downloads.wordpress.org/plugin/zaffro-ai-sales-agent-for-woocommerce.1.7.25.zip)

 * [Details](https://wordpress.org/plugins/zaffro-ai-sales-agent-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/zaffro-ai-sales-agent-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/zaffro-ai-sales-agent-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/zaffro-ai-sales-agent-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/zaffro-ai-sales-agent-for-woocommerce/)

## Description

**Zaffro** adds an AI sales assistant to your WooCommerce store. Your customers 
get a helpful chat experience; you get more conversions.

The assistant presents products, answers questions, and — naturally — negotiates.
When a deal is reached, the customer is taken to checkout in one click with the 
discount already applied.

#### How it works

 1. A visitor opens the chat widget on your storefront
 2. The AI assistant answers questions and gently steers toward a purchase
 3. If the customer hesitates, the assistant can offer a personalised discount
 4. A checkout button appears — one click, discount pre-applied, straight to payment

#### Key features

 * **AI negotiation** — the assistant bargains within limits you define
 * **Coupon generation** — creates WooCommerce coupons on the fly during chat
 * **One-click checkout** — sends customers to the cart/checkout with the discount
   already applied
 * **Product catalogue context** — automatically loaded from your WooCommerce product
   data
 * **AI buyer detection** — 7 heuristics to identify serious buyers and trigger 
   the right moment
 * **System prompt editor** — train the assistant in plain language; 5 industry 
   templates included
 * **Cloud proxy** — your API keys stay on our server; no setup required on the 
   Free plan
 * **BYOK support** — bring your own Gemini or Claude API key (Pro/Agency)
 * **Chat history** — stored in localStorage, visible to the shopper across the 
   session
 * **Order note + email summary** — every negotiation logged to the WooCommerce 
   order

#### Free plan

The Free plan runs on Zaffro’s shared Gemini Flash key. No registration required—
the plugin works immediately after activation, with a limit of 50 negotiations per
month.

#### Paid plans

Upgrade for higher limits, faster models, and advanced features:

 * **Starter** — $39/month — 500 negotiations/month
 * **Pro** — $59/month — Gemini 2.5 Pro model, analytics dashboard
 * **Agency** — $199/month — up to 5 stores, priority support
 * **Enterprise** — custom pricing — white-label (custom widget logo), dedicated
   support

Annual billing saves ~17%.

#### External service

This plugin communicates with **api.zaffro.ai** (operated by KOLLABOR) to process
chat messages and validate licences. The following data is sent on each chat request:
your shop URL, a session identifier, the chat message, the conversation history,
and the system prompt you configured. No personal customer data (names, emails, 
addresses) is transmitted.

 * Service URL: https://api.zaffro.ai
 * Privacy policy: https://zaffro.ai/privacy
 * Terms of service: https://zaffro.ai/terms

If you enable the Messenger or WhatsApp channel, the plugin also connects to **Facebook
Graph API** (operated by Meta) to send messages via your configured page token. 
The following data is sent: the AI-generated reply text and the recipient’s page-
scoped user ID. No personal data beyond what Meta provides is transmitted back to
the plugin.

 * Service URL: https://graph.facebook.com/v19.0/
 * Meta Privacy Policy: https://www.facebook.com/privacy/policy/

On the Free plan the plugin also connects to api.zaffro.ai to validate usage limits(
50 negotiations/month).

**BYOK (Bring Your Own Key) mode — direct AI provider calls.** On a paid plan you
may enter your own API key. In that case the plugin calls the AI provider **directly
from your server** (bypassing api.zaffro.ai), so you must be aware of these third-
party services:

If you supply a **Google Gemini** API key, the plugin connects to the Google Gemini
API (operated by Google) to generate chat replies. The following data is sent on
each request: the chat message, the conversation history, and the system prompt 
you configured. No personal customer data (names, emails, addresses) is transmitted.

 * Service URL: https://generativelanguage.googleapis.com
 * Google Gemini API Terms of Service: https://ai.google.dev/gemini-api/terms
 * Google Privacy Policy: https://policies.google.com/privacy

If you supply an **Anthropic Claude** API key, the plugin connects to the Anthropic
API (operated by Anthropic) to generate chat replies. The following data is sent
on each request: the chat message, the conversation history, and the system prompt
you configured. No personal customer data (names, emails, addresses) is transmitted.

 * Service URL: https://api.anthropic.com
 * Anthropic Commercial Terms of Service: https://www.anthropic.com/legal/commercial-
   terms
 * Anthropic Privacy Policy: https://www.anthropic.com/legal/privacy

### Shortcodes

#### [zaffro_manage_subscription]

Place this shortcode on any page to give customers access to the billing portal.
From there they can update their payment method, download invoices, or cancel their
subscription.

The page is created automatically during the onboarding wizard. If you need to recreate
it manually, add a new page with the slug `manage-subscription` and insert `[zaffro_manage_subscription]`
as the only content.

## Screenshots

[⌊Chat widget on a WooCommerce product page — the assistant negotiates a discount⌉⌊
Chat widget on a WooCommerce product page — the assistant negotiates a discount⌉[

Chat widget on a WooCommerce product page — the assistant negotiates a discount

[⌊Admin settings — system prompt editor and negotiation limits⌉⌊Admin settings —
system prompt editor and negotiation limits⌉[

Admin settings — system prompt editor and negotiation limits

[⌊Coupon flow — the assistant generates a one-click checkout offer during chat⌉⌊
Coupon flow — the assistant generates a one-click checkout offer during chat⌉[

Coupon flow — the assistant generates a one-click checkout offer during chat

[⌊Analytics dashboard — sessions, conversions, average discount, AI buyer rate, 
model usage⌉⌊Analytics dashboard — sessions, conversions, average discount, AI buyer
rate, model usage⌉[

Analytics dashboard — sessions, conversions, average discount, AI buyer rate, model
usage

[⌊Onboarding wizard — 5-step setup with industry template selection⌉⌊Onboarding 
wizard — 5-step setup with industry template selection⌉[

Onboarding wizard — 5-step setup with industry template selection

## Installation

 1. Upload the `zaffro` folder to `/wp-content/plugins/`, or install directly from 
    the WordPress plugin directory
 2. Activate the plugin through the **Plugins** menu in WordPress
 3. Go to **ZaffroAI** in the WordPress admin sidebar to open the settings panel
 4. The chat widget is live immediately on the Free plan — no API key required
 5. (Optional) Enter a licence key to unlock Starter, Pro, or Agency features

## FAQ

### Do I need an API key to get started?

No. The Free plan runs on Zaffro’s shared Gemini Flash key. The plugin works immediately
after activation, with a limit of 50 AI negotiations per month.

### Which AI models does Zaffro use?

The Free plan uses Google Gemini Flash Lite. The Starter plan adds Gemini Flash.
The Pro plan adds Gemini 2.5 Pro. The Agency plan supports all models plus Claude(
Anthropic). You can also bring your own API key (BYOK) on any paid plan.

### Does the plugin send customer data to external servers?

The plugin sends chat messages and conversation history to api.zaffro.ai to generate
AI responses. Customer PII (name, email, address) is masked before transmission.
See the External service section above for full details.

### Can I customise what the assistant says?

Yes. Go to **ZaffroAI  System Prompt** to write instructions in plain language. 
You can define the assistant’s tone, what discounts it may offer, which products
to highlight, and more. Five industry templates are included (jewellery, furniture,
food, gardening, B2B).

### Does it work without WooCommerce?

No. Zaffro requires WooCommerce to read the product catalogue, generate coupons,
and build checkout URLs.

### How do I limit the maximum discount the AI can offer?

In the settings panel under **Negotiation limits**, set the maximum discount percentage.
The AI will never offer more than this value.

### Is the chat GDPR compliant?

The plugin includes PII masking before data is sent to api.zaffro.ai, a data export/
deletion endpoint (via the WordPress Privacy API), and a Data Processing Agreement
template available at zaffro.ai/dpa.

### Will it slow down my store?

The chat widget loads asynchronously and does not block page rendering. The AI request
is made only when the visitor opens the chat and sends a message.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Zaffro – AI Sales Agent for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Sándor Koszecz ](https://profiles.wordpress.org/koszecz/)

[Translate “Zaffro – AI Sales Agent for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/zaffro-ai-sales-agent-for-woocommerce)

### Interested in development?

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

## Changelog

#### 1.7.25

 * Security: The subscription management portal endpoint now requires a signed, 
   time-limited token instead of a plain email address, so a billing portal can 
   only be opened by the verified owner of that email (received in their purchase
   confirmation).
 * Fix: The account login/dashboard scripts now load via the WordPress enqueue system(
   wp_enqueue_script / wp_localize_script) as required by WordPress.org guidelines.
 * Fix: The chat widget no longer sends authentication cookies/nonce on the public
   chat request, preventing a “security layer is blocking the chat (HTTP 403)” error
   on cached pages.
 * Docs: Documented the Google Gemini and Anthropic Claude APIs as external services
   used in BYOK mode (with terms and privacy links).

#### 1.7.24

 * Fix: All admin scripts and styles now load via the WordPress enqueue system (
   wp_enqueue_script / wp_add_inline_script) as required by WordPress.org guidelines.
 * Fix: The “Powered by Zaffro” branding link in the chat widget footer is now opt-
   in — disabled by default, with a new toggle in Settings  Appearance.
 * Fix: Added Requires Plugins: woocommerce header to declare the WooCommerce dependency.
 * Fix: Facebook Graph API (Messenger/WhatsApp channel) documented as an external
   service in the readme.

#### 1.7.23

 * New: Shop category selector — choose your industry (SaaS/plugin sales, jewellery,
   furniture, food & drink, gardening, B2B, or general retail) and the AI assistant
   automatically adapts its tone, sales style, and product presentation to match.
 * Fix: The AI assistant now correctly reads WooCommerce products and applies the
   selected industry persona; a proxy architecture change in 1.7.20 had broken this
   behaviour on existing installs.
 * Improvement: One-time automatic migration clears any legacy system-prompt text
   inserted by older plugin versions, preventing duplicate instructions.

#### 1.7.22

 * New: Admin sandbox — send a test message directly from the settings page to preview
   exactly how the AI will behave with your current configuration, before any customer
   sees it.
 * New: Prompt configuration versioning — every save creates a timestamped snapshot
   so you can review what changed and roll back if needed.

#### 1.7.21

 * New: Structured AI behaviour settings — configure tone (formal/friendly), customer
   addressing form, negotiation strategy (conservative/balanced/aggressive), discount
   trigger, minimum cart value for negotiation, bundle suggestions, forbidden topics,
   and escalation mode — all from the admin panel without touching the system prompt.
 * New: Advanced prompt field (L3) — a 1,500-character free-text area for merchant-
   specific instructions, sanitised server-side against prompt-injection patterns
   before use.

#### 1.7.20

 * Security: Layered prompt protection (Phase 1) — the AI system prompt is now assembled
   server-side in a locked sandwich architecture (immutable header + admin-configured
   fields + immutable footer), so core instructions cannot be overwritten by a prompt-
   injection attempt embedded in a customer message or the merchant’s own text.

#### 1.7.19

 * Fix: Multi-product checkout with zero-discount orders — empty coupon tokens are
   now accepted, so mixed-price bundles reach the checkout page correctly.
 * Fix: Free/gift products (price = 0) now add to cart correctly under Zaffro checkout;
   WooCommerce previously rejected them as “not purchasable”.
 * Fix: Automatic language detection now reads the site language (WPLANG option)
   instead of the current user’s locale, so the widget translates correctly on the
   storefront regardless of the admin’s language setting.
 * Fix: Server-side coupon text and “free” labels now translate to Hungarian on 
   Hungarian-language sites.

#### 1.7.18

 * New: Multi-product checkout — the assistant can negotiate and check out multiple
   products in a single conversation, applying one shared discount across the entire
   cart.
 * Improvement: Chat widget launcher text is now fully internationalised — labels
   display in the active site language without requiring a translation file.

#### 1.7.17

 * Security: Messenger and WhatsApp webhooks are now verified with a cryptographic
   signature (Meta App Secret), so only genuine messages from Meta are processed.
   Action required if you use Messenger/WhatsApp: enter your Meta App Secret under
   Settings  Channels — until then those webhooks stay locked.
 * Security: The chat endpoint now has built-in rate limiting to prevent abuse and
   runaway API usage. Normal conversations are unaffected.

#### 1.7.16

 * New: Customer account page — log in with a one-time “magic link” sent by email(
   no password needed), view your subscription on a personal dashboard, and activate
   your licence on your store domain directly from the account area.

#### 1.7.15

 * Maintenance: Translation-readiness and code-quality improvements (added translator
   comments and internationalisation fixes) in preparation for the WordPress.org
   plugin directory.

#### 1.7.14

 * Fix: Update loop — after a successful plugin update the “new version available”
   badge could reappear immediately due to a stale cached server response. The plugin
   now detects that the installed version is already current, clears the stale cache,
   and removes the badge correctly.

#### 1.7.13

 * Improvement: Widget logo (white-label) is now restricted to the Enterprise plan—
   visible in settings but locked for Free / Starter / Pro / Agency accounts, with
   an Enterprise upgrade note.
 * Fix: “Online” and “Typing…” status indicators now correctly display in Hungarian(
   and any other translated language) instead of always showing in English.

#### 1.7.12

 * New: Connection diagnostics — a one-click test on the settings page checks whether
   the chat can reach the WordPress REST API, so a hosting firewall/WAF blocking/
   wp-json/ is identified instantly instead of being mistaken for a plugin fault.
 * Improvement: Clearer chat error messages — when a firewall or hosting security
   layer blocks the request, the widget now reports the HTTP status and points to/
   wp-json/ instead of showing a generic “Network error”.

#### 1.7.11

 * New: WooCommerce Subscriptions support — the assistant detects subscription products
   in your catalogue and presents recurring pricing correctly during negotiation.
 * New: Subscription-aware coupons — discounts on subscription products are generated
   with the correct recurring/once-off behaviour, configurable per product.
 * New: Subscription-aware add-to-cart and AI prompt context, so the assistant never
   offers an invalid one-off checkout for a recurring product.
 * Improvement: Graceful fallback when WooCommerce Subscriptions is not installed—
   subscription logic is skipped cleanly and standard products work as before.

#### 1.7.10

 * Fix: “Purchase a licence” and upgrade call-to-actions now point to the dedicated
   pricing page (zaffro.ai/pricing, or /arazas on Hungarian sites) where you can
   subscribe directly — previously they led to the homepage trial funnel, leaving
   no clear path to pay.

#### 1.7.9

 * New: Trial expiry experience — escalating admin reminders (7  3  1 days) as a
   14-day trial nears its end, with a one-click subscribe call-to-action and the
   lifetime 20% coupon code.
 * New: Expired trial now shows a clear “subscribe to switch the chat back on” notice
   instead of silently going inactive.
 * Improvement: Conversion link and coupon are served by the license API, so they
   can change without a plugin update.

#### 1.7

 * New: Analytics event tracking — wp_zaffro_events table logs chat_started, coupon_offered,
   checkout_offered, order_completed events (session hash only, no PII)
 * New: Revenue & ROI dashboard section — orders closed, revenue generated, discounts
   given, avg discount %, close rate, revenue/discount ratio
 * New: WooCommerce order hook — links completed orders to Zaffro sessions via coupon
   meta (_zaffro_session_hash)

#### 1.6

 * New: Free tier support — plugin works without a paid license key (shared API 
   key, 50 negotiations/month limit)
 * New: Monthly negotiation limit enforced server-side for Free plan users (per 
   distinct session)
 * Fix: Chat widget enable/disable option no longer resets to empty string on every
   Settings save
 * Fix: Chat header logo now renders correctly instead of displaying raw HTML markup
 * Fix: Chat widget visibility condition corrected — empty string value treated 
   as enabled

#### 1.5

 * New: Stripe subscription management — customers can update payment method, download
   invoices, or cancel via [zaffro_manage_subscription] shortcode
 * New: Stripe Customer Portal redirect endpoint
 * New: Onboarding wizard auto-creates the subscription management page on step 
   5
 * Fix: Portal error messages now redirect back to the shortcode page instead of
   homepage
 * Fix: WordPress Coding Standards (PHPCS WordPress-Extra) — zero errors across 
   all plugin files

#### 1.4

 * Fix: All remaining Hungarian strings replaced with English throughout the plugin(
   catalog, coupon generator, system prompt, JS widget)
 * Fix: Currency symbol dynamically loaded from WooCommerce instead of hardcoded
   as Ft
 * Fix: Date format now uses WordPress locale-aware date_i18n() instead of hardcoded
   Hungarian format
 * Fix: Coupon i18n — msgids changed to English so WordPress translation lookup 
   works correctly on non-Hungarian sites
 * Fix: Admin debug info removed from customer-facing WooCommerce notices
 * Fix: Email webhook authenticated with timing-safe hash_equals()
 * Fix: Onboarding wizard Skip buttons use POST form submission instead of plain
   links
 * Fix: Agent name flash on chat widget load (name now set only when non-empty)
 * Fix: License status label key mismatch corrected; Last checked timestamp added
 * Fix: readme.txt — corrected admin menu path (ZaffroAI, not WooCommerce  Zaffro)
   and analytics metrics
 * New: Stripe trial period days configurable in admin settings (was hardcoded at
   14 days)

#### 1.3

 * New: Analytics dashboard — sessions, conversions, AI buyer rate, model usage,
   daily trend chart
 * New: Conversation log — full message history with AI summary generation per session
 * New: 5-step onboarding wizard — shop details, industry template, discount slider,
   live test chat
 * New: GDPR tooling — WP Privacy API export/erasure, PII masking before DB write
 * New: Session DB cleanup cron — configurable retention (7–365 days)
 * New: Custom update checker for direct-download builds (not applicable on WP.org)
 * Security: Dev API keys moved to gitignored config file (filter-based)
 * Fix: Text domain normalised to `zaffro` throughout
 * Fix: All user-facing strings wrapped in i18n functions; Hungarian .po/.mo updated

#### 1.2

 * New: Cloud proxy architecture — API keys stay on Zaffro servers
 * New: Gemini 2.5 Flash as default model
 * New: Gemini 2.5 Pro as upgraded model
 * New: Checkout button without coupon (`[CHECKOUT:PRODUCT_ID]` tag)

#### 1.1

 * New: WooCommerce coupon generation via `[COUPON:ID:PERCENT]` tag in AI response
 * New: Manual product list / non-WC catalogue (`{{catalog}}` admin text field)
 * New: AI buyer detection — 7 heuristics, configurable threshold
 * New: System prompt onboarding wizard with 10 industry templates

#### 1.0

 * Initial release — chat widget, WooCommerce product context, one-click checkout

## Meta

 *  Version **1.7.25**
 *  Last updated **9 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[chatbot](https://wordpress.org/plugins/tags/chatbot/)
   [discount](https://wordpress.org/plugins/tags/discount/)[sales](https://wordpress.org/plugins/tags/sales/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/zaffro-ai-sales-agent-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/zaffro-ai-sales-agent-for-woocommerce/reviews/)

## Contributors

 *   [ Sándor Koszecz ](https://profiles.wordpress.org/koszecz/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/zaffro-ai-sales-agent-for-woocommerce/)